Notes sur l'introduction à XML - 2° partie, Notes de Méthodes mathématiques pour l'analyse numérique et l'optimisation
Francine88
Francine8826 février 2014

Notes sur l'introduction à XML - 2° partie, Notes de Méthodes mathématiques pour l'analyse numérique et l'optimisation

PDF (94 KB)
24 pages
1000+Numéro de visites
Description
Notes d’informatique sur l'introduction à XML - 2° partie. Les principaux thèmes abordés sont les suivants: Les DTDs
20points
Points de téléchargement necessaire pour télécharger
ce document
Télécharger le document
Aperçu3 pages / 24
Ceci c'est un aperçu avant impression
3 shown on 24 pages
Télécharger le document
Ceci c'est un aperçu avant impression
3 shown on 24 pages
Télécharger le document
Ceci c'est un aperçu avant impression
3 shown on 24 pages
Télécharger le document
Ceci c'est un aperçu avant impression
3 shown on 24 pages
Télécharger le document
chapitre 1_2_3

II. Les DTD

1. Validation d’un document XML par un DTD

Les attributs

• #REQUIRED syntaxe:

<!ATTLIST element-name attribute-name attribute-type #REQUIRED>

Exemple:

DTD: <!ATTLIST person number CDATA #REQUIRED>

Valid XML: <person number="5677"><name>Ahmed</name></person>

Invalid XML: <person ><name>Ahmed</name></person>

20-09-2010 25

II. Les DTD

1. Validation d’un document XML par un DTD

Les attributs

• #IMPLIED Syntax:

<!ATTLIST element-name attribute-name attribute-type #IMPLIED>

Example:

DTD: <!ATTLIST contact fax CDATA #IMPLIED>

Valid XML: <contact fax="555-667788" />

Valid XML: <contact />

20-09-2010 26

II. Les DTD

1. Validation d’un document XML par un DTD

Les attributs

• #FIXED Syntax:

<!ATTLIST element-name attribute-name attribute-type #FIXED "value">

Example:

DTD: <!ATTLIST sender company CDATA #FIXED "Microsoft">

Valid XML: <sender company="Microsoft" />

Invalid XML: <sender company="W3Schools" />

20-09-2010 27

II. Les DTD

1. Validation d’un document XML par un DTD

Les attributs

• Enumerated Attribute Values Syntax:

<!ATTLIST element-name attribute-name (en1|en2|..) default- value>

Example:

DTD: <!ATTLIST payment type (check|cash) "cash">

XML example: <payment type="check" /> or <payment type="cash" />

20-09-2010 28

II. Les DTD 1. Validation d’un document XML par un DTD

Les entités:

• Les entités sont utilisées pur définir des raccourcis à des symboles spéciaux ou de simple standard texte.

• Déclaration:

Syntaxe: <!ENTITY entity-name "entity-value">

Example: DTD Example: <!ENTITY writer "Donald Duck."> <!ENTITY copyright "Copyright W3Schools.">

XML example: <author>&writer;&copyright;</author>

20-09-2010 29

II. Les DTD

1. Exercice:

Enoncé:

Créer un fichier XML pour stocker les données d’une bibliothèque, sachant que:

• Un auteur doit avoir au moins un livre • Un auteur possède un nom, un prénom. • Un livre est caractérisé par un titre, une langue, un éditeur, un ISBN et

une catégorie.

• Les catégories sont: Informatique, Electrique et Mécanique.

Créer ensuite le DTD de ce fichier (interne et externe).

Le travail doit être argumenté.

20-09-2010 30

II. Les DTD 1. Exercice

Correction:

