Introduction
- Qu'est-ce que XML
- Architecture globale
- Un ensemble des spécifications annexes a XML
- Pointeurs et status
- Quelques exemples
XML
Comme SGML c'est un meta language:
- language a balise (tags, markup)
- génère un sous-ensemble de SGML
- validation possible a l'aide de DTDs
Il definit les règles de constructions mais pas de sémantique
XML-1.0 est une Recommendation du W3C.
Namespaces in XML est une Recommendation annexe pour les espaces de
nom.
XML Exemple
<?xml version="1.0" encoding="ISO-8859-1"?>
<exemple>
<titre>Un exemple</titre>
<chapitre numéro="1">
<titre>Introduction</titre>
<p>Ceci est un exemple très succint</p>
<img source="logo.gif"/>
</chapitre>
<chapitre numéro="2"/>
</exemple>
Architecture
La famille des spécification XML
- Simple Api pour Xml
- SAX est une interface de
programmation "simple" pour parseur XML
- Elle est basée sur un modele évenementiel
- startDocument(), endDocument()
- startElement(), endElement()
- characters(), etc.
- Surtout utilisée par les parseur en Java
- Une version C++ est en développement
- L'auteur est David Megginson
- Acronyme pour Document
Object Model
- DOM est aussi une interface de
programation
- connu sous d'autres noms: DHTML
- DOM peut etre utilisé aussi bien pour des document XML que HTML
- il permet de consulter/modifier des document chargés en mémoire
- Node: firstChild, previousSibling, nextSibling, insertBefore()
- Document: createElement(), createAttribute()
- Element: getAttribute(), setAttribute()
- Entity et EntityReference: manipulation d'entités
- DOM Niveau 1 est une Recommendation du W3C
- la version
2 est une Proposed Recommendation
Arbre DOM
DOM expose le document comme un arbre
- XPath est un language
d'expression s'appliquant a un document XML
- Il est destiné a la recherche de noeuds dans un arbre XML
- syntaxe simple et non ambigue
- type usuels: chaines, nombres, booleens, variables, fonctions
- manipule aussi des noeuds et des ensembles de noeuds
- spécifie une librairies de fonction extensible
- base sur une compositions de recherches par axes
- XPath est utilisé par XPointer
et XSLT
- XPath-1.0 est une Recommendation du W3C
Examples
- /chapter[@type="warning"]
- //p[position()=5]
XSL
- XSL est un language de feuilles de
styles.
- Il est compose de deux parties principales:
- XSLT: un language de transformation
- XSL: un jeux d'instruction de formatage en XML destiné a la
présentation
- La partie formattage comporte:
- Le modele de formatage: boites, positionnement, ordonnancement
- Des propriétés d'affichage: text-align, margin-left, background
- XSLT-1.0 est une Recommendation du W3C
- XSL est une Candidate Recommendation
- Divers outils permettent d'utiliser XSL
- Recentes versions d'Internet Explorer de Microsoft
- XT de James Clark
for XSTL
- FOP de James Tauber pour
XSL
- en cours dans Mozilla
XHTML
- XHTML est l'evolution logique du format HTmL vers la syntaxe XML
- XHTML 1.0 est une réécriture
du language HTML-4.0 en XML
- compatible avec les "butineurs" HTML
- syntaxe XML
- XML bien formé
- les balises sont en minuscules
- les attributs doivent etre quotés
- toutes les balises doivent etre fermées
- XHTML-1.0 est une Recommendation du W3C
- XHTML 1.1 est plus
ambitieux:
- language modulaire et extensible
- plus intégré a l'environnement XML
- La spécification de la modularization est une Proposed
Recommendation
XPointer
- XPointer definit la syntaxe pour les
fragment de documents XML
- Exemple: http://www.w3.org/TR/xhtml1/#html4
- Le but est de pouvoir adresser des parties d'une ressource XML:
- Compatible avec les fragments HTML
- Permet de représenter n'importe quelle sélection
- Utilise XPath
- Etend XPath en ajoutant les types point et plage (range)
- recherche par chaine de caracteres
- extensions spécifiques a l'hypertexte: here(), origin(), ...
- XPointer-1.0 est une Candidate Recommendation
Exemples XPointer
- #Introduction
- #xpointer(id("Introduction"))
- #xpointer(/chapitre[2]/p[3])
- #xpointer(//chapitre[titre="Introduction"]/
descendant::p[position()=last()])
- #xpointer(id("sec2.1")//p[2]/range-to(id("sec2.2")//p[last()]))
- #xpointer(string-range(//title,"Thomas Pynchon"))
Query
XLink
- XLink fournit les construction
hypertexte de XML
- définit un espace de nom et une liste d'attributs
- liens simples, type <A href="...">
- liens étendus: multisource, multicible, externes
- annotation: ressources contiennent d'autre liens
- XLink-1.0 is currently
a Candidate Recommendation
Exemples XLink
un lien simple:
<students xlink:href="students.xml"> The list of
students.</students>
un lien étendu:
<element xmlns:xlink="http://www.w3.org/1999/xlink/namespace/"
xlink:type="extended">
<xlink:locator href="Source" role="role1"/>
<xlink:locator href="Target" role="role2"/>
<xlink:arc from="role1" to="role2"
show="embed" actuate="auto"/>
<xlink:title>The link title<xlink:title/>
<xlink:title xml:lang="fr">Description du lien<xlink:title/>
...
</element>
Annotations:
<xlink:extended xmlns:xlink="http://www.w3.org/1999/xlink/namespace/"
role="xlink:external-linkset">
<xlink:title>DV's Links</xlink:title>
<xlink:locator href="http://rpmfind.net/veillard/linkset.xml"/>
</xlink:extended>
XBase, XInclude
- Fonctionnalités supplémentaires a Xlink
- XML Base définit le mécanisme
de 'base' pour les references depuis un document XML
- XML Base est une Candidate Recommendation
- XInclude définit un
mécanisme d'inclusion pour document XML
- XInclude est un Working Draft
Signature
- XML Signature vise a
utiliser XML pour des documents légaux
- Garantir l'intégrite d'un document XML
- Authentifier le document
- Méchanisme de signature
- Utilise une syntaxe XML
- Le groupe de travail est public et conjoint avec l'IETF
- Il definit aussi la forme
canonique de XML
- XMLDsig et XML Canonalization (C14N) sont des Candidate Recommendation
Schemas
- XML Schemas: remplacer les DTD existantes
- Flexibilité
- Typage des données
- Utilise une syntaxe XML
- Deux drafts : Structures
et Type de données
- Le "primer" decrivant
l'utilisation de XML Schemas
- XML Schemas est une Candidate Recommendation
RDF
- RDF définit un format
de métadonnées visant la découverte automatique de resources
- Utilise un modele sémantique strict
- Les object sont des propriété
- Les propriétés elle meme sont des objets
- RDF est une Recommendation du W3C
Les spécifications
Ressources (en ligne)
- Livre: "The XML
Bible" Eliotte Rusty, ISBN: 0764532367
- Site Web generaux:
- Boites a outils:
- James Clark: expat, XP,
XSLT ...
- Apache: parsers, XSL, ...
- IBM Alphaworks:
parsers, XSL, DOM, Schemas, ...
- libxml: parseur XML et HTML,
validation, XPath, XPointer, ...
- ...