スマートコンテンツ

XMLに対して、そしてXMLによってコンテンツの再利用と自動化の分野で可能になることについて、1990年代から大きな期待が寄せられていました。

XMLに対して、そしてXMLによってコンテンツの再利用と自動化の分野で可能になることについて、1990年代から大きな期待が寄せられていました。技術パブリッシングなど一部の分野ではその期待が実現しましたが、ビジネスユーザーや知的労働者による主流のコンテンツ作成分野では、20年前と比べてXMLの普及は進んでいません。そして今、コンテンツ制作用の汎用形式としてXMLを採用すべき時期を迎えています。 スマートコンテンツは、その目的のため使用されます。

 

スマートコンテンツとは

スマートコンテンツは、Quarkのコンテンツ自動化プラットフォームの基盤です。 これはオープンで、顧客が設定可能なXMLベースのコンテンツスキーマで、技術者でない作成者でも使い慣れた直感的な環境で、再利用可能なコンテンツコンポーネントを作成できます。 そして、これらのコンポーネントは、印刷、Web、モバイルなど複数のチャンネルで発行するため、動的に組み立てることができます。

スマートコンテンツは、コンテンツタイプに次の特徴のうち1つ以上が当てはまる場合に、最適に展開されます。

  • 類似のドキュメントが大量に存在する。
  • 数多くのリビジョンが存在する。
  • 作成プロセスが頻繁に繰り返される。
  • 政府または企業の規制対象のドキュメントである。
  • 複数のドキュメントにわたってコンテンツを再利用する可能性が高い。
  • データをコンテンツに統合する。
  • 複数の言語に翻訳される。
  • 複数の形式で配信される。
  • 複数の異なるプレゼンテーション形式で配信される。

他のXMLスキーマについて

市場には、オーサリングおよびパブリッシング用のXMLスキーマは数多く存在します。非常に汎用的なものもあれば、業界固有のものもあります。興味深いことに、HTML4および以降のバージョンも、実際には「XHTML」と呼ばれるXMLスキーマの実装です。他の一般的なXMLスキーマには次のようなものがあります。

  • DITA
    技術的なドキュメントのオーサリングおよびパブリッシング用として最も一般的なXMLスキーマです。最初はIBMにより開発され、技術刊行物用の業界標準としてOASISに移管されました。DITAについては、後で詳しく説明します。
  • SPL - 製品構造表示
    米国内で、新しい薬品やパッケージを市場へリリースする前に、承認を受けるためFDAに薬品の標識付け情報を提出するため使用されます。SPL Accelerator for Quark XML Authorでのオーサリングがサポートされています。
  • MSP
    米国、オーストラリア、その他パートナーの諸国で、国土安全保障省における諜報調査の捕捉と共有に使用されている他に、米国政府のほとんどすべての部門で使用されています。Quark Pubs-XML Acceleratorでのオーサリングがサポートされています。
  • Docbook
    DITAの前身で、技術刊行物や参照書籍に多く使用されていました。

これら以外にも多くのスキーマが存在し、一部の企業では自社固有のカスタムスキーマを基礎から定義していますが、これを適切に行うのは非常に多くの作業を要し、困難で、多くのコストが必要です。

これほど多くのXMLドキュメントスキーマが利用可能でありながら、Quarkが新しいスマートコンテンツスキーマを作成した理由について説明します。 最初に、XMLの歴史について簡単に解説しましょう。

XMLの問題点

ドキュメント制作用のXMLが最初に採用されたのは、技術刊行物の業界でした。コンピュータのソフトウェアやハードウェアのドキュメント、目立たない複合体の製造、および一部のプロセス製造において、コンテンツが最終的に印刷形式やPDF、HTML、またTMLHelp、MSHelp、EclipseHelp、WebHelpなどのヘルプシステム形式等で発行される場合に多く使用されています。最も広く使用されたドキュメントXMLスキーマは技術刊行物の業界で作成および使用され、その中には広く知られるようになったDITAスキーマもあります。

その結果、これらのスキーマは非常に強力なツールではあるものの、極めて複雑なものにもなりました。Quarkのプロフェッショナルサービスパートナーの言葉を借りれば、「DITAは素晴らしい。ただし作成者にプログラマのような思考法ができるならば」。これは、仕事の性質上高度な技術的素養を持ち、十分な訓練を受けている技術的な作成者には最適です。また、このような作成者は常時作業を行っています。

しかし、価値の高いコミュニケーションとして、たとえば金融や法律のアナリスト、または製品のマーケティングチームにより作成されるドキュメントの場合、このような作成者は常時作業を行っているわけでもなく、「プログラマのように考える」ことを期待するのは無理です。

これらのオーサリングスキーマはなぜ難しいのでしょうか。多くの場合、これらのスキーマは過剰なほど制限が多いのです。Quarkにおいて、これらのスキーマの1つを初期に採用した弊社の従業員の多くが不満だったのは、コンテンツをドキュメントのある場所からカットして別の場所へペーストする単純なタスクが、アプリケーションによってブロックされることでした。なぜブロックされたのでしょうか。タイトルと段落からなる、次の単純な例について考えてみましょう(ここではXMLタグを表示していますが、ほとんどのXMLオーサリングツールではタグが隠されることに留意してください)。

