« XML Schema » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 35 : Ligne 35 :


= Déclaration d'éléments et d'attributs =
= Déclaration d'éléments et d'attributs =
==Eléments==
{{Ebauche}}
{{Ebauche}}
Pour créer des éléments, on utilise la balise  
Pour créer des éléments, on utilise la balise  
<source lang="xml">
<source lang="xml">
<xs:element> </xs:element>
<xs:element></xs:element>
</source>
</source>


Cette balise peut prendre différents attributs, dont l'attribut "name" qui est obligatoire et permet de nommer l'élément, et l'attribut "type" qui permet de définir le type de données de l'élément.  
Cette balise peut prendre différentes valeurs :
'''name'''
Cet attribut est obligatoire et permet de nommer l'élément
'''type'''
Permet de définir le type de données de l'élément.  


Il existe deux sortes d'éléments : les éléments simples (qui ne contiennent pas d'autre élément) et les éléments complexes (qui contiennent un ou plusieurs éléments enfants).  
'''default'''
permet de définir une valeur par défaut qui sera utilisée pour l'élément en question si une aucune valeur n'est spécifiée pour cet élément dans le document XML.
<source lang="xml">
<xs:element name="color" type="xs:string" default="red"/>
</source>
 
'''fixed'''
permet de définir une valeur fixe pour l'élément, qui ne pourra pas être modifiée dans le document XML.
 
Il existe deux sortes d'éléments : les éléments simples (qui ne contient que du texte, et pas d'autre éléments) et les éléments complexes (qui contiennent un ou plusieurs éléments ou attributs enfants ).  
Voici un exemple d'une déclaration d'éléments :
Voici un exemple d'une déclaration d'éléments :


Ligne 60 : Ligne 74 :


Tous les éléments doivent être déclarés à l'intérieur de l'élément racine (<xs:schema>).
Tous les éléments doivent être déclarés à l'intérieur de l'élément racine (<xs:schema>).
==attributs==
Dans le document XML, les éléments peuvent prendre des attributs. Par exemple :
<source lang="xml">
<lastname lang="EN">Smith</lastname>
</source>
Cet attribut doit être déclaré dans le schéma XML en même temps que les éléments. On déclare les attributs de la même manière que les éléments simples :
<source lang="xml">
<xs:attribute name="lang" type="xs:string"/>
</source>


= Type de données =
= Type de données =
{{Ebauche}}
{{Ebauche}}
Les schémas XML permettent de définir différents types de données pour les éléments du schéma. Les plus communs sont :
*xs:string
*xs:decimal
*xs:integer
*xs:boolean
*xs:date
*xs:time


= Liens =  
= Liens =  

Version du 25 mai 2017 à 23:49

Description

Un schéma, comme une DTD, définit la structure d'un document XML.

Les schémas ont été crée pour combler les lacunes des documents DTD qui :

  • Les DTD ne sont pas au format XML; ce qui veut dire qu'il est nécessaire d'utiliser un outil différent de celui qui exploite XML
  • Les DTD ne permettent pas le "typage des données", ce qui veut qu'on peut qu'une balise contient des données mais qu'il est impossible de spécifier l'attribut. Par exemple, on peut vouloir que l'attribut ne soit qu'un nombre entier, qu'une chaîne de caractère.
  • Les DTD ne supportent pas les "espaces de noms" c'est à dire qu'il est impossible d'importer des définitions de balises qui ont été définies ailleurs, dans un autre XML associé à un DTD.

Les apports des schémas C'est pour pallier aux défauts des DTD que les schémas XML ont été crées. Ils proposent les mêmes fonctionnalités que les DTD et en apportent de nouvelles comme :

  • L'introduction du "typage des données"
  • Le support des espaces de noms
  • La notion d'héritage. Les éléments peuvent hériter du contenu et des attributs d'un autre élément.

Structure et référencement d'un schéma XML

Extension de fichier

Comme pour les DTD, le Schéma XML est un fichier distinct du fichier XML. Cependant, bien qu'écrit en XML, le fichier n'a pas l'extension XML mais .xsd

Prologue et élément racine

Comme le document XML, le Schéma XML commence par un prologue et a un élément racine:

  • Prologue : <?xml version="1.0" encoding="UTF-8" ?>.
  • Element racine : xsd:schema..

Voici le code associé :

<!-- Prologue -->
<?xml version="1.0" encoding="UTF-8" ?>

<!-- Elément racine -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
</xs:schema>

Déclaration d'éléments et d'attributs

Eléments

Cet article est une ébauche à compléter. Une ébauche est une entrée ayant un contenu (très) maigre et qui a donc besoin d'un auteur.

Pour créer des éléments, on utilise la balise

<xs:element></xs:element>

Cette balise peut prendre différentes valeurs : name Cet attribut est obligatoire et permet de nommer l'élément type

Permet de définir le type de données de l'élément. 

default permet de définir une valeur par défaut qui sera utilisée pour l'élément en question si une aucune valeur n'est spécifiée pour cet élément dans le document XML.

<xs:element name="color" type="xs:string" default="red"/>

fixed permet de définir une valeur fixe pour l'élément, qui ne pourra pas être modifiée dans le document XML.

Il existe deux sortes d'éléments : les éléments simples (qui ne contient que du texte, et pas d'autre éléments) et les éléments complexes (qui contiennent un ou plusieurs éléments ou attributs enfants ). Voici un exemple d'une déclaration d'éléments :

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="to" type="xs:string"/>
      <xs:element name="from" type="xs:string"/>
      <xs:element name="heading" type="xs:string"/>
      <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Tous les éléments doivent être déclarés à l'intérieur de l'élément racine (<xs:schema>).

attributs

Dans le document XML, les éléments peuvent prendre des attributs. Par exemple :

<lastname lang="EN">Smith</lastname>

Cet attribut doit être déclaré dans le schéma XML en même temps que les éléments. On déclare les attributs de la même manière que les éléments simples :

<xs:attribute name="lang" type="xs:string"/>

Type de données

Cet article est une ébauche à compléter. Une ébauche est une entrée ayant un contenu (très) maigre et qui a donc besoin d'un auteur.

Les schémas XML permettent de définir différents types de données pour les éléments du schéma. Les plus communs sont :

  • xs:string
  • xs:decimal
  • xs:integer
  • xs:boolean
  • xs:date
  • xs:time

Liens