Maison  >  Article  >  développement back-end  >  Une brève introduction au schéma XML

Une brève introduction au schéma XML

黄舟
黄舟original
2017-03-27 16:42:161375parcourir

Le schéma

XML est le même que la DTD (présentation de la syntaxe DTD) Il contraint un type de document XML et détermine sa structure, ses éléments, ses attributs. et Type de données. Et les contraintes sur les éléments, les entités, les attributs des éléments et les relations entre les éléments et les entités utilisés dans les documents XML. XML Schema a été proposé pour la première fois par Microsoft et a été accepté par le W3C comme standard. Différent de la DTD, les fichiers de schéma XML utilisent la syntaxe XML. Ses objectifs de conception sont similaires à ceux de la DTD, mais ils surpassent la DTD en termes de fonctionnalité et d'extensibilité. Parlons de certaines des différences entre eux :

1. XML Schema est un document XML, contrairement à DTD qui a sa propre syntaxe unique. Pour les développeurs, vous n'avez pas besoin de connaître les deux syntaxes pour écrire un document XML bien formé. Pour développer des analyseurs XML, puisque XML Schema est également une syntaxe XML, il est plus pratique à implémenter et à prendre en charge. Dans le même temps, XML Schema hérite des avantages extensibles de XML.

2. Définissez le type de données. Dans un fichier DTD, les données ne peuvent être déclarées que sous forme de type chaîne ou sous-élément de type chaîne, tel que PCDATA, CDATA, ID, etc. Dans XML Schema, vous pouvez définir les mêmes types de données riches que le langage de programmation, tels que des entiers, des types à virgule flottante, des types booléens, des types de date, etc. Les avantages de ceci sont évidents. Lorsque vous écrivez un programme pour utiliser une donnée entière, si elle est définie avec DTD, vous devez la convertir du type caractère en type entier, et le schéma XML peut être directement défini comme Type entier.

3. Le schéma XML est un modèle ouvert. Par exemple, le document XML suivant :

<item>
  <name>TG/DTLatte</name>
  <quantity>1</quantity>
  <price>2.00</price>
</item>

Voici sa DTD et sa description de schéma :

DTD :

<!ELEMENT name (#PCDATA)>
<!ELEMENT quantity (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT item (name,quantity,price)>

schéma

<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>

Lorsque le document XML ci-dessus ajoute un élément 50fd4fbe00dbd22c492052e666d4196f10:21 PDT8d4a8a2a17471cc2a44f0c023147b0ca devient :

<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>

La DTD ci-dessus provoquera une erreur de validation et le schéma Non.

4. Intégration de espace de noms . Un document XML ne peut être décrit que par un seul document DTD, mais peut être décrit par plusieurs documents de schéma XML. Ce dernier prend entièrement en charge les espaces de noms.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn