Maison développement back-end Tutoriel XML/RSS Explication détaillée de l'exemple de code pour le concept XML de vérification de schéma

Explication détaillée de l'exemple de code pour le concept XML de vérification de schéma

May 28, 2018 am 10:47 AM

1.Structure du fichier de schéma
Le fichier de schéma ressemble beaucoup aux autres fichiers XML. Il est composé d'un ensemble d'éléments et son élément racine est "Schéma ". . L'élément "Schema" est le premier élément qui apparaît dans XML Schema et est utilisé pour indiquer que le document XML est un document Schema. En conséquence, la balise de fin de "Schema" se trouve généralement à la fin du document. De cette façon, la structure d'un Schéma est la suivante :

<Schema name="schema-name" xmlns="namespace" >

</Schema>
Copier après la connexion

Schema a deux attributs : name précise le nom du Schéma, et xmlns précise le espace de noms inclus dans le schéma. Notez qu'un document XML Schema peut contenir plusieurs espaces de noms. Par exemple, l'instruction suivante spécifie trois espaces de noms :

<Schema name="mySchema" 
        xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:myNS=http://www.xml_step_by_step.edu\ns.xml
>
Copier après la connexion

Le premier est xmlns="urn:schemas-microsoft-com:xml -data", qui précise que ce document est un document XML Schema ; le second est xmlns:dt="urn:schemas-microsoft-com:datatypes", qui définit les types de données pouvant être utilisés dans ce documentLe troisième l'un est xmlns:myNS="http://www.xml_step_by_step.eduns.xml", qui indique que les éléments ou attributs définis dans myNS peuvent être utilisés ci-dessous.
2.Utiliser Schema pour définir les éléments et leur contenu
Avant de décrire les différentes méthodes de définition dans Schema qui correspondent aux définitions ETD, jetons d'abord un coup d'œil aux trois éléments Schema impliqués : ElementType , élément, groupe.
1.Élément ElementType
Utilisez ElementType dans le document Schema pour déclarer les éléments qui apparaîtront dans le fichier XML. La syntaxe de ElementType est la suivante : <🎜. >

<ElementType 
    name="元素名" 
    content="{ empty | textOnly | eltOnly | mixed }" 
    dt:type="元素类型" 
    order="{ one | seq | many }" 
    model="{ open | closed }" 
>
Copier après la connexion
Parmi les nombreux attributs d'ElementType, la signification de

name va de soi, c'est le nom de l'élément déclaré, et il est indispensable. content est un attribut important d'ElementType. Il indique si l'élément déclaré par ElementType est vide, contient du texte, contient des sous-éléments ou contient à la fois du texte et des sous-éléments. dt:typeSpécifie le type de données de l'élément. order spécifie les règles de classement des éléments enfants de cet élément. Enfin, model précise si l'élément peut contenir des éléments et des attributs non définis dans ce schéma. Il est principalement utilisé pour l'introduction d'autres schémas, c'est-à-dire l'introduction d'autres "espaces de noms". Le concept d'« espace de noms » ne vous est peut-être pas encore familier. Il ne vous reste plus qu'à comprendre que plusieurs DTD ou définitions de schéma différentes peuvent être utilisées en même temps dans un fichier XML. Le tableau suivant répertorie les valeurs possibles du modèle :

Valeur
取 值

释 意

open表明该元素可以包含其它未在XML Schema中定义的元素和属性
closed表明该元素只能包含在本XML Schema中定义过的元素和属性

<🎜>Explication<🎜 > <🎜>

openIndique que l'élément peut contenir d'autres éléments non définis Les éléments et attributs définis dans le schéma XML
fermé indiquent que les éléments peuvent ne contiennent que des éléments et des attributs définis dans ce schéma XML

缺省状态下,XML Schema的model取值"open",也就是说,该元素可以包含其它未在XML Schema中定义的元素和属性。但是,这并不意味着任何元素和属性都可在Schema中出现,允许出现的前提是这些"异类"元素和属性必须在单独的XML Schema中加以定义,并且必须在引用的它们的元素中以命名空间形式指定其出处。
2. element元素
ElementType只是起到声明元素的作用,至于元素的内容究竟是什么,则要靠它的子元素element来说明。element的语法表达如下:

<element 
    type="元素类型" 
    [minOccurs="{ 0 | 1 }"] 
    [maxOccurs="{ 1 | * }"] 
>
Copier après la connexion

