Document type définition (DTD)

1. Introduction
2. Validation par DTD
3. Déclaration d’élément
4. Déclaration d’attribut
– Graphe par identifiant
5. Déclaration d’entité
6. Conclusion

Introduction

Un schéma de données=un dialecte
• Un schéma spécifie un dialecte XML
• Pour les applications : une grammaire
–vérifier la conformité d’un document bien formé vis à vis du dialecte considéré
• Pour les utilisateurs : une spécification
– spécifier, documenter, s’échanger un dialecte

Principaux schémas de données

– Les DTDs (de SGML)
– Les schémas XML (W3C) :
• http://www.w3.org/TR/xmlschema-0/
– RELAX :
• http://www.xml.gr.jp/relax/T R l E i (TREX)
–Tree Regular Expression (TREX):
• http://www.thaiopensource.com/trex/
– Relax-NG :
• http://www.oasis-open.org/committees/relax-ng/

DTD Document Type Definition

les 5 types d’éléments
– élément vide
<!ELEMENT nom EMPTY>
– élément avec contenu indifférent
<!ELEMENT nom ANY>
– élément avec du texte seulement comme contenu
<!ELEMENT nom (#PCDATA)>
– élément avec des éléments seuls comme contenu
<!ELEMENT nom (nom1| nom2?)>
<!ELEMENT nom (nom1, (nom2 | nom3)*)>
– élément mixte
<!ELEMENT nom (#PCDATA | nom1 | nom2)*>
Une DTD c’est quoi ?
• DTD acronyme pour
–Document Type Definition
• Une grammaire qui exprime les contraintes sur la structure d’un document
• Sa spécification et celle d’XML n’en font qu’un.
• DTD où et comment ?
– une description interne au document lui-même
– un document séparé, référencé par le document lui-même
Un exemple de document avec DTD
<?xml version= »1.0″?>
<!DOCTYPE personne [
<!ELEMENT personne (#PCDATA)>
]>
<personne>Jacques Dupont</personne>
DTD
Autres usages d’une DTD
• Définir des macros (entités)
• Modularité (éclatement physique d’une DTD)
• Donner des valeurs par défaut aux attributs
• Définir des contraintes d’unicité
• Définir des contraintes d unicité d’identification
– attributs ID
• Définir des contraintes de référence
– attributs IDREF

Document type définition

Télécharger aussi :

Laisser un commentaire

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