Schéma XML:Diverses autres fonctionnalités

Un article de WikiTuto.

Jump to: navigation, search
  • XML Concepts de base
  1. Historique : de SGML à XML
  2. XML:Mise en oeuvre
  3. Structure d'un document XML
  4. Support par les navigateurs
  • Prise en main d'XML CookTop
  1. XML CookTop généralités
  2. Interface
  3. Exercices
  • Prise en main d'oXygen XML Editor
  1. Généralités
  2. Interface
  3. Fonctionnalités
  4. Exercices
  • Déclarations de Type de Document
  1. Introduction
  2. Types de DTD
  3. Déclarations d'éléments
  4. Déclarations d'attributs
  5. Déclarations d'entités
  • Initiation aux Schéma XML
  1. Introduction
  2. Les premiers pas
  3. Déclarations d'éléments et d'attributs
  4. Les types de données
  5. Espaces de nom
  6. Les dérivations
  7. Diverses autres fonctionnalités
  • Mise en forme à l'aide de feuilles de style XSL
  1. Présentation
  2. Exemples de mises en forme
  • Mise en forme à l'aide de feuilles de style XSL (XSLT)
  1. Les expressions de sélection
  2. XPath
  3. Éléments XSLT
  • Fonctions XPath
  1. Fonctions XPath applicables aux nœuds
  2. Fonctions XPath applicables aux chaînes de caractèress
  3. Fonctions XPath applicables aux nombres
  4. Fonctions booléennes
  5. Autres fonctions
  • Utilisation du DOM et XSLT dynamique
  1. Insertion de code JavaScript dans une page
  2. Utilisation du DOM
  • Synchroniser des contenus multimédia avec SMIL
  1. Généralités
  2. Construction progressive d'un fichier SMIL
  3. Conclusion
  • Un format de dessin vectoriel en XML: SVG
  1. Introduction
  2. SVG de base
  3. Éléments graphiques de base
  4. Structuration: éléments de groupage et références
  5. Transformations
  6. Autres fonctionnalités
  • L'animation dans le SVG
  1. Introduction
  2. Animation de base: l'élément animate
  3. Des animations plus complexes
  • Plus loin que les formulaires HTML: XForms
  1. Généralités
  2. Fonctionnalités des formulaires XForms
  3. Dans la pratique
  4. Pour aller plus loin...
  • Quelques mots sur les Services Web
  1. Généralités
  2. Trouver un service Web
  3. Accéder à un service Web
  4. Récapitulation et inconvénients
Source : Gilles Chagnon

Sommaire

Inclusion de schémas

Un Schema XML a rapidement tendance à devenir... verbeux. Autrement dit, il devient rapidement suffisamment long pour que sa complexité apparente rebute l'oeil humain. Il est alors plus raisonnable de le scinder en plusieurs morceaux, chacun chargé de définir précisément tel ou tel sous-domaine du schéma. Il est alors possible d'inclure plusieurs schémas dans un seul, à l'aide de l'élément xsd:include. Cela offre de plus l'énorme avantage de modulariser un schéma, et donc de pouvoir sans difficulté importer certaines parties à partir de schémas déjà existants. Nul besoin de réinventer la roue, ou de procéder à de masifs "copier/coller", en ayant besoin à chaque fois que l'on fait une mise à jour, de tout reprendre.

Supposons par exemple que nous ayons défini le schéma d'une bibliographie dans le cadre plus général de l'écriture d'un mémoire. Ce Schema XML est stocké à l'URL http://www.monsite.org/schemas/biblio.xsd. Nous avons besoin d'une bibliographie pour une autre aplication -par exemple, lister un ensemble de ressources pour un site Web de e-formation. Nous pouvons inclure le schéma précédemment écrit à l'aide de la commande...

<xsd:include schemaLocation="http://www.monsite.org/schemas/biblio.xsd" />

Il s'agit d'une sorte de "copier-coller" du contenu de la bibliographie dans le schéma en cours d'écriture. La seule condition est que le targetNameSpace soit le même dans le Schema XML inclus et dans le Schema XML importateur.

Documentation

XML Schema permet, outre l'utilisation des commentaires comme tout format XML, l'adjonction de documentation aux éléments.

La documentation à l'intention des lecteurs humains peut être définie dans des éléments xsd:documentation, tandis que les informations à l'intention de programmes doivent être incluses dans des éléments xsd:appinfo. Ces deux éléments doivent être placés dans un élément xsd:annotation. Ils disposent d'attributs optionnels : xml:lang et source, qui est une référence à une URI pouvant être utilisée pour identifier l'objectif du commentaire ou de l'information.

Les élémenst xsd:annotation peuvent être ajoutés au début de la plupart des constructions. Voir par exemple le schéma biblio10.xsd déjà donné.

Attribut null

Il est toujours préférable de pouvoir indiquer explicitement qu'un élément est non renseigné plutôt que d'omettre cet élément. La valeur null des bases de données relationnelles est utilisée dans ce but. XML Schema intègre un mécanisme similaire permettant d'indiquer qu'un élément peut être non renseigné.

Nous déclarons maintenant l'élément courriel comme pouvant être null à l'aide de l'attribut nullable du vocabulaire de XML Schema :

<personne>
  <nom>Jean Dupont</nom>
  <courriel xsi:null></courriel>
</personne>

Cet attribut doit toujours être préfixé par xsi. Quant à l'élément portant cet attribut, il peut contenir d'autres attributs, mais pas de sous-élément.

Sources

Gille Chagnon

Boîte à outils
Annuaire gratuitCe site est listé dans la catégorie Informatique : Aide et astuces en informatique Annuaire