| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| j2ee:xml [2012/11/05 16:17] – jcheron | j2ee:xml [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 |
|---|
| **__Exemple__** | **__Exemple__** |
| <code xml> | <code xml> |
| <?xmlversion=//"1.0"//encoding=//"UTF-8"//?> | <?xml version="1.0" encoding="UTF-8"?> |
| <biblio> | <biblio> |
| <livre> | <livre> |
| <!--__Élément____enfant____titre__--> | <!-- Élément enfant titre --> |
| <titre>__Guerre____et____Paix__</titre> | <titre>Guerre et Paix</titre> |
| <auteur>__Léon____Tolstoï__</auteur> | <auteur>Léon Tolstoï</auteur> |
| <nb_tomes>4</nb_tomes> | <nb_tomes>4</nb_tomes> |
| </livre> | </livre> |
| <livre> | <livre> |
| <titre>__Le____curé____de__Tours</titre> | <titre>Le curé de Tours</titre> |
| <auteur>__Honoré____de____Balzac__</auteur> | <auteur>Honoré de Balzac</auteur> |
| <couverturecouleur=//"Noir"///> | <couverture couleur="Noir" /> |
| </livre> | </livre> |
| <livrelang=//"en"//> | <livre lang="en"> |
| <titre>__David____Copperfield__</titre> | <titre>David Copperfield</titre> |
| <auteur>__Charles__Dickens</auteur> | <auteur>Charles Dickens</auteur> |
| <nb_tomes>3</nb_tomes> | <nb_tomes>3</nb_tomes> |
| </livre> | </livre> |
| </biblio> | </biblio> |
| </code> | </code> |
| **__Prologue__** | **__Prologue__** |
| |
| Le prologue<?xmlversion=//"1.0"//encoding=//"UTF-8"//?>définit la version XML et l’encodage du fichier. | Le prologue <?xmlversion=//"1.0"//encoding=//"UTF-8"//?> définit la version XML et l’encodage du fichier. |
| |
| **__Eléments__** | **__Eléments__** |
| |
| L’élément racine<biblio>est unique et contient tous les autres éléments. | L’élément racine <biblio> est unique et contient tous les autres éléments. |
| |
| Un élément peut contenir du texte :<titre>__Guerre____et____Paix__</titre> | Un élément peut contenir du texte :<titre>Guerre et Paix</titre> |
| |
| Ou parfois, des éléments enfants : | Ou parfois, des éléments enfants : |
| | <code xml> |
| - <livrelang=//"en"//> | <livre lang="en"> |
| - <titre>__David____Copperfield__</titre> | <titre>David Copperfield</titre> |
| - <auteur>__Charles__Dickens</auteur> | <auteur>Charles Dickens</auteur> |
| - <nb_tomes>3</nb_tomes> | <nb_tomes>3</nb_tomes> |
| </livre> | </livre> |
| | </code> |
| Certains éléments sont vides :<couverturecouleur=//"Noir"///> | Certains éléments sont vides :<couverture couleur=//"Noir"///> |
| |
| **__Attributs__** | **__Attributs__** |
| Elément avec un attribut : | Elément avec un attribut : |
| |
| <langageancetre=//"sgml"//>__xml__</langage> | <langage ancetre=//"sgml"//>__xml__</langage> |
| |
| Elément avec plusieurs attributs | Elément avec plusieurs attributs |
| |
| <imgsrc=//"phto.png"//alt=//"C'est moi sur la photo"//width=//"56"//height=//"100"///> | <img src=//"photo.png"//alt=//"C'est moi sur la photo"//width=//"56"//height=//"100"///> |
| |
| L’ordre des attributs n’a aucune importance. | L’ordre des attributs n’a aucune importance. |
| **__Règles de composition__** | **__Règles de composition__** |
| |
| Certaines règles doivent êtrerespectéesdans la composition d’un document XML : | Certaines règles doivent être respectées dans la composition d’un document XML : |
| |
| - 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). | - 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). |
| **__Exemple de DTD externe privée :__** | **__Exemple de DTD externe privée :__** |
| |
| <?xmlversion=//"1.0"//encoding=//"UTF-8"//?> | <code xml> |
| | <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPEbiblioSYSTEM"bibliographie.dtd"> | <!DOCTYPE biblio SYSTEM "bibliographie.dtd"> |
| | </code> |
| |
| **__Fichier associé : bibliographie.dtd__** | **__Fichier associé : bibliographie.dtd__** |
| |
| | <code xml> |
| <!ELEMENT biblio (livre*)> | <!ELEMENT biblio (livre*)> |
| |
| <!ELEMENT livre (titre, auteur, nb_pages)> | <!ELEMENT livre (titre, auteur, nb_pages)> |
| | <!ATTLIST livre |
| <!ATTLIST livre | type (roman | nouvelles | poemes | théâtre) #IMPLIED |
| | lang CDATA "fr" |
| type (roman | nouvelles | poemes | théâtre) #IMPLIED | > |
| | |
| lang CDATA "fr" | |
| | |
| > | |
| <!ELEMENT titre (#PCDATA)> | <!ELEMENT titre (#PCDATA)> |
| |
| <!ELEMENT auteur (#PCDATA)> | <!ELEMENT auteur (#PCDATA)> |
| |
| <!ELEMENT nb_pages (#PCDATA)> | <!ELEMENT nb_pages (#PCDATA)> |
| | </code> |
| |
| **__Exemple de DTD externe publique :__** | **__Exemple de DTD externe publique :__** |
| |
| <?xmlversion=//"1.0"//encoding=//"UTF-8"//?> | <code xml> |
| | <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| | </code> |
| |
| **__Limites DTD :__** | **__Limites DTD :__** |
| **__Schema externe privé :__** | **__Schema externe privé :__** |
| |
| <biblioxmlns:xsi=//"http://www.w3.org/2001/XMLSchema-instance"//xsi:noNamespaceSchemaLocation=//"biblio.xsd"//> | <code xml> |
| | <biblio xmlns:xsi=//"http://www.w3.org/2001/XMLSchema-instance"//xsi:noNamespaceSchemaLocation=//"biblio.xsd"//> |
| | </code> |
| **__Schema externe public :__** | **__Schema externe public :__** |
| |
| <web-appxmlns:xsi=//"http://www.w3.org/2001/XMLSchema-instance"//xmlns=//"http://java.sun.com/xml/ns/javaee"//xmlns:web=//"http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"//xsi:schemaLocation=//"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"//id=//"WebApp_ID"//version=//"2.5"//> | <code xml> |
| | <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> |
| | </code> |
| |
| **__Notion d’espace de noms :__** | **__Notion d’espace de noms :__** |
| Comme tout fichier XML, un schema doit contenir un prologue, et une référence à un Schema. | Comme tout fichier XML, un schema doit contenir un prologue, et une référence à un Schema. |
| |
| __<?____xml________version____=__//__"1.0"__//______encoding____=__//__"UTF__////__-__////__8"__//__?>__ | <code xml> |
| | <?xml version="1.0" encoding="UTF-8"?> |
| __<____xsd:schema________xmlns:xsd____=__//__"http://www.w3.org/2001//XMLSchema"__//__>______ | <xsd:schema xmlns:xsd="http://www.w3.org/2001//XMLSchema"> |
| | <!-- déclarations d'éléments, d'attributs et de types ici --> |
| __<!-- déclarations d'éléments, d'attributs et de types ici -->__ | </xsd:schema> |
| | </code> |
| __</____xsd:schema____>__ | |
| |
| **__Déclaration d’éléments :__** | **__Déclaration d’éléments :__** |
| |
| __<?____xml________version____=__//__"1.0"__//______encoding____=__//__"UTF-8"__//__?>__ | <code xml> |
| | <?xml version="1.0" encoding="UTF-8"?> |
| __<____xsd:schema________xmlns:xsd____=__//__"http://www.w3.org/2001/XMLSchema"__//__>__ | <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| | <xsd:element name="contacts" type="typeContacts" /> |
| ______<____xsd:element________name____=__//__"contacts"__//______type____=__//__"typeContacts"__//______/>__ | <xsd:element name="remarque" type="xsd:string" /> |
| | <!-- déclarations de types ici --> |
| __________<____xsd:element________name____=__//__"remarque"__//______type____=__//__"xsd:string"__//______/>__ | </xsd:schema> |
| | </code> |
| __<!-- déclarations de types ici -->__ | |
| | |
| __</____xsd:schema____>__ | |
| |
| **__Type complexe :__** | **__Type complexe :__** |
| | <code xml> |
| | <xsd:complexType name="typeContacts"> |
| | <xsd:sequence> |
| | <xsd:element name="nom" type="xsd:string" /> |
| | <xsd:element name="prénom" type="xsd:string" /> |
| | <xsd:element name="dateDeNaissance" type="xsd:date" /> |
| | <xsd:element name="adresse" type="xsd:string" /> |
| | <xsd:element name="adresseElectronique" type="xsd:string" /> |
| | <xsd:element name="téléphone" type="numéroDeTéléphone" /> |
| | </xsd:sequence> |
| | </xsd:complexType> |
| |
| __<____xsd:complexType________name____=__//__"typeContacts"__//__>__ | </code> |
| | |
| ______<____xsd:sequence____>__ | |
| | |
| ______<____xsd:element________name____=__//__"nom"__//______type____=__//__"xsd:string"__//______/>__ | |
| | |
| ______<____xsd:element________name____=__//__"prénom"__//______type____=__//__"xsd:string"__//______/>__ | |
| | |
| ______<____xsd:element________name____=__//__"dateDeNaissance"__//______type____=__//__"xsd:date"__//______/>__ | |
| | |
| ______<____xsd:element________name____=__//__"adresse"__//______type____=__//__"xsd:string"__//______/>__ | |
| | |
| ______<____xsd:element________name____=__//__"adresseElectronique"__//______type____=__//__"xsd:string"__//______/>__ | |
| | |
| ______<____xsd:element________name____=__//__"téléphone"__//______type____=__//__"numéroDeTéléphone"__//______/>__ | |
| | |
| ______</____xsd:sequence____>__ | |
| | |
| __</____xsd:complexType____>__ | |
| **__Déclaration d’attributs :__** | **__Déclaration d’attributs :__** |
| | <code xml> |
| | <xsd:complexType name="typeContacts"> |
| | <xsd:sequence> |
| | <xsd:element name="dateDeNaissance" type="xsd:date" /> |
| | <xsd:element name="adresse" type="xsd:string" /> |
| | <xsd:element name="adresseElectronique" type="xsd:string" /> |
| | <xsd:element name="téléphone" type="numéroDeTéléphone" /> |
| | </xsd:sequence> |
| | <xsd:attribute name="nom" /> |
| | <xsd:attribute name="prénom" /> |
| | </xsd:complexType> |
| |
| __<____xsd:complexType________name____=__//__"typeContacts"__//__>__ | </code> |
| | |
| ______<____xsd:sequence____>__ | |
| | |
| ______<____xsd:element________name____=__//__"dateDeNaissance"__//______type____=__//__"xsd:date"__//______/>__ | |
| | |
| ______<____xsd:element________name____=__//__"adresse"__//______type____=__//__"xsd:string"__//______/>__ | |
| | |
| ______<____xsd:element________name____=__//__"adresseElectronique"__//______type____=__//__"xsd:string"__//______/>__ | |
| | |
| ______<____xsd:element________name____=__//__"téléphone"__//______type____=__//__"numéroDeTéléphone"__//______/>__ | |
| | |
| ______</____xsd:sequence____>__ | |
| | |
| ______<____xsd:attribute________name____=__//__"nom"__//______/>__ | |
| | |
| ______<____xsd:attribute________name____=__//__"prénom"__//______/>__ | |
| | |
| __</____xsd:complexType____>__ | |
| **__Types de données simples :__** | **__Types de données simples :__** |
| |
| [[http://www.w3.org/TR/xmlschema-0/#CreatDt|http://www.w3.org/TR/xmlschema-0/#CreatDt]] | [[http://www.w3.org/TR/xmlschema-0/#CreatDt|http://www.w3.org/TR/xmlschema-0/#CreatDt]] |
| |
| |
| |