概要:
導入
1. XML文書に関する用語
2. DTDに関する用語
導入
初心者が XML を学習する際に最も厄介なことは、理解すべき新しい用語の概念がたくさんあることです。 XML 自体もまったく新しいテクノロジーであるため、組織や主要なネットワーク企業 (Microsoft、IBM、SUN など) は常に独自の洞察と標準を導入しており、新しい概念が登場するのは驚くべきことではありません。どこにでも飛んでいます。中国にはこれらの用語を正式に命名する権威ある機関や組織はなく、XML に関する中国の教科書のほとんどは著者自身の理解に基づいて翻訳されており、これが XML の発展をさらに妨げています。これらの概念の理解と学習。
以下に示す XML 用語の説明も、著者自身の理解と翻訳です。 Ajie は、W3C 組織によってリリースされた XML1.0 標準仕様および関連する公式ドキュメントに基づいています。これらの理解は基本的に正しい、少なくとも間違っていないことは保証できます。さらに読んで理解したい場合は、この記事の最後にソースと関連リソースへのリンクをリストしましたので、直接アクセスしてください。さて、本題に入りましょう:
1. XML文書に関する用語
XMLドキュメントとは何ですか? HTML ソース コード ファイルをご存知ですか? XML ドキュメントは、XML タグで記述された XML ソース コード ファイルです。 XML ドキュメントは、メモ帳を使用して作成および変更できる ASCII プレーン テキスト ファイルでもあります。 XML ドキュメントの接尾辞名は .XML です (たとえば、myfile.xml)。 IE5.0以降のブラウザを使用して.xmlファイルを直接開くこともできますが、表示されるのは「XMLのオリジナルコード」であり、ページのコンテンツは表示されません。次のコードを myfile.xml として保存してみてください。
<?xml バージョン="1.0" エンコーディング="GB2312"?>
<マイファイル>
<title>XML 簡単学習マニュアル</title>
<著者>アジエ</著者>
<電子メール>[email protected]</電子メール>
<日付>20010115</日付>
</myfile>
XML ドキュメントには次の 3 つの部分が含まれています。
1. XML ドキュメント宣言。
2. 文書タイプの定義。
3. 作成したコンテンツを XML でマークします。
例:
<?xml バージョン="1.0"?>
<!DOCTYPE ファイルリスト システム "filelist.dtd">
<ファイルリスト>
<マイファイル>
<title>XML のクイック スタート</title>
<著者>アジエ</著者>
</myfile>
...
</ファイルリスト>
最初の行 <?xml version="1.0"?> は XML ドキュメントの宣言です。 2 行目は、このドキュメントがドキュメント タイプを定義するために filelist.dtd を使用することを示します。 以下の 3 行目はコンテンツの主要部分です。
XML ドキュメントの関連用語を理解しましょう。
1.要素:
HTML における要素は HTML 文書を構成する最小単位であることはすでに知られていますが、XML においても同様です。要素は、<author>ajie</author> のように、開始識別子と終了識別子とその内容を含む識別子によって定義されます。
唯一の違いは、HTML ではタグが固定されていますが、XML ではタグを自分で作成する必要があることです。
2.タグ(ロゴ)
識別子は要素を定義するために使用されます。 XML では、タグはペアでデータを囲んで出現する必要があります。識別子の名前は要素の名前と同じです。たとえば、次のような要素です。
<著者>アジエ</著者>
ここで、<author> は識別子です。
3.属性:
プロパティとは何ですか?この HTML コード:<font color="red">単語</font>を見てください。その中でも色はフォントの属性の一つです。
属性は、ロゴの詳細な説明と説明です。ロゴには、フォント属性やサイズなどの複数の属性を含めることができます。 XML の属性は HTML の属性と同じです。各属性には独自の名前と値があります。属性は識別子の一部です。例:
<著者 sex="女性">アジエ</著者>
XML の属性も独自に定義されるため、属性を使用せず、属性をサブ要素に変更することをお勧めします。たとえば、上記のコードは次のように変更できます。
<作者>アジエ
<性別>女性</性別>
</著者>
その理由は、属性をプログラムで簡単に拡張したり操作したりすることができないためです。
4.宣言
すべての XML ドキュメントの最初の行には、XML 宣言があります。この宣言は、この文書が XML 文書であること、およびこの文書がどの XML バージョン仕様に従っていることを示します。 XML 宣言ステートメントは次のようになります。
<?xml バージョン="1.0"?>
5.DTD(ファイルタイプ定義)
DTD は、XML ドキュメント内の要素、属性、および要素間の関係を定義するために使用されます。
DTD ファイルを使用すると、XML ドキュメントの構造が正しいかどうかを検出できます。ただし、XML ドキュメントの作成には必ずしも DTD ファイルが必要というわけではありません。 DTD ファイルの詳細な説明は、以下に別途記載します。
6.整形式XML(整形式XML)
XML 構文規則に従い、XML 仕様に準拠した文書は、「整形式」と呼ばれます。すべてのマークアップが XML 仕様に厳密に従っている場合、XML ドキュメントを定義するために必ずしも DTD ファイルは必要ありません。
整形式のドキュメントは、次のような XML 宣言で始まる必要があります。
<?xml version="1.0" スタンドアロン="はい" エンコーディング="UTF-8"?>
その中で、ドキュメントが準拠している XML バージョン (現在は 1.0) を指定する必要があります。次に、ドキュメントが「独立」していること、およびドキュメント内の ID が有効であるかどうかを検証するために DTD ファイルが必要ないことを説明する必要があります。 、ドキュメントで使用されている言語エンコードを指定する必要があります。デフォルトは UTF-8 です。中国語を使用する場合は、GB2312 に設定する必要があります。
整形式の XML ドキュメントにはルート要素が必要です。これは、宣言の直後に作成される最初の要素であり、他のすべての要素はこのルート要素の子要素であり、ルート要素のグループに属します。
整形式の XML ドキュメントのコンテンツは、XML 構文に従って書かれている必要があります。 (XML 構文については次の章で詳しく説明します)
7.有効なXML(有効なXML)
XML 構文規則に準拠し、対応する DTD ファイル仕様に準拠した XML ドキュメントは、有効な XML ドキュメントと呼ばれます。 「整形式の XML」と「有効な XML」を比較していることに注意してください。
XML」の最大の違いは、一方は XML 仕様に完全に準拠しているのに対し、もう一方は独自の「文書型定義 (DTD)」を持っていることです。
XML ドキュメントとその DTD ファイルを比較して、DTD ルールに準拠しているかどうかを確認するプロセスは検証と呼ばれます。このプロセスは通常、パーサーと呼ばれるソフトウェアによって処理されます。
有効な XML ドキュメントは、次のような XML 宣言で始まる必要もあります。
<?xml version="1.0"standalone="no"encode="UTF-8"?>
上記の例とは異なり、スタンドアロン(独立)属性では、対応する DTD で使用する必要があるため、ここでは「no」が設定されます。DTD ファイルは次のように定義されます。
<!DOCTYPE ドキュメントの種類 SYSTEM/PUBLIC "dtd-name">
で:
「!DOCTYPE」は、DOCTYPE を定義することを意味します。
「type-of-doc」はユーザーが定義したドキュメント タイプの名前で、通常は DTD ファイル名と同じです。
2 つのパラメータ「SYSTEM/PUBLIC」のうち 1 つだけを使用します。 SYSTEM はドキュメントで使用されるプライベート DTD ファイルの URL を指し、PUBLIC はドキュメントで使用されるパブリック DTD ファイルの URL を指します。
「dtd-name」は、DTD ファイルの URL と名前です。すべての DTD ファイルには「.dtd」という接尾辞が付いています。
上記の例を引き続き使用しますが、次のように記述する必要があります。
<?xml version="1.0"standalone="no"encode="UTF-8"?>
<!DOCTYPE filelist SYSTEM "filelist.dtd">
2. DTD 関連用語
DTD とは何かについては、上で簡単に説明しました。 DTD は、XML ドキュメントの形式が正しいことを確認する効果的な方法です。XML ドキュメントと DTD ファイルを比較して、ドキュメントが仕様に準拠しているかどうか、要素とタグが正しく使用されているかどうかを確認できます。 DTD ドキュメントには、要素の定義規則、要素間の関係の定義規則、要素で使用できる属性、および使用できるエンティティまたはシンボルの規則が含まれます。
DTD ファイルは、接尾辞 .dtd が付いた ASCII テキスト ファイルでもあります。例: myfile.dtd。
DTD ファイルを使用する理由私の理解では、DTD を使用する最大の利点は、DTD ファイルの共有であると考えられます。 (これは、上記の DTD 記述ステートメントの PUBLIC 属性です)。たとえば、同じ業界で異なる地域に属する 2 人が同じ DTD ファイルを文書作成仕様として使用する場合、データを簡単に交換および共有できます。インターネット上の他の人がデータを追加したい場合は、パブリック DTD 仕様に従ってドキュメントを作成するだけで、すぐに参加できます。
現在、すでに多数の記述された DTD ファイルが利用可能です。これらの DTD ファイルは、さまざまな業界やアプリケーションを対象として、共通の要素とラベルのルールを確立しています。自分でロゴを再作成する必要はなく、それらに基づいて必要な新しいロゴを追加するだけです。
もちろん、必要に応じて、ドキュメントにより完全に一致する独自の DTD を作成することもできます。独自の DTD の作成も非常に簡単で、通常は 4 ~ 5 つの要素を定義するだけです。
DTD ファイルを呼び出すには 2 つの方法があります。
1. XML ドキュメント内に直接含まれる DTD
次のように、いくつかの特別な命令を DOCTYPE 宣言に挿入するだけです。
XML ドキュメントがあります。
<?xml バージョン="1.0" エンコーディング="GB2312"?>
<マイファイル>
<title>XML 簡単学習マニュアル</title>
<著者>アジエ</著者>
</myfile>
最初の行の後に次のコードを挿入するだけです。
<!DOCTYPE myfile [
<!ELEMENT タイトル (#PCDATA)>
<!ELEMENT 作成者 (#PCDATA)>
<!ENTITY copyright "Copyright 2001, Ajie.">
]>
2. 独立した DTD ファイルを呼び出す
DTD ドキュメントを .dtd ファイルとして保存し、DOCTYPE 宣言行で呼び出します。たとえば、次のコードを myfile.dtd として保存します。
<!ELEMENT myfile (タイトル、作成者)>
<!ELEMENT タイトル (#PCDATA)>
<!ELEMENT 作成者 (#PCDATA)>
次に、XML ドキュメント内でこれを呼び出し、最初の行の後に挿入します。
<!DOCTYPE myfile SYSTEM "myfile.dtd">
DTD ドキュメントと HTML での js の呼び出しは似ていることがわかります。DTD ドキュメントの記述方法については、次の章で XML ドキュメントの構文とともに紹介します。
DTD に関連する用語について学びましょう。
1.スキーマ(企画)
スキーマはデータ ルールの説明です。スキーマは次の 2 つのことを行います。
a. 要素のデータ型と要素間の関係を定義します。
b. 要素に含めることができるコンテンツ タイプを定義します。
DTD は XML ドキュメントのスキーマです。
2.ドキュメントツリー
「文書ツリー」については第 2 章ですでに説明しました。これは文書要素の階層構造をイメージで表現したものです。文書構造ツリーには、最上位の要素 (つまり、XML 宣言ステートメントの直後に続く最初の要素) であるルート要素が含まれています。例を見てください。
<?xml バージョン="1.0"?>
<ファイルリスト>
<マイファイル>
<タイトル>...</タイトル>
<著者>...</著者>
</myfile>
</ファイルリスト>
上記の例は、<filelist> がルート要素となる 3 レベル構造の「ツリー」形式に配置されています。 XML および DTD ファイルでは、最初に定義される要素はルート要素です。
3.親要素/子要素
親要素は他の要素を含む要素であり、含まれる要素は子要素と呼ばれます。上の「構造ツリー」を見てください。<myfile> が親要素、<title>、<author> がその子要素、<myfile> が <filelist> の子要素です。 <title> などの子要素を含まない最終レベルの要素は、「ページ要素」とも呼ばれます。
4.パーサー(解析ソフト)
Parserは、XML文書がDTD仕様に準拠しているかどうかをチェックするツールソフトウェアです。
XML パーサーは 2 つのカテゴリに開発されています。1 つは「非確認パーサー」で、文書が XML 構文規則に準拠しているかどうか、および文書ツリーが要素識別子を使用して確立されているかどうかのみを検出します。もう1つは「確認クラスペーザー」で、文書の構文や構造ツリーを検出するだけでなく、使用している要素識別子が対応するDTDファイルの仕様に準拠しているかどうかを比較・分析します。
パーサーは、単独で使用することも、編集ソフトウェアやブラウザの一部として使用することもできます。次の関連リソースのリストには、現在人気のあるパーサーの一部をリストしています。
さて、第 3 章の学習を通じて、XML と DTD の基本的な用語をいくつか学びましたが、これらのファイルをどのように記述するか、どのような構文に従う必要があるかはまだわかりません。次の章で焦点を当てます。 XML の作成と DTD ドキュメントの構文について説明します。引き続き閲覧してください、ありがとうございます!