<?xml version="1.0"?> <!DOCTYPE BIBLIOTHEQUE [

<!--DECLARATION DES ELEMENTS -->

<!ELEMENT BIBLIOTHEQUE (AUTEUR+)> <!ELEMENT AUTEUR (NOM, PRENOM, LIVRE+)> <!ELEMENT NOM (#PCDATA)> <!ELEMENT PRENOM (#PCDATA)> <!ELEMENT LIVRE (DATE_EDITION, TITRE, EDITEUR)> <!ELEMENT DATE_EDITION (#PCDATA)> <!ELEMENT EDITEUR (#PCDATA)> <!ELEMENT TITRE (#PCDATA)>

<!--DECLARATION ATTRIBUTS -->

<!ATTLIST LIVRE lang CDATA #REQUIRED> <!ATTLIST LIVRE ISBN CDATA #REQUIRED> <!ATTLIST LIVRE category (Informatique | Mécanique | Electrique) "Informatique">

]>

20-09-2010 31

II. Les DTD 1. Exercice

Correction (suite)

<BIBLIOTHEQUE> <AUTEUR>

<NOM>Ahmed</NOM> <PRENOM>Mohamed</PRENOM> <LIVRE lang="arabe" ISBN="2-5678-6987-6" category="Informatique">

<DATE_EDITION>12-06-2010</DATE_EDITION> <TITRE>titre livre 1</TITRE> <EDITEUR>editeur 1</EDITEUR>

</LIVRE> </AUTEUR> <AUTEUR>

<NOM>Youssef</NOM> <PRENOM>Ben Hammadi</PRENOM> <LIVRE lang="arabe" ISBN="6-9876-2354-9" category="Mécanique">

<DATE_EDITION>09-08-2010</DATE_EDITION> <TITRE>titre livre 2</TITRE> <EDITEUR>editeur 2</EDITEUR>

</LIVRE> <LIVRE lang="anglais" ISBN="6-9876-2354-9" category="Electrique">

<DATE_EDITION>14-07-2008</DATE_EDITION> <TITRE>titre livre 3</TITRE> <EDITEUR>editeur 2</EDITEUR>

</LIVRE> </AUTEUR>

</BIBLIOTHEQUE>

20-09-2010 32

III. Les schémas XML:

1. Du’est ce que XML Schema?

Définition

• Un Schéma XML (XML schema Definition XSD) est un langage basé sur XML qui permet la définition de schémas (structure + type de données) des documents XML et facilite la communication entre applications.

• XML Schema est une alternative (successeur) pour les DTDs. La différence entre les schémas XML et les DTDs

20-09-2010 33

DTD XML schema

N’est pas une syntaxe XML Basé sur la syntaxe XML

Difficile à étendre Facilement extensible

Données textuelles non typées Supporte les types de données

Ne permet pas de spécifier exactement le nombre d’occurrences d’un élément

Permet de spécifier exactement le nombre d’occurrences d’un élément

Ne supporte pas les espaces de noms Supporte les espaces de noms

III. Les schémas XML:

2. Exemple

Un simple document XML

<?xml version="1.0"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body>

</note>

Un fichier DTD

<!ELEMENT note (to, from, heading, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>

20-09-2010 34

III. Les schémas XML:

2. Exemple

Un schéma XML

<?xml version="1.0"?> <xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema elementFormDefault="qualified"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/>

</xs:sequence> </xs:complexType>

</xs:element> </xs:schema>

20-09-2010 35

III. Les schémas XML: 2. Exemple

Une référence à une DTD

<?xml version="1.0"?> <!DOCTYPE note SYSTEM "note.dtd"> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body>

</note> Une référence à un schéma XML

<?xml version="1.0"?> <note xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance

xsi:schemaLocation="note.xsd"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body>

</note>

20-09-2010 36

III. Les schémas XML: 3. Structure d’un XML Schema

L'élément <schema>

<?xml version="1.0"?> <xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema elementFormDefault="qualified"> ... ... </xs:schema>

Le référencement d'un schéma dans un document XML

<?xml version="1.0"?> <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="note.xsd">

<to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body>

</note>

20-09-2010 37

III. Les schémas XML:

3. Les éléments simples

Qu’est ce qu’un élément simple

Un élément simple est un élément XML qui peut contenir du texte seulement. Il ne peut pas contenir d'autres éléments ou d'attributs.

Définition d'un élément simple

<xs:element name="xxx" type="yyy"/>

Les types les plus communs sont:

xs: string

xs: decimal

xs: integer

xs: boolean

xs: date

xs: time

20-09-2010 38

III. Les schémas XML:

3. Les éléments simples

Exemple

• Voici quelques éléments XML: <lastname>Refsnes</lastname> <age>36</age> <dateborn>1970-03-27</dateborn>

• Et voici les définitions correspondantes (élément simple): <xs:element name="lastname" type="xs:string"/> <xs:element name="age" type="xs:integer"/> <xs:element name="dateborn" type="xs:date"/>

Valeur par défaut/fixe d’un élément simple

<xs:element name="color" type="xs:string" default="red"/>

<xs:element name="company" type="xs:string" fixed=“Microsoft"/> 20-09-2010 39

III. Les schémas XML:

3. Les attributs

Remarque

Tous les attributs sont déclarés comme des types simples. Si un élément a des attributs, il est considéré comme étant de type complexe. Mais l'attribut lui- même est toujours déclaré comme un type simple.

Comment définir un attribut?

La syntaxe pour définir un attribut est:

<xs:attribute name="xxx" type="yyy"/>

Exemple

Voici un élément XML avec un attribut:

<lastname lang="EN">Smith</lastname>

Et voici la définition de l'attribut correspondant:

<xs:attribute name="lang" type="xs:string"/>

Valeur par défaut/fixe d’un attribut

<xs:attribute name="genre" type="xs:string" default="female"/>

<xs:attribute name="lang" type="xs:string" fixed="EN"/>

20-09-2010 40

III. Les schémas XML:

4. Les restrictions

Utilité

Les restrictions sont utilisées pour définir des valeurs acceptables pour les éléments ou les attributs XML. Les restrictions sur les éléments XML sont appelés facettes.

Restrictions sur les valeurs

<xs:element name="age"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="0"/> <xs:maxInclusive value="120"/>

</xs:restriction> </xs:simpleType>

</xs:element>

20-09-2010 41

III. Les schémas XML:

4. Les restrictions

Restrictions sur un ensemble de valeurs

<xs:element name="car"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Audi"/> <xs:enumeration value="Golf"/> <xs:enumeration value="BMW"/>

</xs:restriction> </xs:simpleType>

</xs:element>

Restrictions sur une série de valeurs

<xs:element name="letter"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[a-z]"/>

</xs:restriction> </xs:simpleType>

</xs:element>

20-09-2010 42

III. Les schémas XML:

4. Les restrictions

Expressions possibles

• <xs:pattern value="[A-Z][A-Z][A-Z]"/> • <xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/> • <xs:pattern value="[xyz]"/> • <xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/> • <xs:pattern value="([a-z])*"/> • <xs:pattern value="([a-z][A-Z])+"/> • <xs:pattern value="m|f"/>

20-09-2010 43

III. Les schémas XML:

4. Les restrictions

Restriction sur le longuer d’un élément

• <xs:element name="password"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="8"/>

</xs:restriction> </xs:simpleType>

</xs:element>

• <xs:element name="password"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="5"/> <xs:maxLength value="8"/>

</xs:restriction> </xs:simpleType>

</xs:element>

20-09-2010 44

III. Les schémas XML:

5. Les éléments complexes

Qu’est ce q’un élément complexe?

Un élément complexe est un élément XML qui contient d'autres éléments et / ou des attributs. Il existe quatre types d'éléments complexes:

• les éléments vides • éléments qui contiennent uniquement des éléments autres • éléments qui ne contiennent que du texte • éléments qui contiennent les deux autres éléments et le texte

Note: Chacun de ces éléments peuvent contenir des attributs ainsi!

Exemples d'éléments complexes

• <product pid="1345"/> • <employee>

<firstname>John</firstname> <lastname>Smith</lastname>

</employee>

20-09-2010 45

III. Les schémas XML:

5. Les éléments complexes Exemples d'éléments complexes

• <food type="dessert">Ice cream</food> • <employee>

This employee <firstname>John</firstname> <lastname>Smith</lastname> since <date>2002-04-23</date>. He is become a manager

</employee>

Comment définir un élément complexe

soit l’élément complexe suivant:

<employee> <firstname>John</firstname> <lastname>Smith</lastname>

</employee>

20-09-2010 46

III. Les schémas XML:

5. Les éléments complexes

Comment définir un élément complexe

cet élément peut être défini de deux façons:

• Sans définition de type: <xs:element name="employee"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/>

</xs:sequence> </xs:complexType>

</xs:element>

Si vous utilisez la méthode décrite ci-dessus, seul le terme «employé» élément peut utiliser le type complexe spécifié.

20-09-2010 47

III. Les schémas XML:

5. Les éléments complexes

Comment définir un élément complexe

• Avec définition de type: <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/>

</xs:sequence> </xs:complexType>

Si vous utilisez la méthode décrite ci-dessus, plusieurs éléments peuvent se référer au même type complexe:

<xs:element name="employee" type="personinfo"/>

<xs:element name="student" type="personinfo"/> <xs:element name="member" type="personinfo"/>

20-09-2010 48

commentaires (0)
Aucun commentaire n'a été pas fait
Écrire ton premier commentaire
Ceci c'est un aperçu avant impression
3 shown on 24 pages
Télécharger le document