整形式で有効なXMLを書く方法を学ぶ
例を見て整形式XMLを書く方法を理解することがより簡単になることがあります。 Web Writerのニュースレターは、XMLのフォームを使って書かれています。私はそれをAMLまたはAbout Markup Languageと呼んでいます。 これは実際の文書ですが、実際には整形式でも有効なXML文書でもありません。
よく形成された
整形式XML文書を作成するためのいくつかの具体的な規則があります。
- すべての文書でXML宣言が最初に来なければなりません。
- コメントはタグ内では無効です。 コメントは、コメントの先頭と末尾以外の2つのハイフンを1行に含むことはできません。
- タグには終了タグが含まれている必要があります。たとえば、
のようにシングルトンタグ自体で閉じられている必要があります。 - 属性自体に二重引用符が含まれていない限り、タグのすべての属性を引用符で囲む必要があります。
- すべてのXML文書には、他のすべての要素を完全に含む1つの要素が含まれていなければなりません。
文書の整形がうまくいかない問題は2つしかありません。
AML文書に必要な最初のものは、XML宣言文です。
<?xml version = "1.0"?>もう1つの問題は、他のすべての要素を完全に囲む要素がないことです。 これを修正するために、外部コンテナ要素を追加します:
<ニュースレター> newsletter>これらの2つの単純な変更を行い(すべての要素がCDATAのみを含むことを保証する)、整形されていない文書を整形式の文書に変換します。
有効なXML文書は、DTD(Document Type Definition)またはXMLスキーマに対して検証されます。 これらは、XML文書のセマンティクスを定義する開発者または標準化団体によって作成された一連のルールです。 これらはマークアップで何をすべきかコンピュータに指示します。
About Markup Languageの場合、これはXHTMLやSMILのような標準的なXML言語ではないため、DTDは開発者によって作成されます。 そのDTDは、おそらくXML文書と同じサーバー上にあり、文書の先頭で参照されます。
ドキュメントのDTDやスキーマの開発を始める前に、XMLドキュメントは自己完結型であるため、DTDは不要です。
たとえば、うまく構成されたAMLドキュメントでは、次のタグがあります。
- <ニュースレター>
-
- <ファイル名>
-
- <セクション1_url1>
-
Web Writerニュースレターに精通している場合は、ニュースレターのさまざまなセクションを認識することがあります。 これにより、同じ標準フォーマットを使用して新しいXML文書を作成するのが非常に簡単になります。 私は常にタグの完全な長いタイトルと、タグの最初のセクションのURLを置くことを知っています。
DTD
有効なXML文書を作成する必要がある場合は、そのデータを使用するか、または処理するために、そのタグとともに文書に組み込みます。 このタグでは、ドキュメント内の基本XMLタグと、DTDの場所(通常はWeb URI)を定義します。 例えば:
<!DOCTYPE newsletter SYSTEM "aml-newsletter.dtd">DTD宣言についての素晴らしいところの1つは、DTDがXML文書が "SYSTEM"であるシステムに対してローカルであることを宣言できるということです。 また、HTML 4.0ドキュメントなどのパブリックDTDをポイントすることもできます。
<!DOCTYPE HTML PUBLIC " - // W3C // DTD HTML 4.0 Transitional // EN">両方を使用する場合は、特定のDTD(公開識別子)とその場所(システム識別子)を使用するようドキュメントに指示します。
最後に、内部DTDをDOCTYPEタグ内のドキュメントに直接含めることができます。 たとえば(これはAMLドキュメントの完全なDTDではありません):
<!ENTITY meta_tendle(#PCDATA)> <!ENTITY meta_table(#PCDATA)> <!ENTITY long_title(#PCDATA)> <!ENTITYメタ_説明(#PCDATA) !ENTITY meta_keywords(#PCDATA)> <!ENTITYセクション1(セクション1タイトル|セクション1リンク1 |セクション1_url1 |セクション1_注釈1 |セクション1_toc1>XMLスキーマ
有効なXML文書を作成するには、XMLスキーマ文書を使用してXMLを定義することもできます。 XMLスキーマは、XMLドキュメントを記述するXMLドキュメントです。 スキーマの作成方法を学びます。
注意
DTDまたはXMLスキーマを指すだけでは不十分です。 ドキュメントに含まれるXMLは、DTDまたはスキーマの規則に従う必要があります。 検証パーサーを使用するのは、XMLがDTD規則に従っているかどうかを確認する簡単な方法です。 あなたはそのようなパーサーをオンラインで多く見つけることができます。