Chapitre 3

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 28

Programmation d’applications pour le Web

Cours 2ème année ING


ISI-Tunis

Chapitre 3
La technologie XML

Année universitaire 2011/2012– Semestre 2

Définition
eXensible Markup Language

Un méta langage permettant la définition de langages adaptés


à des besoins variés.

Extensible et évolutif : les balises ne sont pas prédéfinies.

Représentation de contenus indépendamment de toute


application.

Séparation entre contenu et forme.

Langage strict : Syntaxe rigoureuse.

1
Structure d’un document XML

<? xml version = "1.0" ?>


<? xml-stylesheet href = "messenger.xsl " type = "text/xsl" version = "1.0" ?>
<! DOCTYPE adresses SYSTEM " messenger.dtd"> Entête du document

<messenger>
<contact pseudo= "medba" >
<nom>Ben Ali</nom>
<prenom>Mohamed</prenom>
<pays>Tunisie</pays>
</contact>
Corps du document
</ messenger >

Les balises
Un élément constitutif d’un document XML repose sur un nom
et un contenu.

Le contenu d’un élément est compris entre :


Une balise de début (balise d’ouverture).
Une balise de fin (balise de fermeture).

Balise de fermeture = balise d’ouverture + /

<pays>Tunisie</pays>

Contrairement à HTML, la balise de fermeture est nécessaire


dans XML.

2
Les noms de balises
Les noms peuvent contenir des caractères alphanumériques, de souli
gnement (_), de ponctuation (. , ;) et le trait d’union.

Les noms de balises sont sensibles à la casse.


<Pays> # <pays>
Les noms doivent commencer par un caractère alphabétique ou par
le soulignement (_).

Certains caractères spéciaux sont permis mais peuvent fausser


l’interprétation au niveau de certains programmes (> + é à ù ï ç)

Les noms ne peuvent pas contenir des espaces

Les noms ne peuvent pas commencer par la séquence xml

Les caractères interdits sont : ? $ ! < &

Les attributs
But : Associer des informations complémentaires aux
éléments.
<montant monnaie= "DT" > 24 </montant>

Les noms des attributs suivent les mêmes règles que celles
des noms des éléments.
Un élément peut posséder un ou plusieurs attributs dans la
balise d’ouverture.
Le nom de l’attribut est unique pour un élément donné.
La valeur de l’attribut doit obligatoirement être entre " ".
Les guillemets (" ") peuvent être remplacés par des
apostrophes (‘ ‘)

3
Les éléments vides
Les éléments qui ne possèdent pas de contenu sont dits
« vides » (Empty).

Intégrés au document pour la valeur de leurs attributs.

Une notation raccourcie permet d’associer la balise


d’ouverture et celle de fermeture
<mail href= "mailto:[email protected]"/>

Pour XML, deux notations équivalents pour les éléments vides


<mail href= "mailto:[email protected]"/>
<mail href= "mailto:[email protected]"> </mail>

Imbrication des éléments (1/2)


Tout document XML doit comporter une racine
Chaque élément du document XML peut contenir un ou
plusieurs éléments.
Chaque document XML est hiérarchisé dans une
arborescence.
Racine
Élément Parent

<? xml version = "1.0" ?>


<messenger>
messenger
<contact pseudo= "medba" >
<nom>Ben Ali</nom>
<prenom>Mohamed</prenom>
contact contact
<pays>Tunisie</pays>
</contact>
<contact pseudo= « h_yassine" > nom prénom pays
<nom>Herelli</nom>
<prenom>Yassine</prenom>
<pays>Tunisie</pays>
</contact>
</ messenger > Élément Fils

4
Imbrication des éléments (2/2)
Les balises d’ouverture et de fermeture des éléments fils
doivent toujours être comprises entre les balises d’ouverture
et de fermeture des parents.

<? xml version = "1.0" ?> <? xml version = "1.0" ?>
<messenger> <messenger>
<contact pseudo= "XXX" > <contact pseudo= "XXX" >
</contact> </ messenger >
</ messenger > </contact>

La racine
À la racine d’un document XML, il ne peut y avoir qu’un seul
et unique élément.
Le document XML se termine à la fermeture de la balise de
racine.