element实际上是对该Schema中ElementType声明的引用,而具体引用什么元素类型,就要靠type属性指定了。type属性不可缺少,并且为了保证type指定的是已经声明过的元素,要求它的取值必须同某个ElementType中的name属性严格一致。至于其它两个属性倒是可有可无。minOccurs指定该元素在其父元素中出现的最小次数,缺省值为1,表明该元素至少出现一次;也可以取值为0,表明该元素是可选的,可以不出现。maxOccurs则指定了该元素出现的最大次数,缺省值同样为1,表明该元素至多出现一次;也可取值为“*”,表明该元素在XML实例文档中出现次数不受限制。

3.group元素
DTD中有成组的概念,相应的,Schema中也有“group”元素。它的语法表达类似element元素:

<group
    order="{one | seq | many}" 
    [minOccurs="{ 0 | 1 }"] 
    [maxOccurs="{ 1 | * }"] 
>
Copier après la connexion

Explication détaillée de l'exemple de code pour le concept XML de vérification de schéma<AttributeType 和DTD的规定相同,组里的内容可以是元素,也可以是另一个子组。属性order指定该组中的元素或子组的顺序,minOccursmaxOccurs分别指定了该组在其父元素中出现的最小次数和最大次数。

4.用Schema定义元素属性
Schema中用来定义属性的元素有两个,AttributeType元素是声明属性的,attribute元素则是说明一个元素中究竟包含那些属性。
AttributeType元素
AttributeType元素也是Schema中的重要元素之一,用于定义该Schema文档中出现的属性类型。AttributeType的语法表达如下:

  name="属性名" 
  dt:type="属性类型" 
  dt:values="枚举值列表" 
  default="缺省值" 
  required="{yes | no}" 
>
Copier après la connexion
  1. name
    name不言而喻,自然是所声明的属性类型的名称。注意,该属性是必须的。

  2. dt:type
    dt:type指定所声明属性的数据类型,它除了支持DTD中包含的全部十大数据类型外,还支持一些扩展属性。Schema中的十个基本属性与DTD中属性的对应关系请见下表:

Schema中基本类型 DTD中数据类型
string #PCDATA
enumeration ENUMERATED
id ID
idref IDREF
idrefs IDREFS
nmtoken NMTOKEN
nmtokens NMTOKENS
entity ENTITY
entities EMTITIES
notation NOTATION

3.dt:value
dt:value n'est valide que lorsque dt:type prend la valeur "énumération". À ce stade, dt:value doit lister toutes les valeurs possibles.

4.default
default spécifie la valeur par défaut de ce type d'attribut. La valeur par défaut doit être valide. Par exemple, lorsque dt:type prend la valeur « énumération », la valeur par défaut doit provenir des valeurs répertoriées dans dt:value.

5.required
required précise si cet attribut est obligatoire pour l'élément qui le référence. Une valeur oui indique que cela est requis et une valeur non indique qu'il n'est pas requis.

6. Élément d'attribut
La relation entre AttributeType et attribut est la même que celle entre ElementType et element. AttributeType ne joue que le rôle de déclaration d'attributs, mais il n'est pas nécessaire de le faire. spécifier vraiment les attributs d'un élément. Il faut s'appuyer sur l'élément d'attribut.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Puis-je ouvrir un fichier XML à l'aide de PowerPoint ? Puis-je ouvrir un fichier XML à l'aide de PowerPoint ? Feb 19, 2024 pm 09:06 PM

Les fichiers XML peuvent-ils être ouverts avec PPT ? XML, Extensible Markup Language (Extensible Markup Language), est un langage de balisage universel largement utilisé dans l'échange et le stockage de données. Comparé au HTML, XML est plus flexible et peut définir ses propres balises et structures de données, rendant le stockage et l'échange de données plus pratiques et unifiés. PPT, ou PowerPoint, est un logiciel développé par Microsoft pour créer des présentations. Il fournit un moyen complet de

Utiliser Python pour fusionner et dédupliquer des données XML Utiliser Python pour fusionner et dédupliquer des données XML Aug 07, 2023 am 11:33 AM

Utilisation de Python pour fusionner et dédupliquer des données XML XML (eXtensibleMarkupLanguage) est un langage de balisage utilisé pour stocker et transmettre des données. Lors du traitement de données XML, nous devons parfois fusionner plusieurs fichiers XML en un seul ou supprimer les données en double. Cet article explique comment utiliser Python pour implémenter la fusion et la déduplication de données XML, et donne des exemples de code correspondants. 1. Fusion de données XML Lorsque nous avons plusieurs fichiers XML, nous devons les fusionner

