Coursxml 1 XML
Coursxml 1 XML
Coursxml 1 XML
Language
Cours 1 : Introduction au langage XML
(XML, DTD, XML-Schema)
Novembre 2013
- Version 4.0 -
PRESENTATION DU COURS
xmlns="http://www.xml-cml.org/schema">
<bondArray>
</bondArray> Attribut
Valeur
</molecule>
XML, qu'est-ce que c'est ?
balises descriptives (signification des données)
plutôt que procédurales (présentation des
données)
libre, indépendant des plateformes logicielles ou
matérielles
XML est extensible: ne contient pas un ensemble
fixé de balises
les documents XML doivent être bien formés
suivant une syntaxe définie, et peuvent donc être
formellement validés
XML est particulièrement adapté à l'échange de
données et de documents.
XML, qu'est-ce que c'est ?
Parsers et Décodage des documents XML
2 concepts fondamentaux
Structure et présentation sont séparés
Les balises ne sont pas figées
DEFINITION 2/2
Conséquences :
XML est un format de document
XML est un format de données (dialectes)
XML est un méta-langage (une famille de langages)
En simplifié :
« XML est un langage de description de documents
structurés » (www.w3c.org/XML).
INTERÊT de XML
Richesse sémantique
Dédié au traitement des données
Soutenant une grande variété d’applications
<?xml
version="1.0"
encoding="iso-8859-1"
standalone="yes" (=> pas besoin de DTD externe)
?>
<produit
nom="DVD"
prix='100' <!-- en euros -->
/>
• Forme générale :
• Le nom des attributs suit les mêmes règles syntaxiques que les noms d'éléments.
<produit>
<nom>DVD</nom>
<prix>150</prix>
</produit>
• xml:lang='langue' permet de définir la langue utilisée dans l'élément et tous les sous-
éléments.
La langue suit la norme ISO 3166 définie par la RFC 1766 (Request For Comment). Par
exemple fr ou en-US ou fr-FR.
• xml:space='preserve' ou xml:space='default' permet de définir l'interprétation des
espaces dans l'élément et tous les sous-éléments.
• xml:id='identificateur' permet d'associer une et une seule clef à un élément .
• xml:idref='identificateur' permet de faire référence à une clef.
<section id='intro'>
<titre>introduction à XML</titre>
... </section>
<section>
<p> après la section
<xref idref='intro'>d'introduction</xref>
nous allons passer au plat de résistance...
</section>
XML : les références d'entités
• Les entités sont des fragments de document XML définis dans la DTD. La référence
d'entité se note :
&nom_de_l_entité;
• Un exemple :
• Avec les sections littérales Il est possible de stopper l'interprétation des caractères
spéciaux. La syntaxe est la suivante :
<produit>
<nom>...</nom>
<desc>...</desc>
</produit>
<fournisseur> <nom>...</nom>
<desc> <adr>...</adr>
<tél>...</tél> </desc>
</fournisseur>
<dil:produit
xmlns:dil='http://www.dil.univ-mrs.fr'>
<dil:nom>...</dil:nom>
<dil:desc>...</dil:desc>
</dil:produit>
XML : espaces de noms 2/2
• Attention, le préfixe n'est qu'une macro. C'est l'espace de nom qui compte. Les deux
éléments suivants sont les mêmes:
<dil:produit
xmlns:dil='http://www.dil.univ-mrs.fr'>
... </dil:produit>
<lim:produit
xmlns:lim='http://www.dil.univ-mrs.fr'>
... </lim:produit>
• Les espaces de noms doivent être utilisés si le document XML rédigé est destiné à être
mélangé à d'autres sources.
• On peut fixer l'espace de noms par défaut avec la syntaxe:
<produit xmlns='http://www.dil.univ-mrs.fr'>
<nom>...</nom> <desc>...</desc> </produit>
</produit>
<para>texte du paragraphe</para>
mais éviter
<para><ligne>...</ligne> <ligne>...</ligne></para>
devient
<personne>
<comment> mis à jour le 10/11/00 </comment>
<nom>...</nom>
...
Attention: seuls les éléments sont exploitables par des feuilles de style CSS. Les
navigateurs ne peuvent pas afficher la valeur des attributs.
Validation d’un document XML :
DTD (Document Type Definition) 1/3
Un document XML avec une syntaxe correcte est dit bien formé
C'est la garantie que n'importe quelle application peut lire sans problème
un document XML
On peut vérifier également la conformité d'un document XML par rapport
à une structure prédéfinie, on dit alors qu'un document est valide
"
Une DTD
fournit de l'information sur les données d’un document XML
permet de déclarer de nouvelles balises et de spécifier des contraintes
sur celles-ci
permet à une application de savoir quel document XML produire et
quoi lire
permet de connaître ce qui est supporté (interopérabilité)
c’est une grammaire qui décrit les éléments et les attributs acceptés
dans un document XML respectant cette DTD
DEFINITIONS DE TYPES DE
DOCUMENT 2/3
Exemple :
<!ATTLIST personne id ID #REQUIRED>
<!ATTLIST personne att1 CDATA #IMPLIED att2 CDATA #IMPLIED>
DTD : définition d'attributs 2/2
Types d'attributs :
données caractères : CDATA
enumération : (oui | non | peut-être)
ID : identifiant pour l'élément (doit être unique dans le document)
IDREF, IDREFS : référence à un ID de ce document (resp. plusieurs
références séparées par des espaces)
ENTITY, ENTITIES : la valeur de l'attribut doit être le nom d'une entité
déclarée dans la DTD (resp. un ensemble d'entités séparées par des
espaces)
XML & DTD : exemple 1 1/2
Le fichier essai.xml :
<?xml version="1.0" encoding="iso88591" standalone="no" ?>
<!DOCTYPE stock SYSTEM "essai.dtd">
<stock>
<produit>
<nom> Livre </nom>
<prix monnaie="Francs"> 50 </prix>
<comment> Un article très recherché </comment>
</produit>
<produit>
<nom> CD </nom><prix monnaie="Euros"> 23 </prix>
</produit>
</stock>
XML & DTD : exemple 1 2/2
Le fichier essai.dtd (Document Type Definition):
Déclaration de l’entête :
L’élément <xsd:schema> permet de déclarer un document
XML-Xchema.