ホームページ >バックエンド開発 >XML/RSS チュートリアル >XML タグのセマンティクス
[要約] XML 文書型定義は、XML 言語の構文を機械可読形式で記述することができるメカニズムを提供しますが、現在、XML 語彙の特定のセマンティクスを指定する同様のメカニズムはありません。これは、XML タグの意味を説明する方法がなく、XML によって表現される事実と関係を明確かつ包括的かつ規範的に定義できないことを意味します。これは、現実的かつ理論的に重大な影響を及ぼします。良い面としては、XML 構造に任意のセマンティクスを与えることができ、元の設計者が予期しない領域で使用できることです。あまり良い面ではありませんが、コンテンツ開発者とソフトウェア エンジニアは当たり障りのないドキュメントに頼らなければならないか、さらに悪いことにマークアップ言語設計者の意図を推測することに頼らなければなりません。このプロセスは時間と労力がかかり、エラーが発生しやすいため、検証することができません。たとえデザイナーのオリジナルの文書化作業が完璧に行われていたとしても、依然として満足できない状況が発生することはあります。さらに、マークアップの意味論的性質に関する研究が不足しているということは、工学アプリケーションの分野に属するデジタル文書処理には理論がまったく存在しないことも意味します。進行中のいくつかのプロジェクト (XML スキーマ、RDF、セマンティック Web) はある程度の成果を上げていますが、これらのプロジェクトはいずれも XML マークアップ セマンティクスの中核問題を直接的かつ包括的に解決するものではありません。この記事では、マークアップの意味の概念の発展の歴史を振り返り、XML の形式的意味論を解釈する動機を明らかにし、意味論に関する科学研究プロジェクトである BECHAMEL マークアップ セマンティクス プロジェクトを紹介します。
[キーワード] SGML XML マークアップ意味論的知識表現
1 はじめに
近年、デジタル出版の発展、World Wide Web アプリケーションの急増、電子商取引の急速な発展により、私たちの日常の社会、ビジネス、文化、彼らは皆、標準汎用マークアップ言語 (SGML) と拡張マークアップ言語 (XML) のテキスト マークアップ システムを使用し始めました。 SGML/XML は、記述マークアップ言語を定義する機械可読テクノロジです。特別な処理が必要な一部の部分を除いて、この言語は文書の構造とその根底にある意味を明確に定義します。 SGML/XML は急速に発展しており、このテクノロジを広く使用することで、高パフォーマンスのドキュメントの相互運用性の処理と公開をサポートできます。
この美しい願いは部分的に実現されましたが、SGML/XML の優位性は人々の期待を超えていますが、SGML/XML ドキュメント システムの機能、相互運用性、多様性、アクセシビリティはまだ改善の必要があります。この機会を捉えなければ、その結果は非常に深刻になります。業界は多額の財政コストを費やし、多くの機会を失いました。また、障害のある人々にとって重要な安全用途において何らかの惨事につながる可能性があり、障害のある人々の平等なアクセスが妨げられます。現代社会の文化的および商業的利益に貢献します。さらに、長年にわたる問題により、現在の最良のデジタル ドキュメント モデルにはまだ欠陥があるか、少なくとも不完全であることがわかります。これらの問題の根本は、SGML/XML はドキュメントに意味のある構造を提供できるものの、SGML/XML はドキュメントのコンポーネントとトピックの間の基本的な意味関係を体系的かつ機械で処理可能な方法で表現できないことです。 SGML/XML は機械可読な「文法」の記述をサポートしていますが、特定の文法の意味的意味を説明するメカニズムを提供していないため、SGML/XML 語彙の潜在的な意味を正式に表現する方法はありません。現在の SGML/XML は、文書注釈システムに関する非常に単純な基本的な意味論的事実さえ表現できません。これらの事実は、通常、マークアップ言語の設計者によって事前に設計されていますが、具体的な実装は依然としてマークアップ言語のユーザーとソフトウェアに依存しています。
この表現力の欠如により、SGML/XML ユーザーは、マークアップ言語設計者が考えたが正式には表現しなかった意味関係を推測する必要があります。コンテンツ開発者は、コンテンツがエンコードされるときにデザイナーの意図を推測し、その推論に基づいて作業する必要がありますが、その推論や意図を他の人やエンコードされたコンテンツを処理するアプリケーションに明確に表現することはできません。ソフトウェア設計者は、マークアップ言語設計者の考えられる意図を推測し、この推測をソフトウェア ツールやアプリケーション システムに設計する必要もあります。場合によっては、二次的な推測が必要になることがあります。ソフトウェア設計者は、マークアップ言語設計者の意図をコンテンツ開発者が推測することを推測する必要があります。
明らかに、これらの推測は不完全で、誤りがあり、証明されていません。さらに、作成および実装プロセスには時間と労力がかかり、機能性や相互運用性も貧弱です。一般的な自然言語ドキュメントに SGML/XML 仕様を装備しても、この問題は完全には解決されません。もちろん、通常の自然言語ドキュメントはコンテンツ プロバイダーやソフトウェア エンジニアにいくつかのヒントを提供できますが、現時点では SGML/XML ドキュメントに関する一般的なルールはありません。いずれにせよ、通常の自然言語ドキュメントは機械可読形式ではなく、これが SGML/XML マークアップ システムについて話している問題です。
SGML および XML に関連する機械処理可能な意味論的記述のアイデアはまだ形成されておらず、これが工学分野における現在の問題の原因であり、関連する意味論的研究もほとんどありませんが、多くの学者が取り組んでいます。この問題に注目し始めました。 W3CSchema に関する作業はこれに関連していますが、この問題のごく一部 (データ型など) のみをカバーしています。 W3Cの「Semantic Web」プロジェクトもこれに関連するが、一般的なXMLベースの知識表現技術の開発を目的としている。私たちの研究は、実際の文書処理システムに隠されている文書マークアップのセマンティクスに焦点を当てています。セマンティック Web の本質はセマンティック タグの設計にあると言われるかもしれませんが、本稿では、上記の問題を解決するには、タグの本質的な意味についても深く考える必要があると考えます。
次に、この記事では、まず歴史的背景からタグの意味を説明します (マーカーはテキスト処理方法の開発において興味深い役割を果たしました)。次に、どのような要因が正式なセマンティック タグの必要性を生み出すのか、またどのような要因がセマンティックを決定するのかについて詳しく説明します。最後に、複数の機関が参加している研究プロジェクトである BECHAMEL マークアップ セマンティクス プロジェクトについて簡単に紹介します。このプロジェクトは、マークの意味論的問題の解決に熱心に取り組んでいます。
2 歴史的背景
文書の「マーク」はおそらく、初期の執筆、コピー、出版、印刷を含むコミュニケーション システムの一部として数えられるでしょう。しかし、デジタル テキスト処理と植字の発展により、マークの使用は意識的になり、それはシステム開発における重要な革新分野となっています。 1960 年代から 1980 年代は、デジタル写植とテキスト処理の有効性と機能の向上に焦点を当てた、文書マークアップ システムの包括的かつ体系的な開発の時期でした。 1980 年代初頭、人々はまだマーキングとそれを使用して高性能システムの開発をサポートするための理論的フレームワークの開発に取り組んでいました。この分野の結果の一部は公開されていますが、そのほとんどは、さまざまな標準形式で実用的な文書や製品に記録されるだけです。
この段階で浮上した見解は、知的成果としての文書は、一連のオブジェクト (章、段落、数式など) の順序付けられた階層構造モデルとして抽象化する方が適しているというものです。テキスト文字の 1 次元ストリーム。文字ストリームは、フォーマット、デザイン レイアウトを記述する構造 (ページ番号、列、印刷行など)、ピクセル値の行列、およびさまざまなドキュメント処理およびストレージ システムにおけるその他の潜在的な表現を定義する多数のエンコーディングと混合されることがよくあります。 。順序付けされた階層構造モデルは、2 つの本質的に異なる注釈、つまり、編集テキスト オブジェクト (タイトル、章など) を識別する注釈と、レイアウト要件を説明する注釈を要約します。前者の適用により、ある程度の成果が得られました。タイトル、章、段落、方程式、引用などの関連する文書要素は、区切りタグによって明確にマークすることができ、要素は要素タイプにマップされたルールを通じて間接的に処理できます。このコンテンツとフォームの分離により、一般的な組み合わせ経済における基本レベルの間接化と抽象化が可能になります。この形式の分離は、文書処理のあらゆる側面において非常に多様で実用的な価値があり、さらに重要なことに、文書とは正確に何なのかという問題を明らかにするようです。これを行うために使用される記述マークアップは、要素の範囲をマークするだけでなく、ドキュメント モデルが明らかにしたい意味も伝えます (たとえば、このテキストは章です)。
1980 年代初頭、アメリカ国立標準化研究所 (ANSI/ISO) は、影響力のある SGML 文書マークアップ メタグラマーをリリースし、マークアップと文書構造に関するこれまでの理論的および分析的研究を整理しました。 SGML は、記述マークアップ言語を定義するための機械可読形式を提供します。メタ文法として、SGML はマークアップ言語を定義しませんが、機械可読マークアップ言語を開発するための技術を詳しく説明します。この定義の中核は、Backus-Naur Form (BNF) に似た形式的な表現メカニズムです。このメカニズムには、型付きプロパティとその値を定義するためのルールだけでなく、さらなる抽象化と間接化のための他の設計も含まれています (Document Type Definitions (DTD) および Backus-Noel A によるパラダイム類似度の要約に関するコメントを参照してください)。構造的には、SGML ドキュメントは、順序付けられた分岐とラベル付けされたノードを持つツリーであり、対応する DTD の正式な成果物です。
長年の分析と実践を経て、SGML の背後にある基本的な考え方はすでによく知られています。メタ構文レベルでの業界レベルの標準と語彙レベルでのローカライズされたイノベーションを利用して、SGML の独自のメカニズム (backus-norr パラダイムのようなメタ構文、型付き属性/属性値のペア、エンティティ参照など) が適用されます。プログラムとツールは効率的に実装されます。 SGML マークアップ言語自体は、ドキュメント システムの設計、実装、使用のための理想的なワークフローをサポートおよび最適化しながら進化しているようです。 1980 年代半ばから 1990 年代初頭にかけて、多数の SGML ベースのアノテーション システムが開発されました。
SGML の開発は大きな注目を集めましたが、アイデアは素晴らしく、複数の分野で実装に成功しましたが、最初の 10 年間はほとんど誰もそれを使用しませんでした。この結果には多くの要因がありますが、最も重要なことは、SGML 自体が複雑すぎることです。特に、SGML には多くの複雑なオプション属性が含まれており、対応するソフトウェアがそれらを実装する必要がないため、開発が非常に遅くなる可能性があります。 SGML ソフトウェアの。さらに悪いことに、ドキュメントが DTD で検証されていない場合、それ以上の分析は不可能になります。略語制御とは、文書の構文に関係なく要素の境界を決定できないことを意味します。さらに、SGML には他の属性も含まれているため、既存の構文解析ツールが形式的な文法に適用できなくなり、効率的な構文解析を実行できなくなります。
オンライン パブリッシングとコミュニケーションの観点から、SGML システムは HTML (ハイパーテキスト マークアップ言語) に適用できます。 HTML の元のバージョンは大まかに定義されており、正式な構文の指示がありませんでした。その後、HTML の SGMLDTD に関心が集まり、「正しい」慣行となったものに合わせて DTD を設計するのは難しいことが判明しました。さらに重要なのは、元の HTML 仕様では、ベンダーが主要な説明タグ (
XML マークアップ ドキュメントの次の断片を参照してください
化学マークアップの構造に精通している読者は、ドキュメント要素内のタグ P が段落を表すことを自然に知っているでしょう。そして、title 要素の後の段落コンテンツは text の本文を形成します。これは、header 要素の後に始まり、段落終了タグの前で終わります。タグの意味と使用法はすぐには分からないため、作成者または読者はタグ コレクションのドキュメントを参照できます
明らかなタグは、人間の読者の利便性を考慮して設計されています。これらのタグは、ドキュメント パーサーを使用してデータ構造から抽出することはできません。図 1 に示すように、解析ツリー (スタイルシート プログラマが使用) には、見出し、引用、および引用の前後のテキストが表示されます。これらはそれぞれ段落の個別の子ノードですが、解析ツリーでは、以下の特徴があります: 見出し これは段落全体の属性であり、テキストは内容構造の 2 つの部分であり、引用はテキスト内に埋め込まれます。
実際、データ構造自体には、段落と引用、またはそれらに関連するものとの区別はありません。データ構造は、「段落」値を持つ汎用識別子のような、単に関連情報のグラフィカル構造です。プログラムは、文書の意味と使用されているタグの間の一貫性を推測し、ツリー構造がある形式から別の形式に変換されるときにこの知識を活用できなければなりません。ただし、この変換 (たとえば、XSLT、DSSSL、または C++ などのプログラミング言語による) は、明示的なエンコーディングではなく意味論的な推論に依存します
図 2 は、セマンティック知識を活用して構文ツリーを強化および強化する方法を示しています。知識表現技術を利用すると、全体と部分の関係をより高いレベルでコード化することができ、コンピュータ処理に適したものとなります。この図は、従来のセマンティック ネットワーク表現方法を示しています。もちろん、フレームワーク表現、ルール表現、形式文法、ロジックベースの表現など、他の方法も開発中です。セマンティック Web プロジェクト (この記事のパート 8) の開発により、マークアップ言語自体に適切な表現方法が提供される可能性もあります。問題の核心は、従来の XML/SGML パーサーではモデル化および強制できない抽象化、関係、および制約の階層を確立することです。
機械可読ファイル (DTD や構文構造など) のエンコーディングの知識を使用して、ドキュメントの意味上の制約を検証し、アプリケーションにより強力なドキュメント モデルを提供できます。これらのより表現力豊かな表現方法は、より優れた文書処理システムの設計と実装を強力にサポートします。
6 アプリケーション
近年、多くの新技術の開発により、従来の構造化アノテーションがますます普及しています。これらのテクノロジーは、情報管理において主に次の側面に重点を置いています。
変換して参加してください。 SGML/XML 開発者にとって、最も一般的な仕事は、あるアプリケーション構文から別のアプリケーション構文に変換するための変換フォームを設計することです。これは、ファイルの新しい表現を作成するため、またはデータベースへの保存を容易にするために行われます。場合によっては、開発者は、それぞれが相互運用不可能なマークアップ言語で表されるデジタル ドキュメントの大規模なコレクションを統合または適応させる必要があります。変換のサイズに関係なく、従来の解決策は、解析ツリーに直接作用する変換プログラミング言語を使用することです。ソースファイルの解析で生成された木構造は、ターゲット言語の木構造インスタンスに変換されます。変換されたツリーは、新しいドキュメント インスタンス、グラフィックス、またはオーディオにシリアル化されます。
情報島。この問題は上記の変換問題に非常に似ていますが、目的は、ある形式のドキュメントを別の形式のドキュメントに変換することではなく、ドキュメントまたはドキュメントの断片の分散ストレージを可能にして、共通の透過的なアクセス インターフェイスをシステム ユーザーに提供できるようにすることです。ドキュメントをあるマークアップ言語から別のマークアップ言語に逐語的に変換する必要はありませんが、システムは、ドキュメントのエンコーディングが大きく異なる場合でも、ドキュメントのコンテンツがシームレスに融合しているように見えることを保証できなければなりません。
可用性。オーサリング ツールでは構造化マークアップがますます採用されており、視覚障害のあるユーザーにとってデジタル ドキュメントにアクセスする際の恩恵となっています。宣言型マークアップを使用すると、スクリーン リーダーや点字ディスプレイを使って読むことができ、グラフィカルな手がかりを利用するのではなく、ニーモニックを使って推論することができます。ただし、現在、そのようなアプリケーションは、ユーザー自身の機能やインターフェイス ソフトウェア、および独立したタグの内容や文法に基づく構造推論に依存する必要があります。タグ セットのドキュメントで説明されているように、タグの構文の制約とタグの意味と使用は、ドキュメントの作成者の信頼性に厳密に依存します。残念ながら、作成者はタグを誤用することがよくあります。最悪の例は、Web ページ上の特定のレイアウトをマークするために「head」タグを使用することです。
安全な取り扱い。より表現力豊かなマークアップ スキーマ言語 (W3C の XML スキーマ言語など) の開発の原動力の 1 つは、マークアップ エラー、誤用、悪用が、不適切にフォーマットされた出力よりもはるかに深刻な結果をもたらすという認識です。宣言型マークアップは電子商取引だけでなく、医療記録や航空業界などの安全な情報分野でも使用されています。これらの分野の開発者は、デジタル ドキュメントの文法構造が標準化されていることを確認するだけでなく、ドキュメントの安全な処理、保存、送信、プレゼンテーションを保証するために特定のセキュリティ プロトコルに準拠していることも確認する必要があります。
マークアップ セマンティクスの 7 つの利点
BECHAMEL プロジェクトの現在の研究結果は、マークアップ セマンティクスが次の方法で上記の問題を解決できることを示しています。
宣言的で機械可読なセマンティック記述。現在の実際の状況に関する限り、構造化マークアップ言語の設計者は自然言語テキストを使用してタグの意味を表現し、タグの適切な使用法を明確にしています。正式なマークアップ セマンティック システムにより、オントロジー間の関係がコンピューター プログラムによって明確に表現され、自動処理が可能になります。
仮説の検証。正式なタグのセットがないドキュメント環境では、タグのセマンティクスを解釈する機能を備えたシステムが、推測をテストし、仮説を検証するための環境を提供します。この環境では、マークアップ言語の非公開ユーザーは、ドキュメント データベースに一貫して適用されていると信じているプロパティとルールについて推測します。次に、文書処理ソフトウェアは、想定されたルールと互換性がある文書要素または互換性のない文書要素を取得します。
セマンティック制約の強化。妥当性検証をサポートするパーサーは、従来のセマンティック パーサーのように構文検証を完了できるだけでなく、セマンティクスを検出または作成する際に推測を検証することもでき、セマンティック制約を強制することもできます。この操作は仮説検証と一致しますが、この場合、意味論的な制約は既知であり、標準的です。
最適化され、より表現力豊かな API。マークアップ セマンティクスは、SGML および XML アプリケーションを使用してデジタル ドキュメントを変換または表現するときに使用されます。ただし、より高いレベルのプロパティと関連付けは、プログラムが実行された場合にのみ明らかになります。形式的で機械可読なセマンティクスは、アプリケーション インターフェイスを強化し、マークアップ言語の開発と変更によりソフトウェア設計をスピードアップします。これらのソフトウェアはより便利で安全に保守できるようになります。
8 関連研究
上記の課題や問題に対応して、他にも多くの文書処理技術、標準、研究計画が存在します。次に、これらの問題に対処しようとする既存のアイデアを確認します。
セマンティックウェブ。セマンティック Web とは、マークアップや知識表現テクノロジに関する現在のアイデアのような、相互に関連した多くの研究と標準化の取り組みを指します。中心となるのは W3C リソース記述フレームワークであり、もちろん ISO のテーマ マップ テクノロジなどの他のテクノロジも含まれています。セマンティック Web は広範囲にわたる野心的な目標を掲げており、普遍的な知識表現技術を使用してマークアップ言語を改善し、それによって「人類の知識の包括的な発展を促進する」ことを目指しています。セマンティック Web の研究と標準化は、現在の考え方とは異なります。つまり、特定の分野の意味論的な記述ではなく、すべての分野の知識の意味論的な注釈を実現することを目的としています。現在の研究目標は、「一般的なセマンティック マークアップ」ではなく、「ドキュメント マークアップ セマンティクス」に特に焦点を当てています。セマンティック Web テクノロジーの進歩により、セマンティック Web マークアップ言語を使用してタグのセマンティクスをエンコードできるようになります。
W3C のドキュメント オブジェクト モデル。ドキュメント オブジェクト モデルは、XML ドキュメントの分析後に生成される階層データ構造であるアプリケーション プログラミング インターフェイスです。人々は、DOM によって提供されるマークアップ構文関連のフォームと同様に、マークアップ セマンティクスのためのさまざまなインターフェイスを提供できるシステムを設計し、最終的には W3C の構文 DOM を補足する「セマンティック DOM」を形成したいと考えています。
W3C スキーマ。 XML スキーマは、従来の DTD を置き換え、XML ドキュメントを制約するために使用できる XML ベースの言語です。この言語の開発は、BECHAMEL プロジェクトで直面した問題と同様の DTD の制限によって推進されました。スキーマを使用すると、ドキュメント クラスの設計者は、高級プログラミング言語と同様に、複雑なデータ型を定義できます。ただし、タグ セットのドキュメント内のすべての関係と制約をエンコードするには、現在の XML スキーマよりも強力な表現形式も必要です。ハイパーメディア/時間ベースの構造化言語 (HyTime) のアーキテクチャ形式。適応可能なアーキテクチャ技術は、さまざまなマークアップ言語アプリケーションが、スタイルは異なるが意味的には同等の構造でエンコードされることが多いという認識から生まれています。スキーマ フォームを使用すると、ドキュメント クラスの設計者は、独自の特定の要素インスタンスを、異なるアプリケーション間でマッピングしやすい、より一般的なスキーマ インスタンスにマッピングできます。これらのマッピングは実際に意味論的知識の制約された形式を表しており、上記の変換と統合の課題を解決するのに役立ちます。 BECHAMEL プロジェクトは、部分的には、建築形式よりも意味論的な関係を表現するモデルを構築することを目的としています。
上記は XML タグのセマンティクスの内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。