Altova XMLSpy 2024 Enterprise Edition

Dans l'Aperçu de Schéma, vous avez déjà créé un élément global appelé Company. Cet élément doit contenir un élément Address et un nombre illimité d’éléments Person. Ceci devient alors le modèle de contenu de l'élément Company. Les composants globaux qui peuvent présenter des modèles de contenu sont des éléments, des complexTypes et des groupes d'élément. Dans XMLSpy, le modèle de contenu d'un composant global est affiché dans le Mode de Modèle de contenu du Mode de schéma. Pour consulter et éditer le modèle de contenu d'un composant global, cliquer sur l'icône Afficher le diagramme ic_component situé à gauche du composant global.

schema_overview

Dans cette section, vous allez créer le modèle de contenu de l'élément Company.

 

Créer un modèle de contenu de base

Pour créer le modèle de contenu de l'élément Company :

 

1.Dans l'Aperçu de schéma, cliquer sur l'icône Afficher le diagramme ic_component de l’élément Company. Cela permet d'afficher le modèle de contenu de l'élément Company (voir la capture d’écran ci-dessous), actuellement vide. En alternative, vous pouvez double-cliquer l'entrée Company dans l'assistant d'entrée Composants pour afficher son modèle de contenu.

content_model_empty

2.Un modèle de contenu consiste en des compositeurs et composants. Les compositeurs spécifient la relation entre deux composants. À ce point du modèle de contenu de Company, vous devez ajouter un compositeur enfant à l’élément Company pour ajouter un élément enfant. Afin d'ajouter un compositeur, cliquez avec la touche de droite sur l'élément Company. À partir du menu de contexte qui apparaît, choisissez Ajouter enfant | Séquence. (Séquence, Choix et Tous sont les trois compositeurs qui peuvent être utilisés dans un modèle de contenu.)

tut_7a

Cela permet d'insérer le compositeur de Séquence, qui définit que les composants ultérieurs doivent apparaître dans la séquence spécifiée.

tut_7b

3.Cliquez avec la touche de droite sur le compositeur de séquence et choisissez Ajouter enfant | Élément. Un composant d'élément sans nom est ajouté.

4.Saisir Address en tant que le nom de l'élément et confirmer avec Entrée.

tut_8a

5.Cliquez à nouveau avec la touche de droite sur le compositeur de séquence, Ajouter enfant | Élément. Nommez le nouveau composant d’élément créé Person.

tut_8b

Jusqu'à présent, vous avez défini un schéma qui permet d'afficher une adresse et une personne par entreprise. Nous souhaitons augmenter le nombre d'éléments Person.

6.Cliquer avec la touche de droite sur l'élément Person et sélectionnez Non lié depuis le menu contexte. L’élément Person dans le diagramme montre maintenant le nombres d'occurrences autorisées : 1 à infini.

tut_8c

En alternative, dans l'assistant de saisie Détails, vous pouvez éditer les champs minOcc et maxOcc pour spécifier le nombre autorisé d'occurrences, dans ce cas 1 et non lié, respectivement.

 

Ajouter des niveaux supplémentaires à la structure de modèle de contenu

Le modèle de contenu de base que vous avez créé contient un niveau : un niveau enfant pour l'élément company qui contient les éléments Address et Person. À présent, nous allons définir le contenu de l'élément Address afin qu’il contienne les éléments Name, Street, et City. Ceci est un deuxième niveau. Nous devons une nouvelle fois ajouter un compositeur enfant à l’élément Address, puis les composants d’éléments eux-mêmes.

 

Pour ce faire, procédez comme suit :

 

1.Cliquer avec la touche de droite sur l'élément Address pour ouvrir le menu contextuel et sélectionnez Ajouter enfant | Séquence. Cela permet d'ajouter le compositeur de Séquence.

2.Cliquez avec la touche de droite sur le compositeur de séquence et sélectionnez Ajouter enfant | Élément. Nommez le composant d’élément récemment créé Name.

tut_9a

 

Types complexes, types simples et types de données Schéma XML

Pour le moment, nous n’avons pas explicitement défini de type d’élément. Cliquez sur l’onglet Text pour afficher le Mode Texte de votre schéma (voir la liste ci-dessous). Vous constaterez qu'à chaque fois qu'un compositeur de Séquence a été inséré, l'élément xs:sequence a été inséré à l’intérieur de l’élément xs:complexType. En bref, les éléments Company et Address sont des types complexes puisqu’ils contiennent des éléments enfant. Un élément de type complexe est un élément qui contient des attributs ou éléments.

 

<xs:element name="Company">

  <xs:annotation>

    <xs:documentation>Root element</xs:documentation>

  </xs:annotation>

  <xs:complexType>

    <xs:sequence>

      <xs:element name="Address">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Name"/>

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="Person"/>

    </xs:sequence>

  </xs:complexType>

</xs:element>

 

Les éléments de type simple, en revanche, ne contiennent que du texte et ne possèdent pas d'attributs. Le texte peut être des chaînes, des dates, des nombres, etc. Nous souhaitons que l'enfant Name de Address ne contienne que du texte. Il s'agit d'un type simple, et nous souhaitons que le contenu sous forme de texte soit limité à un string. Pour ce faire, nous pouvons utiliser le type de données de Schéma XML xs:string.

 

Pour définir que l'élément Name soit de ce type de données :

 

1.Cliquez sur l’onglet Schéma pour retourner au Mode Schéma.

2.Cliquez sur l’élément Name pour le sélectionner.

3.Dans l'assistant de saisie Détails, à partir du menu déroulant de la zone de liste modifiable type, sélectionnez l’entrée xs:string .

tut_9b

Veuillez noter que minOcc et maxOcc ont tous deux une valeur de 1, montrant que cet élément ne se produit qu’une fois.

 

La représentation textuelle de l'élément Name est comme suit :

 

<xs:element name="Name" type="xs:string"/>

 

Note :un élément de type simple peut présenter n'importe quel type de données de Schéma XML. Dans tous ces cas, l'icône indiquant le contexte textuel apparaît dans la fenêtre d'éléments.

 

© 2017-2023 Altova GmbH