Prochaine révision | Révision précédente |
j2ee:xml [2012/11/05 16:15] – Fichier généré par le plugin odt2dw à partir du fichier TD0.odt jcheron | j2ee:xml [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 |
---|
Objectifs | Objectifs |
| |
IntroductionàXML | Introduction à XML |
| |
====== Liens ====== | ====== Liens ====== |
| |
**__Exemple__** | **__Exemple__** |
| <code xml> |
| <?xml version="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> |
| <couverture couleur="Noir" /> |
| </livre> |
| <livre lang="en"> |
| <titre>David Copperfield</titre> |
| <auteur>Charles Dickens</auteur> |
| <nb_tomes>3</nb_tomes> |
| </livre> |
| </biblio> |
| |
- <?xmlversion=//"1.0"//encoding=//"UTF-8"//?> | </code> |
- <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__** | **__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]] |
| |
| |
| |