Comment : générer un extrait XML à partir d’un schéma XMLHow to: Generate an XML snippet from an XML schema

L'éditeur XML permet de générer des extraits XML à partir d'un schéma de langage XSD (XML Schema definition).The XML Editor has the ability to generate XML snippets from an XML Schema definition language (XSD) schema. Par exemple, lorsque vous créez un fichier XML, tout en étant positionné en regard du nom de l’élément, vous pouvez appuyer sur onglet pour remplir l’élément avec des données XML générées à partir des informations de schéma pour cet élément.For example, as you are authoring an XML file, while positioned next to the element name, you can press Tab to populate the element with XML data generated from the schema information for that element.

Cette fonctionnalité n’est disponible que pour les éléments.This feature is only available on elements. Les règles suivantes s'appliquent également :The following rules also apply:

  • L'élément doit avoir un type de schéma associé ; autrement dit, l'élément doit être valide par rapport à un schéma associé.The element must have an associated schema type; that is, the element must be valid according to some associated schema. Le type de schéma ne peut pas être abstract et doit contenir les attributs et/ou éléments enfants obligatoires.The schema type cannot be abstract and the type must contain the required attributes and/or required child elements.

  • L'élément actuel dans l'éditeur doit être vide et dépourvu d'attributs.The current element in the editor must be empty with no attributes. Par exemple, toutes les écritures suivantes sont valides.For example, the following are all valid

    • <Account

    • <Account>

    • <Account></Account>

  • Le curseur doit être placé immédiatement à droite du nom de l'élément.The cursor must be located immediately to the right of the element name.

L'extrait généré contient tous les attributs et éléments requis.The generated snippet contains all required attributes and elements. Si minOccurs est supérieur à un, le nombre minimal d'instances requises de cet élément est inclus dans l'extrait, jusqu'à 100 instances.If minOccurs is greater than one, the required minimum number of instances of that element is included in the snippet, up to a maximum of 100 instances. Toutes les valeurs fixes trouvées dans le schéma engendrent des valeurs fixes dans l'extrait.Any fixed values found in the schema result in fixed values in the snippet. Les éléments xsd:any et xsd:anyAttribute sont ignorés et n'engendrent aucune construction d'extrait supplémentaire.xsd:any and xsd:anyAttribute elements are ignored and result in no additional snippet constructs.

Des valeurs par défaut sont générées et notées comme valeurs modifiables.Default values are generated and noted as editable values. Si le schéma spécifie une valeur par défaut, celle-ci est utilisée.If the schema specifies a default value, this default value is used. Toutefois, si la valeur par défaut du schéma est une chaîne vide, l'éditeur génère les valeurs par défaut de la manière suivante :However, if the schema default value is an empty string, the editor generates the default values in the following manner:

  • Si le type de schéma contient des facettes d'énumération, que ce soit directement ou indirectement par le biais de membres d'un type d'union, la première valeur énumérée trouvée dans le modèle Objet du schéma est utilisée comme valeur par défaut.If the schema type contains any enumeration facets, either directly or indirectly by means of any of members of a union type, the first enumerated value found in the Schema Object Model is used as the default.

  • Si le type de schéma est un type atomique, l'éditeur cherche ce type atomique et en insère le nom.If the schema type is an atomic type, the editor gets the atomic type and inserts the atomic type name. Pour un type simple dérivé, il utilise le type simple de base.For a derived simple type it uses the base simple type. Pour un type de liste, le type atomique est l'itemType.For a list type the atomic type is the itemType. Pour une union, le type atomique est celui du premier memberType.For a union, the atomic type is the atomic type of the first memberType.

ExempleExample

Les étapes décrites dans cette section vous montrent comment utiliser la fonctionnalité générés par schéma d’extrait de code XML de l’éditeur XML.The steps in this section show you how to use the schema-generated XML snippet feature of the XML Editor.

Note

Avant d'entamer ces procédures, enregistrez le fichier de schéma sur votre ordinateur local.Before starting these procedures, save the schema file to your local computer.

Pour créer un nouveau fichier XML et l’associer à un schéma XMLTo create a new XML file and associate it with an XML schema

  1. Sur le fichier menu, pointez sur nouveau, puis cliquez sur fichier.On the File menu, point to New, and click File.

  2. Sélectionnez fichier XML dans les modèles volet et cliquez sur ouvrir.Select XML File in the Templates pane and click Open.

    Un nouveau fichier s'ouvre dans l'éditeur.A new file is opened in the editor. Il contient une déclaration XML par défaut, <?xml version="1.0" encoding="utf-8">.The file contains a default XML declaration, <?xml version="1.0" encoding="utf-8">.

  3. Dans la fenêtre de propriétés de document, cliquez sur le bouton Parcourir (... ) sur le schémas champ.In the document properties window, click the browse button (...) on the Schemas field.

    Le schémas XSD boîte de dialogue s’affiche.The XSD Schemas dialog box is displayed.

  4. Cliquez sur Ajouter.Click Add.

    Le ouvrir le schéma XSD boîte de dialogue s’affiche.The Open XSD Schema dialog box is displayed.

  5. Sélectionnez le fichier de schéma et cliquez sur ouvrir.Select the schema file and click Open.

  6. Cliquez sur OK.Click OK.

    Le schéma XML est à présent associé au document XML.The XML schema is now associated with the XML document.

Pour générer un extrait XMLTo generate an XML snippet

  1. Entrez < dans le volet de l'éditeur.Type < in the editor pane.

  2. La liste des membres affiche les éléments possibles :The members list displays the possible items:

    !-- pour ajouter un commentaire.!-- to add a comment.

    ! DOCTYPE pour ajouter un type de document.!DOCTYPE to add a document type.

    ?? permet d'ajouter une instruction de traitement.to add a processing instruction.

    Contact pour ajouter l’élément racine.Contact to add the root element.

  3. Sélectionnez Contact dans la liste des membres et appuyez sur entrée.Select Contact from the member list and press Enter.

    L'éditeur ajoute la balise de début <Contact et place le curseur après le nom de l'élément.The editor adds the start tag <Contact and positions the cursor after the element name.

  4. Appuyez sur onglet pour générer des données XML pour le Contact élément basé sur ses informations de schéma.Press Tab to generate XML data for the Contact element based on its schema information.

EntréeInput

La procédure pas à pas utilise le fichier de schéma suivant.The following schema file is used by the walkthrough.

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema elementFormDefault="qualified"
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:simpleType name="phoneType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Voice"/>
      <xs:enumeration value="Fax"/>
      <xs:enumeration value="Pager"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="Contact">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Name">
          <xs:simpleType>
            <xs:restriction base="xs:string"></xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="Title"
                    type="xs:string" />
        <xs:element name="Phone"
                    minOccurs="1"
                    maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Number"
                          minOccurs="1">
                <xs:simpleType>
                  <xs:restriction base="xs:string"></xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Type"
                          default="Voice"
                          minOccurs="1"
                          type="phoneType"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

SortieOutput

Voici les données XML générées sur la base des informations de schéma associées à l'élément Contact.Following is the XML data that is generated based on the schema information associated with the Contact element. Les éléments marqués comme bold champs modifiables dans l’extrait XML.Items marked as bold designate editable fields in the XML snippet.

<Contact>
  <Name>name</Name>
  <Title>title</Title>
  <Phone>
    <Number>number</Number>
    <Type>Voice</Type>
  </Phone>
</Contact>

Voir aussiSee also