Professional Documents
Culture Documents
1. Introduction
Un document XML publiable :
Le document XML lui-mme la DTD ou le schma pour dcrire les balises CSS ou XSL pour adapter le format aux besoins
XSL = eXtended Style Langage XSL est utilis pour permettre de convertir les donnes par exemple en HTML pour laffichage Il est beaucoup plus puissant que CSS
Vritable langage de programmation par rgles
XSL
XML Document
XSL Processor
XSL Stylesheet
Format (XML) application e.Commerce
XSL
Architectures
XML Programme XML Fichier XML Base de donnes
4
HTML S E R V E U R
ASP ou JSP Processeur XSL
Affichage
HTML Affichage
XML
Processeur XSL
Affichage Traitement
XSL
Principe de fonctionnement
Document XML
Impression
XML
XSL
XSLT et XSLFO
XSL est un langage XML constitu de deux parties:
Un langage pour transformer un document XML en un autre (XSLT: Transformations) - Nov. 1999 Un vocabulaire XML pour spcifier des instructions de formatage (XSL-FO: Formating Objects) Oct. 2001
Microsoft Internet Explorer 5.0 et plus supportent la spcification Netscape 6 supporte XSLT Processeur XSLFO
Apache Group : FOP (Formating Object Processor) http://www.apache.org
XSL
7
Dfini sparment
Utilis dans dautres standards W3C (XQuery, XPointer, ...) XPath est un langage dexpressions permettant de slectionner des parties dun document XML
XPath
XPath
XML Path Language
recommandation W3C pour expressions de chemins accepte le 16 novembre 1999 version 2 en cours d'laboration
XPath
livre
titre
chapitre
chapitre
section
Buonaparte
Neige
XPath
10
relatif
commence un nud courant tape1//tapeN
XPath
11
Syntaxe et smantique
Cheminement lmentaire direction::slecteur[predicat] Directions parent, ancestor, ancestor-or-self child, descendant, descendant-or-self preceding, preceding-sibling following, following-sibling self, attribute, namespace Slecteur nom de nud slectionn (lment ou @attribut) Prdicat [Fonction(nud) = valeur]
XPath
12
XPath - Exemples
Sections d'un chapitre
/child::livre/child::chapitre/child::section /livre/chapitre/section
XPath
13
Xpath - Synthse
Slecteur / // * nom . @att text() processing-instruction(pro') comment() node() id(val) Nuds slectionns Racine du document Tout sous-chemin Tout lment Elment de tag nom Elment courant Attribut de nom att Tout nud de type texte Processing instruction de nom pro Tout nud commentaire Tout nud Elment d'identifiant val
XPath
14
3. XSLT
Permet de transformer un document
rgulier ou irrgulier de XML XML XHTML est un cas particulier
XSLT
16
Exemple de document
<?xml version="1.0" ?> <Guide> <Restaurant Categorie="**"> <Nom>Pomodoro</Nom> <Adresse> <Ville>Hammamet</Ville> <Dept>Nabeul</Dept> </Adresse> </Restaurant> <Restaurant Categorie="***"> <Nom>Astragal</Nom> <Adresse> <Ville>Tunis</Ville> <Dept>Tunis</Dept> </Adresse> </Restaurant> </Guide>
XSLT
17
Exemples
<xsl: template match="/"> <xsl: template match="auteur">
XSLT
19
La gnration du rsultat
Le contenu de l'lment <xsl:template> est la production de la rgle
Les lments du namespace xsl sont des instructions qui copient des donnes du document source dans le rsultat Les autres lments sont inclus tels quels dans le rsultat
Instructions pour:
Parcourir l'arbre du document source Copier le contenu du document source dans le rsultat
Parcours de l'arbre:
<xsl:apply-templates> <xsl:for-each>
XSLT
21
Arbre correspondant
Racine
<?xml-stylesheet ...
Article
Reference
1874
JT3006 Les attributs apparaissent comme des fils de llment auquel ils sappliquent
22
La seconde rgle:
Remplace chaque lment <ARTICLE> par un lment <P> Le contenu de <P> est le texte (sans les balises) contenu dans les descendants de l'lment <ARTICLE> (rgle par dfaut)
XSLT
24
XSLT
26
XSLT
27
XSLT
28
XSLT
29
XSLT
30
Bilan XSLT
XSLT est un langage trs puissant de transformation d'un arbre XML en un autre XSL permet en particulier de publier des donnes XML sur le Web par transformation en un document HTML standard XSL est utilis :
Pour publier des contenus XML Pour transformer des donnes (EAI, B2B)
XSLT
32
Les diteurs
XML
XSLT 33
Rendu
XSLT
4. XSLFO : aperu
Les Objets de mise en forme sont multiples :
<fo:block> <fo:display-rule> <fo:display-graphic> utilis pour les paragraphes, les titres ligne de sparation zone rectangulaire contenant graphisme
XSLFO
34
XSLFO : principes
Ils sont appliqus un nud de l arbre rsultat Ils sont appels par l espace nominale fo Syntaxe :
<xsl:template match="[motif xpath]" > <fo :[objet-de mise en forme] ([proprit-style]="[valeur]")+> [instructions-de-traitement] </fo:[objet de mise-en-forme]> </xsl:template>
XSLFO
35
XSLFO : Exemple
Dfinition de proprits pour la racine
<xsl:template match=/> <fo-display-sequence font-style=italic start-indent=4pt end-indent=4pt font-size=18pt <xsl:apply-templates/> </fo-display-sequence> </xsl:template
XSLFO
36
Bilan XSL
XML = SGML lger pour la production de publications web importantes :
production dune source unique en XML ; XSLT = gnration automatique de prsentation web multiples ; XSLFO = gnration automatique sur dautres supports.
Questions ?
XSL
37
5. Autres spcifications
Xlink = liens externes entre documents Xpointer = pointeurs internes un document Xforms = saisie de formulaires avec XML RDF = cadre de description de ressources
modle binaire <proprit - valeur>
XLL et plus
38
Exemples simples
<Annotation xlink:type="simple" href="note1.xml"> 1 </Annotation> <Auteur xlink:type="simple" inline="true" href="http://www.e-xmlmedia.com/~georges/"> Georges Gardarin </Auteur> <Image xlink:type="simple" href="logo.gif"/> Les attributs doivent tre dfinis dans la DTD
si le document en possde une
XLL et plus
40
Locator
<xxx xlink:type="locator" label="" title="" role="" href="" />
Arc
<xxx xlink:type="arc" from="" to="" show="" actuate="" title="" arcrole="">contenu</xxx>
41
actuate
manuel ou automatique
href
rfrence de l'URL
label
tiquette des arcs
title
titre du document cible
from
source de l'arc
role
rle du document cible
to
cible de l'arc
show
en place, interne ou nouveau document
XLL et plus
42
XLL et plus
43
XPointer
Permet de rfrencer un lment particulier d'un document
le document est spcifi par Xlink le Xpointer est ajout l'URI spare par # ou |
Pointeur absolue
id() : rfrence un lment d'identifiant donn root() : pointe sur la racine d'un document html() : rfrence un document HTML
XLL et plus
44
XForms
Nouvelle gnration de formulaires Web Assemblage de formulaires partir de schma
Schma = structure + type Contraintes = Dpendances, expressions et calculs
XForms
45
RDF
47
RDF
Une proprit (Property) dcrit des caractristiques d'une ressource C'est une combinaison dune ressource, dun type de proprit et dune valeur. ex : W3C Ressource Description Framework comme titre pour http://www.w3.org/RDF <RDF: Description href=http://www.w3.org/RDF> <Titre>W3C Ressource Description Framework</Titre> <Home-Page RDF: href=http://www.w3.org> </RDF:Description>
RDF
48
6. Conclusion
XSL pour transformer et prsenter
puissant mais complexe problme de performance des processeurs ?
Recommandation Xlink
http://www.w3.org/TR/WD-xlink
Rfrences
49