Convertir des données XML au format CSV en Python Convertir des données XML au format CSV en Python Aug 11, 2023 pm 07:41 PM

Convertir des données XML en Python au format CSV XML (ExtensibleMarkupLanguage) est un langage de balisage extensible couramment utilisé pour le stockage et la transmission de données. CSV (CommaSeparatedValues) est un format de fichier texte délimité par des virgules couramment utilisé pour l'importation et l'exportation de données. Lors du traitement des données, il est parfois nécessaire de convertir les données XML au format CSV pour faciliter l'analyse et le traitement. Python est un puissant

Filtrage et tri des données XML à l'aide de Python Filtrage et tri des données XML à l'aide de Python Aug 07, 2023 pm 04:17 PM

Implémentation du filtrage et du tri des données XML à l'aide de Python Introduction : XML est un format d'échange de données couramment utilisé qui stocke les données sous forme de balises et d'attributs. Lors du traitement de données XML, nous devons souvent filtrer et trier les données. Python fournit de nombreux outils et bibliothèques utiles pour traiter les données XML. Cet article explique comment utiliser Python pour filtrer et trier les données XML. Lecture du fichier XML Avant de commencer, nous devons lire le fichier XML. Python possède de nombreuses bibliothèques de traitement XML,

Importer des données XML dans une base de données à l'aide de PHP Importer des données XML dans une base de données à l'aide de PHP Aug 07, 2023 am 09:58 AM

Importation de données XML dans la base de données à l'aide de PHP Introduction : Pendant le développement, nous devons souvent importer des données externes dans la base de données pour un traitement et une analyse ultérieurs. En tant que format d'échange de données couramment utilisé, XML est souvent utilisé pour stocker et transmettre des données structurées. Cet article explique comment utiliser PHP pour importer des données XML dans une base de données. Étape 1 : analyser le fichier XML Tout d'abord, nous devons analyser le fichier XML et extraire les données requises. PHP propose plusieurs façons d'analyser XML, la plus couramment utilisée étant l'utilisation de Simple

Python implémente la conversion entre XML et JSON Python implémente la conversion entre XML et JSON Aug 07, 2023 pm 07:10 PM

Python implémente la conversion entre XML et JSON Introduction : Dans le processus de développement quotidien, nous devons souvent convertir des données entre différents formats. XML et JSON sont des formats d'échange de données courants. En Python, nous pouvons utiliser diverses bibliothèques pour réaliser une conversion mutuelle entre XML et JSON. Cet article présentera plusieurs méthodes couramment utilisées, avec des exemples de code. 1. Pour convertir XML en JSON en Python, nous pouvons utiliser le module xml.etree.ElementTree

Gestion des erreurs et des exceptions en XML à l'aide de Python Gestion des erreurs et des exceptions en XML à l'aide de Python Aug 08, 2023 pm 12:25 PM

Gestion des erreurs et des exceptions dans XML à l'aide de Python XML est un format de données couramment utilisé pour stocker et représenter des données structurées. Lorsque nous utilisons Python pour traiter XML, nous pouvons parfois rencontrer des erreurs et des exceptions. Dans cet article, je vais vous présenter comment utiliser Python pour gérer les erreurs et les exceptions dans XML, et fournir un exemple de code pour référence. Utilisez l'instruction try-sauf pour détecter les erreurs d'analyse XML Lorsque nous utilisons Python pour analyser XML, nous pouvons parfois rencontrer des

Python analyse les caractères spéciaux et les séquences d'échappement en XML Python analyse les caractères spéciaux et les séquences d'échappement en XML Aug 08, 2023 pm 12:46 PM

Python analyse les caractères spéciaux et les séquences d'échappement en XML XML (eXtensibleMarkupLanguage) est un format d'échange de données couramment utilisé pour transférer et stocker des données entre différents systèmes. Lors du traitement de fichiers XML, vous rencontrez souvent des situations contenant des caractères spéciaux et des séquences d'échappement, qui peuvent provoquer des erreurs d'analyse ou une mauvaise interprétation des données. Par conséquent, lors de l’analyse de fichiers XML à l’aide de Python, nous devons comprendre comment gérer ces caractères spéciaux et ces séquences d’échappement. 1. Caractères spéciaux et

See all articles