XML スキーマは DTD (DTD 構文の概要) と同じであり、XML ドキュメントのタイプを 制約し、その構造、要素、属性、データ型を決定します。また、XML ドキュメントで使用される要素、エンティティ、要素の属性、要素とエンティティ間の関係に対する制約も含まれます。 XML スキーマは Microsoft によって最初に提案され、W3C によって標準として受け入れられました。 DTD とは異なり、XML スキーマ ファイルは XML 構文を使用します。その設計目的は DTD と多くの点で似ていますが、機能と拡張性の点では DTD を上回っています。それらの違いについていくつか説明しましょう:
1. XML スキーマは、独自の構文を持つ DTD とは異なり、XML ドキュメントです。開発者にとって、整形式の XML ドキュメントを作成するために両方の構文を知る必要はありません。 XML パーサーを開発する場合、XML スキーマも XML 構文であるため、実装とサポートがより便利です。同時に、XML スキーマは XML の拡張可能な利点を継承しています。 2. データ型を定義します。 DTD ファイルでは、データは文字列型または文字列型のサブ要素 (PCDATA、CDATA、ID など) としてのみ宣言できます。 XML スキーマでは、整数、浮動小数点型、ブール型、日付型など、プログラミング言語と同じ豊富なデータ型を定義できます。この利点は明らかです。整数データを使用するプログラムを作成する場合、それが DTD で定義されている場合は、それを文字型から整数型に変換する必要がありますが、XML スキーマは整数型として直接定義できます。
3.XML スキーマはオープンな<item> <name>TG/DTLatte</name> <quantity>1</quantity> <price>2.00</price> </item>以下はその DTD とスキーマの説明です:DTD:
<!ELEMENT name (#PCDATA)> <!ELEMENT quantity (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ELEMENT item (name,quantity,price)>schema
<ElementType name="name"/> <ElementType name="quantity" dt:type="int"/>> <ElementType name="price" dt:type="fixed.14.4"/> <ElementType name="item" model="open"> <element type="name"/> <element type="quantity"/> <element type="price"/> </ElementType>上記の XML ドキュメントが 50fd4fbe00dbd22c492052e666d4196f10:21 PDTde495c1e29d68ef0506fa0aabea331f1 要素は次のようになります:
<item xmlns:myItm="urn:myItems"> <name>TG/DT Latte</name> <quantity>1</quantity> <price>2.00</price> <myItem:time>10:21 PDT</myItem:time> </item>上記の DTD では検証エラーが発生しますが、スキーマでは検証エラーが発生しません。 IV.
名前空間の統合。 XML ドキュメントは 1 つの DTD ドキュメントでのみ記述できますが、複数の XML スキーマ ドキュメントで記述できます。後者は名前空間を完全にサポートします。
以上がXML スキーマの簡単な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。