Skip to content

Archives

  • janvier 2022
  • décembre 2021
  • novembre 2021
  • octobre 2021
  • septembre 2021

Categories

  • Aucune catégorie
Trend RepositoryArticles and guides
Articles

Un exemple XSD

On septembre 29, 2021 by admin

Ce chapitre va démontrer comment écrire un schéma XML. Vous apprendrez également qu’un schéma peut être écrit de différentes manières.

  • Un document XML
  • Créer un schéma XML
  • Diviser le schéma
  • Utiliser des types nommés

Un document XML

Regardons ce document XML appelé « shiporder.xml »:

Créer un schéma XML

Nous voulons maintenant créer un schéma pour le document XML ci-dessus.

Nous commençons par ouvrir un nouveau fichier que nous appellerons « shiporder.xsd ». Pour créer le schéma, nous pourrions simplement suivre la structure dans le document XML et définir chaque élément comme nous le trouvons. Nous allons commencer par la déclaration XML standard suivie de l’élément xs:schema qui définit un schéma:

<?xml version= »1.0″ encoding= »UTF-8″ ?>
<xs:schema xmlns:xs= »http://www.w3.org/2001/XMLSchema »>
….
</xs:schema>

Dans le schéma ci-dessus, nous utilisons l’espace de nom standard (xs), et l’URI associé à cet espace de nom est la définition du langage Schema, qui a la valeur standard de http://www.w3.org/2001/XMLSchema.

Puis, nous devons définir l’élément « shiporder ». Cet élément a un attribut et il contient d’autres éléments, donc on le considère comme un type complexe. Les éléments enfants de l’élément « shiporder » sont entourés d’un élément xs:sequence qui définit une séquence ordonnée de sous-éléments:

<xs:element name= »shiporder »>
<xs:complexType>
<xs:sequence>
…
</xs:sequence>
</xs:complexType>
</xs:element>

Alors nous devons définir l’élément « orderperson » comme un type simple (car il ne contient aucun attribut ou autre élément). Le type (xs:string) est préfixé avec le préfixe d’espace de nom associé à XML Schema qui indique un type de données de schéma prédéfini:

<xs:element name= »orderperson » type= »xs:string »/>

Puis, nous devons définir deux éléments qui sont de type complexe : « shipto » et « item ». Nous commençons par définir l’élément « shipto »:

Avec les schémas, nous pouvons définir le nombre d’occurrences possibles pour un élément avec les attributs maxOccurs et minOccurs. maxOccurs spécifie le nombre maximum d’occurrences pour un élément et minOccurs spécifie le nombre minimum d’occurrences pour un élément. La valeur par défaut pour maxOccurs et minOccurs est 1!

Nous pouvons maintenant définir l’élément « item ». Cet élément peut apparaître plusieurs fois à l’intérieur d’un élément « shiporder ». Cela est spécifié en définissant l’attribut maxOccurs de l’élément « item » à « unbounded », ce qui signifie qu’il peut y avoir autant d’occurrences de l’élément « item » que l’auteur le souhaite. Notez que l’élément « note » est facultatif. Nous l’avons spécifié en fixant l’attribut minOccurs à zéro:

Nous pouvons maintenant déclarer l’attribut de l’élément « shiporder ». Comme il s’agit d’un attribut obligatoire, nous spécifions use= »required ».

Note : Les déclarations d’attributs doivent toujours venir en dernier :

<xs:attribut name= »orderid » type= »xs:string » use= »required »/>

Voici la liste complète du fichier de schéma appelé « shiporder.xsd »:

Diviser le schéma

La méthode de conception précédente est très simple, mais peut être difficile à lire et à maintenir lorsque les documents sont complexes.

La méthode de conception suivante est basée sur la définition de tous les éléments et attributs d’abord, puis sur la référence à ceux-ci en utilisant l’attribut ref.

Voici la nouvelle conception du fichier de schéma (« shiporder.xsd »):

Utiliser des types nommés

La troisième méthode de conception définit des classes ou des types, qui nous permettent de réutiliser les définitions des éléments. Cela se fait en nommant les éléments simpleTypes et complexTypes, puis en pointant vers eux par le biais de l’attribut type de l’élément.

Voici la troisième conception du fichier de schéma (« shiporder.xsd »):

L’élément restriction indique que le type de données est dérivé d’un type de données de l’espace de noms W3C XML Schema. Ainsi, le fragment suivant signifie que la valeur de l’élément ou de l’attribut doit être une valeur de chaîne de caractères:

<xs:restriction base= »xs:string »>

L’élément restriction est plus souvent utilisé pour appliquer des restrictions aux éléments. Regardez les lignes suivantes du schéma ci-dessus:

<xs:simpleType name= »orderidtype »>
<xs:restriction base= »xs:string »>
<xs:pattern value= »{6} »/>
</xs :restriction>
</xs:simpleType>

Cela indique que la valeur de l’élément ou de l’attribut doit être une chaîne de caractères, elle doit comporter exactement six caractères à la suite et ces caractères doivent être un nombre de 0 à 9.

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archives

  • janvier 2022
  • décembre 2021
  • novembre 2021
  • octobre 2021
  • septembre 2021

Méta

  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress