DTD の構文は非常に複雑で、XMLファイルの標準に準拠しておらず、独自のシステムを形成していることがわかります。つまり、DTD ドキュメント自体は、整形式の XML ドキュメントではありません。これは、多くの XML アプリケーションが必要に応じて、DTD ファイルを理解し、簡単な DTD ファイルを作成できるようにすることを目的としています。現在は DTD に基づいて構築されています。DTD のもう 1 つの代替案は、W3C によって定義されたスキーマです
スキーマは、文字通りパターン、アウトライン、計画、計画などに変換できます。その基本的な意味は、XML ドキュメントのスキーマを開発することです。DTD に対するスキーマの明らかな利点は、DTD のような自己完結型の構文を使用するのではなく、XML スキーマ ドキュメント自体も XML ドキュメントであることです。これは、スキーマ専用の特別なツールを使用せずに、同じツールを使用して XML スキーマとその他の XML 情報を処理できるため、ユーザーと開発者にとって便利です。スキーマはシンプルで理解しやすく、XML の構文とルールを理解している人であればすぐに理解できます。スキーマの概念は古くから提案されてきましたが、W3C 標準が登場したばかりで、対応するアプリケーションのサポートはまだ完全ではありません。しかし、スキーマの採用は XML 開発のトレンドになっています。
まず、スキーマの文法構造を学ぶために最も簡単な例から始めましょう:
たとえば、単純な XML ドキュメントは次のとおりです:
<书本> <名称>天涯明月刀 <作者>古龙
XML ドキュメント構造が DTD の形式で定義されている場合、それは次のようになります。次のように:
<!ELEMENT 书本 (名称, 作者)> <!ELEMENT 名称 (#PCDATA)> <!ELEMENT 作者 (#PCDATA)>
それでは、スキーマ形式で定義するにはどうすればよいでしょうか?以下のコードを参照してください:
<element name='书本' type='书本类型'/> <complexType name='书本类型'> <element name='名称' type='string'/> <element name='作者' type='string'/> </complexType>
注意すべき点の 1 つは、スキーマでは、ドキュメント全体の性質と内容の定義も、要素の定義と要素の関係の定義を通じて実現されるということです。同時に、スキーマでは、要素は名前と内容
モデルによって決定されることに注意してください。名前は誰もが理解できる要素の名前であり、内容モデルは実際には要素の型を表します。要素。 C++ と同様に、変数を自由に定義できますが、変数の型を定義する必要があります。変数の型にはさまざまな形式があります (内部的に指定された型など)。 C++ では、 bool 、 int、 double、 char など)、または非常に複雑な型 (構造体やクラスなど) である場合もあります。 スキーマでも同様に型 (型) を 2 つに分けることができます。単純な型はシンプルと呼ばれ、複雑な型はコンプレックスと呼ばれます。単純型には要素と属性を含めることはできません (スキーマと DTD には同じ要素と属性が存在することに注意してください)。複合型には属性を含めることができるだけでなく、複合型内に他の要素をネストしたり、他の要素の属性に関連付けたりすることもできます。
以上がXML スキーマの簡単な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。