<title>作り方</title>
<para>最初に<keyword>感謝祭のレシピ</keyword>の材料を用意します。</para>

ユーザーが「<keyword>感謝祭のレシピ</keyword>」というフレーズを選択してコピーし、<title>タグの「作り方」の後にペーストすると、コントロールスキーマでは<title>要素の内部に<keyword>は許されないため、オーサリングツールによってペーストがブロックされるのです。いらいらしそうな制限ですが、さらに悪いことに、貼り付けがなぜ失敗したのかは多くの場合ユーザーには不明であるため、ユーザーは理由を理解できず、ツールに問題があると考えます。

もちろん、訓練を受けた、常時作業を行っている技術的な作成者は何が起こったのかを十分に理解し、使用しているツールで「タグの表示」をオンにして、<keyword>タグを除外し、希望するテキストだけを選択するでしょう。これは単純な例ですが、同様の使用例が多数存在します。これが、Quarkチームが「総体編集」と呼んだ問題であり、ビジネスユーザーにとっては普段慣れているように簡単にオーサリングを行うことができないため、大きな問題となります。

この例は、すべてのXMLオーサリングツールのベンダーが抱えている大きな課題の1つを示したもので、Quarkは技術者でない作成者を対象としているため、特に重要な問題です。 フリーフォームのツールを何年も使用してきた経験を持つユーザーに対して、ルールとコンテンツ構造を導入する必要があります。

さらに、これらのルールを管理し、ユーザーに対して提示するユーザー向け環境を、ツールがあまり複雑にならないように作成することは、非常に困難です。 この理由から、非常に多くのXMLオーサリングツールのユーザー向け環境は、ワードプロセッシングツールと呼ぶよりも、プログラマ向け開発環境に近いものになってしまっています。

ビジネスに重要なコミュニケーションにコンテンツ自動化を適用することは極めて大きな価値を生むため、この課題には取り組むべき価値がありました。 一般に、自動化の価値提案は比較的簡単に説明できます。

  • 自動化によりコストの削減、品質の向上、商品化までの期間の短縮を実現できます。
  • 自動化が成功するためには、入力が正当で予期されるものであることが必要です。よく言われるように、「ゴミを入れても、出てくるのはゴミ」です。

このため、コンテンツの自動化が成功するためには、入力、すなわち作成された説明的なコンテンツが予期されたもので、検証される必要があります。XMLは検証が簡単で、作成者が予期されるコンテンツのみを作成できるため、ここで能力を発揮します。しかし、これはフリーフォームのワードプロセッシングツールとは大きく異なる方向性で、XMLオーサリングツールが最も多くの問題を引き起こす部分でもあります。

ビジネスユーザー、常時作業を行わない作成者、また各分野の専門家で、これまでの業務でずっとMicrosoft WordやGoogle Docsなど自由形式のワードプロセッシングツールを使ってきた人々は、自分たちがどれだけの速さでドキュメントを作成できるか、ドキュメント作成においてどれだけ自由に(多くの場合には完全に自由に)作業できるかを期待しています。このようなタイプの作成者にとって、コントロールされた、行える作業が制限される「構造化」コンテンツオーサリングツールに移行するのは大きな課題です。XMLスキーマが規範的で制限が大きいほど、作成者の期待と、XMLのオーサリングにおける体験との隔たりは大きくなります。Quarkはこの課題を解決するため、スマートコンテンツスキーマを開発することになりました。

Quarkはこの課題を解決するため、スマートコンテンツスキーマを開発することになりました。

スマートコンテンツスキーマの詳細

XMLに習熟した人にとって、スマートコンテンツスキーマは他の多くのXML実装からアイデアを借りてきたものです。中でも重要なのはコンテンツタイプのアイデアで、これはコンテンツクラス、または情報アーキテクチャ形式と呼ばれることもあります。中心となるアイデアは比較的単純です。コンテンツの基本的なタイプの組が存在し、他のすべてのコンテンツは、これらのルートクラスのいずれかに属するものとして記述できます。DITAをよく知っているなら、これはルートクラスの1つの「特殊化」と説明することもできます。ルートクラスとクラス階層は、コンピュータのプログラミング、生物学、物理学、数学などに共通の概念です。

ルートクラスとクラス階層の価値は、ルート要素の処理方法を知っているシステムなら、そのルートのどのような特殊化についても、その特殊化についての知識を前もって知ることなく、基本的な処理を提供できることです。