<? xml version = "1.0" ?> <? xml version = "1.0" ?>
<messenger> <messenger>
<contact pseudo= "XXX" > </ messenger >
</contact> <contact pseudo= "XXX" >
</ messenger > </contact>

5
La déclaration XML
Généralement la première ligne d’un document XML.

Définir un document comme étant un document XML.

<?xml version= "1.0" encoding= "UTF-8 "?>


version : Numéro de la version de XML (1.0)
Encoding : Encodage (jeu de caractères) : ISO-8859-1 ,UTF-8

Déclaration facultative

Document « bien formé »


Un document XML bien formé (well formed) est un document
XML syntaxiquement correct :
Contient un ou plusieurs éléments (Non vide)
Structure hiérarchique
A chaque balise d’ouverture est associée une balise de fermeture.
Imbrication correcte : Pas de croisement entre balises ( du type <a><b></a>
</b>)
Respect de la casse
Les valeurs des attributs sont quottées (" " ou ‘ ‘)
Une seule racine
Caractères spéciaux
< &lt;
& &amp;
> &gt;
" &aquot;

6
Exemple

Declaration
<? xml version = "1.0" ?> Instructions
de traitement
<? xml-stylesheet href = "http://cui.unige.ch/adressesToHTML.xsl"
type = "text/xsl" version = "1.0" ?>
Entête du
<? cocoon-process type = "xslt" ?> document
<! DOCTYPE adresses SYSTEM "http://cui.unige.ch/adresses.dtd">
Type de
Commentaire document
<!--Ceci est un commentaire--> Racine du
< adresses> document
Attribut
<personne id= "marchand " >
<type classe= "enseignant" rang="MA"/> Element vide
<nom>Marchand-Maillet</nom> Corps du
<prenom>Stéphane</prenom> document
Element non-vide
<adresse>CUI, Université de Genève</adresse>
</personne>
Balise d'ouverture Balise de fermeture
</adresses >

Exercice 1
Écrire un document XML permettant de maintenir une liste de contacts dans u
n carnet d’adresses.

Solution :
<?xml version="1.0" encoding="UTF-8"?>
<carnet>
<contacts>
<contact id="c1">
<nom/>
<prenom/>
<pseudo/>
<mail1/>
<mail2/>
<tel_bur/>
<tel_mob/>
</contact>
</contacts>
</carnet>

7
DTD
DTD : Document Type Definition
But : Définir une structure type de document XML.
Une grammaire qui décrit la façon de construire les documents
XML.

Une DTD définit la filiation des éléments :


Quelle est la racine du document ?
Qui doit/peut avoir quels fils ?
Quels sont les éléments (attributs) obligatoires et ceux optionnels ?
Combien d’enfants possède un élément ?
Quels éléments peuvent contenir du texte ?
Quelles sont les valeurs des attributs ?

Document Valide

Document bien formé


 Respect de la syntaxe XML.

Document valide
 Respect d’une DTD spécifiée (Conformité par rapport à
une DTD)

8
Déclaration d’une DTD
1. Déclaration de la DTD à l’intérieur du fichier XML.

<? xml version = "1.0" standalone= "yes"?>


