j2ee:xml

Ceci est une ancienne révision du document !


TD0

Version originale

Objectifs

Introduction à XML

Liens

Intro

Historique, Intérêts et principes

Composition d’un fichier XML

Exemple

<?xmlversion=//"1.0"//encoding=//"UTF-8"//?>
  <biblio>
  <livre>
  <!--__Élément____enfant____titre__-->
  <titre>__Guerre____et____Paix__</titre>
  <auteur>__Léon____Tolstoï__</auteur>
  <nb_tomes>4</nb_tomes>
  </livre>
  <livre>
  <titre>__Le____curé____de__Tours</titre>
  <auteur>__Honoré____de____Balzac__</auteur>
  <couverturecouleur=//"Noir"///>
  </livre>
  <livrelang=//"en"//>
  <titre>__David____Copperfield__</titre>
  <auteur>__Charles__Dickens</auteur>
  <nb_tomes>3</nb_tomes>
  </livre>
  </biblio>

Prologue

Le prologue<?xmlversion=“1.0”encoding=“UTF-8”?>définit la version XML et l’encodage du fichier.

Eléments

L’élément racine<biblio>est unique et contient tous les autres éléments.

Un élément peut contenir du texte :<titre>GuerreetPaix</titre>

Ou parfois, des éléments enfants :

  1. <livrelang=“en”>
  2. <titre>DavidCopperfield</titre>
  3. <auteur>CharlesDickens</auteur>
  4. <nb_tomes>3</nb_tomes>

</livre>

Certains éléments sont vides :<couverturecouleur=“Noir”/>

Attributs

Un élément peut contenir des attributs.

Elément avec un attribut :

<langageancetre=“sgml”>xml</langage>

Elément avec plusieurs attributs

<imgsrc=“phto.png”alt=“C'est moi sur la photo”width=“56”height=“100”/>

L’ordre des attributs n’a aucune importance.

Attention, un fichier XML est sensible à la casse.

Certains caractères ayant un sensétablien XML, il est nécessaire de leur trouver un remplaçant lorsqu’ils doivent être insérésdans un document. Onutilise dans ce casles entités prédéfinies :

CaractèreEntité
&&amp;
<&lt;
>&gt;
&quot;
'&aquot;

Les sections CDATA

Une section CDATA est une section pouvant contenir toutes sortes de chaînesde caractères.Elle permet de définir un bloc de caractères ne devant pas être analysés par le processeur XML, afinde garder dans un bloc de texte un exemple de code à afficher tel quel.

Exemplede CDATA

<![CDATA[Une balise commence par un < et se termine par un >.]]>

Règles de composition

Certaines règles doivent êtrerespectéesdans la composition d’un document XML :

  1. Un nom d'élément ne peut commencer par un chiffre. Si le nom n'est composé que d'un seul caractère, ce doit être une lettre comprise entre « a » et « z » pour les minuscules, « A » et « Z » pour les majuscules. S'il est composé d'au moins deux caractères, le premier peut être « _ » ou « : ». Le nom peut ensuite être composé de lettres, chiffres, tirets, tirets bas et deux points. La syntaxe XML est sensible à la casse (le format distingue majuscules et minuscules).
  2. Toutes les balises portant un contenu non vide doivent être fermées. La balise de début, la balise de terminaison et le contenu entre les deux sont globalement appelés élément ;
  3. Les balises n'ayant pas de contenu doivent se terminer par /> (voir la balise <img …/> ci-dessus) ;
  4. Les valeurs d'attributs doivent être entre guillemets ;

Un document respectant ces critères est dit bien formé (well formed).

Il est aussi possible de définir des règles plus strictes définissant la structure que doit avoir le document, par l’intermédiaire d'une DTD ou d'un Schéma. On peut alors tester la validité des documents faisant référence à une DTD pour s'assurer qu'ils respectent bien les règles qui y sont mentionnées.Un document bien formé dont la syntaxe est conforme aux règles stipulées dans une DTD ou un Schema XML est dit valide.

