Académique Documents
Professionnel Documents
Culture Documents
XML
XML (eXtensible Markup Language)
▼ Stockage
▼ Échange d’informations entre diverses applications
▼ Génération de documents (HTML par exemple)
▼ Export et import vers/de bases de données
▼ Etc.
Mini-formation XML 1
XML : méta-langage
XML, contrairement à HTML, ne possède aucune balise
prédéfinie :
▼ Il faut définir les balises suivant la signification des données
à manipuler : DTD, schéma XML.
▼ En XML, les données sont séparées de l’utilisation : le
balisage apporte une structuration logique.
<carnet_d_adresses>
<fiche numero="1">
<nom>TANGUY</nom>
<prenom>Philippe</prenom>
<email>philippe.tanguy@enst-bretagne.fr</email>
</fiche>
<fiche numero="2">
<nom>BIGARET</nom>
<prenom>Sébastien</prenom>
<email>sebastien.bigaret@enst-bretagne.fr</email>
</fiche>
</carnet_d_adresses>
Mini-formation XML 2
XML : méta-langage
Différents niveaux de définition :
Carnet d’adresses
Recette de cuisine
XHTML
Différents formats de Bioside
Etc.
Mini-formation XML 3
XML : structuration logique
En XML, la structuration logique des
documents est un structure arborescente
– Un arbre et non une forêt : un unique élément racine et non
plusieurs. Définition au sein d’une DTD (Document Type
Definition)
carnet_d
<!ELEMENT carnet_d_adresses
_adresse
(fiche*)>
s
|-
<!ELEMENT fiche
fiche
(nom,prenom,perso,travail?)>
(numero)
<!ATTLIST fiche numero CDATA
| |
#REQUIRED>
- nom
| |
<!ELEMENT nom (#PCDATA)>
- prenom
<!ELEMENT prenom (#PCDATA)>
| |
<!ELEMENT perso
- perso
(adresse,telephone+,email?)>
| |
<!ELEMENT travail
- |-
(adresse,telephone+,email?)>
adresse
<!ELEMENT adresse (#PCDATA)>
| |
<!ELEMENT telephone
- |-
(#PCDATA)>
telephon
Mini-formation XML <!ELEMENT email (#PCDATA)>
4
e
| |
Écriture d’un document XML
Le balisage :
▼ <balise>contenu</balise>
Le contenu peut être soit du texte soit d’autres éléments soit les deux.
▼ Élément vide : <balise/>
Les noms des balises doivent commencer par une lettre ou "_", les autres
caractères peuvent être des chiffres, des lettres, "_", "." ou "-".
Les noms des balises ne doivent pas commencer par xml.
Mini-formation XML 5
XPath : XML Path
Objectifs :
Mini-formation XML 6
XPath : notations
La notation XPath reprend une partie de la notation
utiliser pour naviguer dans un système d'exploitation,
ainsi :
▼ le séparateur est le le slash /
Mini-formation XML 7
Xpath : exemples
Récupérer la valeur des noms du carnet d’adresses :
values:/carnet_d_adresses/fiche/nom
TANGUY
BIGARET
Mini-formation XML 8
JDOM
API spécifique à java pour la manipulation de documents XML.
Mini-formation XML 9
JDOM : fonctionnalités
L'API de JDOM propose les fonctionnalités suivantes :
▼ Transformation XSLT.
Mini-formation XML 10
JDOM : manipulations de base
Insertion dans le classpath de la librairie « jdom.jar »
Classes principales :
▼ Document
▼ Element
▼ Attribute
Mini-formation XML 11
XPath avec JDom
Insertion dans le classpath de :
▼jdom.jar
▼jaxen-core.jar
▼jaxen-jdom.jar
▼saxpath.jar
Classe principale :
▼XPath
– XPath xpath =
XPath.newInstance("//fiche[@numero='2']/perso/email");
Mini-formation XML 12