<!DOCTYPE contacts[
<! ELEMENT contacts (#PCDATA)>
]>
<contacts></contacts>

2. Déclaration de la DTD en tant que DTD « privée ». Cette DTD


sera enregistrée dans un fichier autonome.

<? xml version = "1.0" ?>


<!DOCTYPE contacts SYSTEM "contacts.dtd ">
<contacts></contacts>

Déclaration des éléments (1/5)


Déclaration de chaque élément qui apparaît à l’intérieur d’un
fichier XML.
<!ELEMENT nom_element (regle)>

nom_element obéit aux règles syntaxiques concernant les


noms des éléments XML.
regle peut avoir la forme suivante
ANY : L’élément peut contenir des éléments fils.
#PCDATA : L’élément ne peut contenir que des caractères (pas d’éléments
fils)
<!ELEMENT titre (#PCDATA)>
 <titre> Le Rouge et le Noir </titre>

EMPTY : L’élément doit obligatoirement être un élément vide.

9
Déclaration des éléments (2/5)
regle peut faire référence à séquence d’éléments fils
Séquence ordonnée : (fils1,fils2,fils3)
<!ELEMENT date(mois,annee)>

<date> <date>
<date>
<mois>10</mois> <annee>2006</annee>
<annee>2006</annee>
<annee>2006</annee> <mois>10</mois>
</date>
</date> </date>

Séquence non ordonnée : (fils1|fils2|fils3)


<!ELEMENT date (mois|annee)>

<date> <date>
<date>
<mois>10</mois> <annee>2006</annee>
<annee>2006</annee>
<annee>2006</annee> <mois>10</mois>
</date>
</date> </date>

Déclaration des éléments (3/5)


Séquence non ordonnée : (fils1&fils2&fils3)
<!ELEMENT date (mois&annee)>

<date> <date>
<date>
<mois>10</mois> <annee>2006</annee>
<annee>2006</annee>
<annee>2006</annee> <mois>10</mois>
</date>
</date> </date>

10
Déclaration des éléments (4/5)
Pour la déclaration de l’élément date, on doit spécifier le type
des éléments mois et année.

<date>
<mois>10</mois>
<annee>2006</annee>
</date>

La déclaration des éléments équivalente à l’exemple précédent


est :
<!ELEMENT date (mois,annee)>
<!ELEMENT mois (#PCDATA)>
<!ELEMENT annee (#PCDATA)>

Déclaration des éléments (5/5)

On peut utiliser une séquence ordonnée et une séquence non


ordonnée au niveau d’une même déclaration d’un élément.

<!ELEMENT livre((titre,auteur)|description)
 Cette déclaration signifie qu’il est possible de saisir
 soit la description d’un livre
 soit son titre suivi de son auteur

11
Occurrence des éléments
Autoriser un certain nombre de répétitions au niveau d’un
élément.

X? L’élément X doit apparaître 0 ou 1 fois


X+ L’élément X doit apparaître 1 ou n fois
X* L’élément X doit apparaître 0 ou n fois

<!ELEMENT livre (titre,auteur+)>


 Un livre doit avoir un ou plusieurs auteurs.

Déclaration des attributs (1/5)


Déclaration des attributs d’une balise
<!ATTLIST nom_elmt nom_attribut type_attribut val_defaut>
nom_elmt : la balise à laquelle on précise la liste des attributs
nom_attribut : le nom de l’attribut qu’on va ajouter
type_attribut : règle qu’un attribut doit respecter
val_defaut : valeur par défaut
Exemples

<!ATTLIST rectangle longueur CDATA "0">


<!ATTLIST rectangle largeur CDATA "0">
<!ATTLIST personne situation (célibataire | mariée | divorcée) #IMPLIED>

12
Déclaration des attributs (2/5)
Si la valeur par défaut n’est pas spécifiée, on peut préciser les paramètres
suivants :

#REQUIRED L’attribut doit être spécifié.


#IMPLIED L’attribut est optionnel.
#FIXED "val" La valeur de l’attribut est fixé et ne doit
pas être changé.
"val" La valeur par défaut.

Exemples
<!ATTLIST personne nom CDATA #REQUIRED>
<!ATTLIST personne age CDATA #IMPLIED>
<!ATTLIST date année CDATA #FIXED "2004">
<!ATTLIST machine état CDATA "neuf">

Déclaration des attributs (3/5)


Types possibles pour les attributs :

CDATA Character DATA : d’une manière plus simple, du TEXT.


Enumération La liste des valeurs uniquement à partir des quels on
peut choisir les valeurs d’un attribut.
ID Identifiant unique.
IDREF Référence à un identifiant unique.
IDREFS Multiples références (séparées par un espace) sur des
identifiants uniques.

Exemples :
<!ATTLIST rectangle largeur CDATA "0">
<!ATTLIST personne situation (célibataire|mariée|divorcée) #IMPLIED>

13
Déclaration des attributs (4/5)
La notation ID permet d’assurer qu’un attribut a une valeur un
ique dans tout le document XML.
Les notations IDREF et IDREFS permettent de relier les différe
ntes sections d’un document.
Exemple
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE personnels SYSTEM "LePersonnel.dtd">
<personnels>
<employe ide="a10" directeur="d50" collegues="a40 a60"/>
<employe ide="a20" directeur="d50" collegues="a50"/>
<employe ide="a30" directeur="d20"/>
<employe ide="a40" directeur="d20" collegues="a10 a60"/>
<employe ide="a50" directeur="d20" collegues="a20"/>
<employe ide="a60" directeur="d50" collegues="a10 a40"/>
<employe ide="d20" collegues="d50"/>
<employe ide="d50" collegues="d20"/>
</personnels>

Déclaration des attributs (5/5)


La DTD équivalente à l’exemple précédent est :

<?xml version="1.0" encoding="UTF-8"?>


<!ELEMENT personnels (employe+)>
<!ELEMENT employe EMPTY>
<!ATTLIST employe
ide ID #REQUIRED
directeur IDREF #IMPLIED
collegues IDREFS #IMPLIED
>

14
Exercice 2
Écrire la DTD relative au document XML de l’exercice 1.

<!ELEMENT carnet (contacts)>


<!ELEMENT contact (nom, prenom, pseudo, mail1, mail2, tel_bur, tel_m
ob)>
<!ATTLIST contact
id ID #REQUIRED
>
<!ELEMENT contacts (contact)>
<!ELEMENT mail1 (#PCDATA)>
<!ELEMENT mail2 (#PCDATA)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT pseudo (#PCDATA)>
<!ELEMENT tel_bur (#PCDATA)>
<!ELEMENT tel_mob (#PCDATA)>

Limites DTD

Une DTD n’est pas un document XML.

Les DTD ne supportent pas les espaces de noms.

Typage des données limité.

15
XSD
XSD : XML Schema Definition

Définition d’une classe de définition de documents XML.


Éléments et leurs attributs,
Imbrication des éléments,
Ordre d’apparition des éléments,
Et plus

Un document XSD est un document XML.

Le vocabulaire de XML Schema est composé d’environ 30


éléments et attributs.

Avantages de XSD
Typage
Gestion de plusieurs types à savoir les booléens, les entiers..
Possibilité de créer de nouveaux types.

Héritage
Les éléments peuvent hériter du contenu et des attributs d’un autre
élément.
Les espaces de nom.

Occurrence
Les indicateurs d’occurrence des éléments peuvent être tout nombre
non négatif

16
Exemple de XSD
<?xml version="1.0" encoding="ISO-8859-1"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<!-- déclarations de éléments -->


<xsd:element name="classe" type="typeClasse"></xsd:element>
<xsd:element name="remarque" type="xsd:string">
</xsd:element>

<!-- déclarations des types complexes -->


<xsd:complexType name="typeClasse">
<xsd:attribute name="code" type="xsd:string" />
</xsd:complexType>

</xsd:schema>

Déclaration des éléments


2 types d’éléments
Type Complexe : Éléments contenant des éléments fils ou des attributs.
Type Simple : Éléments ne contenant des éléments fils ni des attributs.

Syntaxe
<xsd:element name="element_name" type="element_type">
</xsd:element>

Chaque élément element_name déclaré est associé à un type (


element_type) de données via l'attribut type.

17
Déclaration des attributs
Un attribut ne peut être que de type simple (Similaire à DTD)

Les déclarations d'attributs doivent impérativement être placées aprè


s les définitions des types complexes.

Syntaxe
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="etudiant" >
<xsd:complexType >
<xsd:attribute name="date_naissance" type="xsd:date" />
</xsd:complexType>
</xsd:element>
</xsd:schema>

Contraintes d’occurrence (1/2)


Syntaxe
<xsd:attribute name="attName" type="attType"
use="Occurence" default="defaultValue" />
Use : occurrence de l’attribut attName.
Default : Valeur par défaut de l’attribut, doit être du même type que
attType

Exemples
<xsd:attribute name="date_naissance" type="xsd:date" use="required" />
<xsd:attribute name="rang" type="xsd:positiveInteger" use="optional" />
<xsd:attribute name="date_maj" type="xsd:date" use="optional" default="
2006-11-09"/>
<xsd:attribute name="institut" type="xsd:string" fixed="ISI" />

18
Contraintes d’occurrence (2/2)
Tableau comparatif des indicateurs d’occurrences
en DTD et XSD

XSD
DTD
use default fixed
#REQUIRED required - -
"yes" #REQUIRED required "yes" -
#IMPLIED optional - -
"yes" #IMPLIED optional "yes" -
#FIXED "yes" - - "yes"

Types de données Simples


Les types de données simples ne peuvent pas contenir
Des éléments fils,
Des attributs.
Hiérarchie des types simples prédéfinies

19
Types de données Complexes (1/4)
A. Séquence d'éléments
Déclaration d’un élément comme étant une suite ordonnée de sous
éléments.
Analogie à l’opérateur , dans DTD
Syntaxe
<xsd:complexType>
<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>

Types de données Complexes (2/4)


B. Choix d'éléments
Analogie à l’opérateur | au niveau de DTD

Syntaxe
<xsd:complexType name="typePersonne">
<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:choice>
<xsd:element name="adresse" type="xsd:string" />
<xsd:element name="adresseElectronique" type="xsd:string" />
</xsd:choice>
</xsd:sequence>
<xsd:element name="téléphone" type="numéroDeTéléphone" />
</xsd:complexType>

20
Types de données Complexes (3/4)
B. all
L'élément xsd:all indique que les éléments enfants doivent apparaître un
e fois (ou pas du tout), et dans n'importe quel ordre. Il doit être un enfa
nt direct de l'élément xsd:complexType.
Syntaxe
<xsd:complexType>
<xsd:all>
<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:all>
</xsd:complexType>

Types de données Complexes (4/4)


Création d’un type complexe à partir d’un type simple
Valeur simple
Attribut
Exemple
<poids unite="kg">67</poids>
Syntaxe
<xsd:complexType name="typePoids">
<xsd:simpleContent>
<xsd:extension base="xsd:positiveInteger">
<xsd:attribute name="unite" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>

21
Indicateurs d'occurrences
XSD offre la possibilité de mentionner le nombre d'occurrence
possible pour un élément donné et ce par le biais des attributs
minOccurs et maxOccurs
minOccurs: le nombre minimal de fois où un élément peut paraître dans
un document XML.
maxOccurs: le nombre maximal de fois où un élément peut paraître dans
un document XML.
Dans les cas d'un élément présent avec un nombre de fois
illimité, la valeur unbounded est utilisée.
XSD
DTD
minOccurs maxOccurs
* 0 unbound
+ 1 unbound
? 0 1
- 1 1

Exercice 3
Écrire un XSD validant le document XML de l’exercice 1.
Solution

22
XSL
XSL : eXtensive Stylesheet Langage.

XSL a été créé comme langage de feuilles de style général pour


les données XML afin de formater les données XML.

XSL offre (un peu comme les CSS) des propriétés de style et
contient des éléments qui contrôlent le déroulement logique de
l a prés entati on de données , comme l a numérotation
automatique de chapitre ou des fonctions de tri.

Contient en plus des constructions telles que des instructions


conditionnelles ou des instructions pour des boucle.

Composants XSL
La recommandation XSL du W3C est basée sur 2 composants :

Un composant pour le formatage de données XML (XSL-FO : "XSL


Formatting Objects" ).

Un composant pour la transformation de données XML en d’autres


données XML (XSLT : "XSL Transformation" )

Transformation
XSL

Document Document
Source Final
Feuille de Style
XSL

23
Déclaration d’une XSL
Un document XSL comprend impérativement une en-tête contenant la
déclaration XML et indiquant le jeu de caractères utilisé.

La déclaration XSL sera faîtes grâce à <xsl:stylesheet et vient juste


après l'en-tête et comprendra ainsi toute les déclarations relatives au
formatage et traitement du document XML.

Au niveau du fichier XSL


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Tra
nsform">
</xsl:stylesheet>
Au niveau du fichier XML
<?xml:stylesheet type="text/xsl" href="biblio.xsl"?>

Exemple de mise en forme avec XSL (1/3)


Soit le document XML suivant
<?xml version="1.0" encoding="UTF-8"?>
<?xml:stylesheet type="text/xsl" href="biblio.xsl"?>
<bibliotheque>
<livre>
<titre>XML</titre>
<auteur>Yves Dubois </auteur>
<auteur>Benoit Marchal</auteur>
<edition>Campus Press</edition>
<ISBN>2744009245</ISBN>
</livre>
<livre>
<titre>Objet Relationnel sous Oracle8 </titre>
<auteur>Christian Soutou</auteur>
<annee>2005</annee>
<edition>Eyrolles</edition>
<ISBN>2212090633</ISBN>
</livre>
</bibliotheque>

24
Exemple de mise en forme avec XSL (2/3)
On se propose donc de créer une XSL qui permettra de générer
un fichier HTML qui contient un tableau contenant la liste des
titres des livres ainsi que leur ISBN:

Exemple de mise en forme avec XSL (3/3)


Ce document XSL(T) est le suivant :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://w
ww.w3.org/1999/XSL/Format">
<xsl:template match="/">
<html><head><title>Gestion de Bibliothèque</title></head><body>
<h1>Liste des livres</h1>
<table border="1">
<tr>
<td>Titre</td>
<td>Auteur</td>
</tr>
<xsl:for-each select="bibliotheque/livre">
<tr> <td><xsl:value-of select="titre"></xsl:value-of></td>
<td><xsl:value-of select="ISBN"></xsl:value-of></td></tr>
</xsl:for-each>
</table>
</body></html>
</xsl:template>
</xsl:stylesheet>

25
Les expressions de sélection (1/2)
Ces expressions (XSL patterns) sont des chaînes de caractères
permettant la sélection d’éléments (noeuds) à partir d’un
document source.
1. Sélection d’éléments
<xsl:value-of select="element_name" />
Exemple
<xsl:value-of select="livre/titre">
Opérateurs de sélection
parent/fils : définir la sélection de l’élément « fils » de chaque élément
« parent ».
*/fils : définir la sélection des sous éléments « fils » quelque soit leurs
« parent ».
parent//fils : définir la sélection de tous les descendants « fils » de l’élé
ment « parent » et non seulement via les fils directs.
. : définir la sélection l’élément courant

Les expressions de sélection (2/2)


2. Sélection d’attributs :
Les attributs d'un élément sont sélectionnés pas la notation @attribute.
elmnt[@attr] sélectionne les éléments « elmnt » ayant comme attribut
« attr »
elmnt[@attr="id"] sélectionne les élément « elmnt » ayant comme
attribut « attr » et dont sa valeur est égale à «id ».

Exemple
<xsl:value-of select="livre[@langue]>
<xsl:value-of select="livre[@langue="fr"]>

26
Notions fondamentales (1/3)
1. <xsl:stylesheet>
C’est la racine du document XSL.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Tr
ansform">
</xsl:stylesheet>
2. <xsl:output>
Se place directement après <xs:stylesheet> et permet de
spécifer les options relatives à l'arbre de sortie.
<xsl:output
method="xml | html | text"
version="nmtoken"
encoding="chaine"
omit-xml-declaration="yes | no"
standalone="yes | no"
/>

Notions fondamentales (2/3)


method : méthode de transformation.
version : version de la méthode de sortie (xml 1.0, html 4.01...).
encoding : version du jeu de caractères à utiliser pour la sortie.
omit-xml-declaration : indiquer au processeur XSLT l'ajout ou non d'
une déclaration XML.
standalone : création ou pas d’un arbre de sortie avec ou sans déclarati
on de type de document.
3. <xsl:value-of>
Insertion de la valeur d’un élément ou d’un attribut lors de la
transformation.
<xsl:value-of select="titre"/>
select : évaluation de l'expression donnée, et insertion du résultat dans la
transformation.

27
Notions fondamentales (3/3)
4. <xsl:template>
Cet élément définit le modèle à appliquer à un noeud et à un contexte
spécifique.

<xsl:template name="nommodele" match="expression">


</xsl:template>
name correspond au nom associé au modèle.
match indique quel jeu de noeuds sera affecté par le modèle. Cette exp
ression peut comprendre un test d'existence d'attribut.

Questions ?

28

Vous aimerez peut-être aussi