DTD : Document Type Definition

Une DTD peut être interne (définie dans le doc XML lui-même), ou externe (dans un fichier externe). Les DTD externes peuvent être publiques (disponibles grâce à un URI) ou privées (dispos sur machine locale).

La DTD est définie juste après le prologue dans le fichier XML.

Exemple de DTD externe privée :

<?xmlversion=“1.0”encoding=“UTF-8”?>

<!DOCTYPEbiblioSYSTEM”bibliographie.dtd“>

Fichier associé : bibliographie.dtd

<!ELEMENT biblio (livre*)>

<!ELEMENT livre (titre, auteur, nb_pages)>

<!ATTLIST livre

type (roman | nouvelles | poemes | théâtre) #IMPLIED

lang CDATA “fr”

<!ELEMENT titre (#PCDATA)>

<!ELEMENT auteur (#PCDATA)>

<!ELEMENT nb_pages (#PCDATA)>

Exemple de DTD externe publique :

<?xmlversion=“1.0”encoding=“UTF-8”?>

<!DOCTYPEhtmlPUBLIC”-W3CDTD XHTML 1.0 StrictEN““http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”> Limites DTD : - Pas XML - Pas d’espaces de noms - Typage limité ====== Schema XML ====== Liaison d’un fichier XML à un schema : Le lien se fait juste après le prologue (comme pour la DTD), mais sur l’élément racine du fichier. Schema externe privé : <biblioxmlns:xsi=http://www.w3.org/2001/XMLSchema-instancexsi:noNamespaceSchemaLocation=“biblio.xsd”> Schema externe public : <web-appxmlns:xsi=http://www.w3.org/2001/XMLSchema-instancexmlns=http://java.sun.com/xml/ns/javaeexmlns:web=http://java.sun.com/xml/ns/javaee/web-app_2_5.xsdxsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsdid=“WebApp_ID”version=“2.5”> Notion d’espace de noms : Un espace de noms permet à un document XML d’utiliser toutes les balises définies dans un Schema XML donné. Schema XML : définition Comme tout fichier XML, un schema doit contenir un prologue, et une référence à un Schema. <?xmlversion=“1.0”encoding=“UTF-8”?> <xsd:schemaxmlns:xsd=http://www.w3.org/2001//XMLSchema> <!– déclarations d'éléments, d'attributs et de types ici –> </xsd:schema> Déclaration d’éléments : <?xmlversion=“1.0”encoding=“UTF-8”?> <xsd:schemaxmlns:xsd=http://www.w3.org/2001/XMLSchema> <xsd:elementname=“contacts”type=“typeContacts”/> <xsd:elementname=“remarque”type=“xsd:string”/> <!– déclarations de types ici –> </xsd:schema> Type complexe : <xsd:complexTypename=“typeContacts”> <xsd:sequence> <xsd:elementname=“nom”type=“xsd:string”/> <xsd:elementname=“prénom”type=“xsd:string”/> <xsd:elementname=“dateDeNaissance”type=“xsd:date”/> <xsd:elementname=“adresse”type=“xsd:string”/> <xsd:elementname=“adresseElectronique”type=“xsd:string”/> <xsd:elementname=“téléphone”type=“numéroDeTéléphone”/> </xsd:sequence> </xsd:complexType> Déclaration d’attributs : <xsd:complexTypename=“typeContacts”> <xsd:sequence> <xsd:elementname=“dateDeNaissance”type=“xsd:date”/> <xsd:elementname=“adresse”type=“xsd:string”/> <xsd:elementname=“adresseElectronique”type=“xsd:string”/> <xsd:elementname=“téléphone”type=“numéroDeTéléphone”/> </xsd:sequence> <xsd:attributename=“nom”/> <xsd:attributename=“prénom”/> </xsd:complexType> Types de données simples : http://www.w3.org/TR/xmlschema-0/#CreatDt

  • j2ee/xml.1352128631.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)