これは、思ったほど複雑なものではありません。簡単な例として、すべての<para>要素について、上下に空行を入れるべきであることをシステムが認識していれば、システムが<para type=”blockquote”>を含むコンテンツを処理するとき、最低でもBlock Quoteの上下に空行を正しく入れることができます。類似のタイプを持つすべてのコンテンツに適用できる、他の処理ルール、プレゼンテーションルール、ユーザーとの対話操作は数多く存在します。「特殊化」を作成するのは、システムがBlock Quoteを表示するとき、左右のインデントなど、新しい固有の処理を追加できるようにするためです。

これらのルートクラスにはどのようなものがあるでしょうか。スマートコンテンツでは、これらが別のカテゴリとして表され、スマートコンテンツ、DITA、HTMLで使用される用語のいくつかを比較したのが次の表です。

コンテンツタイプ スマートコンテンツ HTML DITA
セクション section div topic
ブロック p p p
インライン tag em、strong、uなど phrase
リスト ul、ol ul、ol list type="type"
テーブル tables table table
画像 image img image
メディア Media video、object object
メタデータ XML meta fragment tag attribute = "value" tag attribute = "value"

これらのルートコンテンツタイプの特殊化が、それぞれのマークアップ言語でどのように処理されるかは、重要な相違点の1つです。

HTML では、ルートHTMLタグの特殊化は通常、CSSフォーマットを駆動するため、またはタグ固有のjavascriptをトリガするために行われ、最も多くの場合は次のように「class」属性を使用してエンコードされます。

<div class="Navigation">…</div>

ただしHTMLには、

をどこでどのように使用できるかについてのルールが少なく、「class」属性の値についてのルールは存在しないため、HTMLは実際には非常に自由形式で、価値の高いコミュニケーションコンテンツのオーサリングには有用ではありません。しかし、Webページやモバイルアプリケーションの表示には優れています。

DITA, では、ルートDITA要素、たとえばの特殊化は次のようにエンコードされます。

<concept class="- topic/topic concept/concept">…</concept>

class属性には冗長な値が設定されているように見えますが、conceptという要素がtopicというクラスに属しており、conceptについて特定の処理が定義されている部分を除いてはtopicとして扱われるべきであるという目標を簡単に識別できます。

スマートコンテンツでは、特殊化は次のようにエンコードされます。

<section type="purpose">

これはHTMLの特殊化手法とよく似ていますが、非常に特化した実装ルールがあり、たとえば標準運用手順のドキュメントのオーサリングでは、各ドキュメントに「目的」のセクションが必ず1つだけ含まれ、その目的セクションはドキュメントのタイトルの後に配置するように制限できます。HTMLではclass属性の使用は制限されず、値の検証さえ行われません。

HTMLとスマートコンテンツでは、要素名が常にクラスのルートであることにも注目してください。すなわち

<section type="mySection"><mySection class="section">と書くことはできません。

DITAユーザーや他のXMLの専門家は「どうしてDITAの手法で特殊化を定義しないのか?」と疑問に思うかもしれません。完全な解答は複雑ですが、簡単に答えると、1つまたは複数のドキュメント間にわたるカット&ペーストによる「総体編集」のサポートを含め、オーサリングを使いやすくするために既に説明した困難点に直接関連しています。

利用可能なXML構文解析ツールのほとんどは、要素名に基づいてドキュメントの構造を検証します(正当な構造とは、使用されているすべての要素がスキーマにより許可され、正当な順序なものを意味します)。また、XMLパーサは構造を検証するときに属性値を無視します。HTML形式の要素の特殊化を使用することで、スマートコンテンツは総体編集を可能にし、ユーザーに快適な環境を提供できます。ユーザーは要素をカット&ペーストでき、ペーストの後で追加処理によって、ユーザーの意識しないところでタイプ属性を収集するか、複数の選択が可能な場合はユーザー向け環境により作成者に対して、正当なタイプを選択するよう求めることができます。

スマートコンテンツスキーマのアーキテクチャが決定された理由は他にも数多く存在しますが、ルートクラスに基づいて代替の処理を行うこの能力が、最大且つ最も重要な理由の1つです。

スマートコンテンツスキーマは、XMLスキーマの用語としては比較的新しいものですが、その開発はQuark、弊社の顧客、およびパートナーによる、XML、コンテンツのオーサリング、パブリッシングについての何年にもわたる知識を基にしています。このスキーマは、多くの顧客によって各種の業界で使用され、大きな成功を収めています。弊社は、スキーマについてのフィードバックを歓迎しており、将来的にはこの仕様を広く公開し、他社が利用できるようにする計画です。このスキーマは、金融、エネルギー、製造、政府などの業界において、数多くの顧客により使用され、成功を収めています。 弊社はスキーマについてのフィードバックを歓迎しており、将来的にはこの仕様を広く公開し、他社が利用できるようにする計画です。

スマートコンテンツソリューションについて詳しくは、Quark Author のページをご覧ください。Quark Author はWebベースのコンテンツ作成ソフトウェアで、Quark Publishing Platform との組み合わせにより直感的なオンラインの オーサリング環境を提供し、各分野の専門家や技術系以外のライターは、コンテンツの作成、プレビュー、発行、再利用を迅速に行えます。