Samir Bennani sbennani@emi.ac.ma



Documents pareils
XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Production de documents avec XSLT. Production de documents p.1/??

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Gestion Électronique de Documents et XML. Master 2 TSM

Master d Informatique Corrigé du partiel novembre 2010

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Publication et Traitement avec XSL. 1. XPATH 2. XSLT 3. XSLFO 4. Traitement de documents 5. Conclusion

Server-side XML. PAS FINI... mais ok pour un début. Originaux. Auteurs et version. Prérequis: Java de base, servlets, GUI et XML

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

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

Document Object Model (DOM)

Les outils de création de sites web

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Formation HTML / CSS. ar dionoea

Le codage informatique

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Outils logiciels pour l'ingénierie documentaire

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

Introduction à Expression Web 2

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

1 INTRODUCTION ET OBJECTIFS GÉNÉRATION DE PDF AVEC.NET LES SOLUTIONS DE BI AVEC.NET...13

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT

Parcours FOAD Formation EXCEL 2010

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

BASE DE DONNÉES XML NATIVE

XML et Bases de données. Les bases de données XML natives.

Introduction à Microsoft InfoPath 2010

Initiation à html et à la création d'un site web

L'essentiel de XML. Cours XML. Olivier Carton

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

Les types de fichiers

Note de cours. Introduction à Excel 2007

Programmation Web. Madalina Croitoru IUT Montpellier

Malgré son aspect spartiate, Freeplane offre de nombreuses fonctionnalités en particulier dans le domaine de la diffusion des cartes sur le Web.

Gestion documentaire (Extraits du CCI version 1.2)

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Bernard Lecomte. Débuter avec HTML

BUREAUTIQUE. 1 Journée. Maîtriser les fonctions de base du logiciel

Module BD et sites WEB

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

HTML. Notions générales

Se former pour réussir!

Programmation Internet Cours 4

ACQUISITION. Traitement de l image. Classement. Préparation. Ouverture. Performance

Web Site Story Etude, développement et valorisation de votre présence internet

4. SERVICES WEB REST 46

Bureautique Initiation Excel-Powerpoint

Introduction aux concepts d ez Publish

OASIS Date de publication

PHP 5.4 Développez un site web dynamique et interactif

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

02/02/2011. test 1. Communication visuelle & web. Pao. Principes fondamentaux. Les six principes de base. La mise en page. Module sur trois journées

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

COURS HOMOLOGUE ECDL/PCIE EXCEL 2013

Architectures web/bases de données

Application de lecture de carte SESAM-Vitale Jeebop

Programmation des Applications Réparties. Parsers XML DOM et SAX

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

Informatique Générale

Présentation du langage et premières fonctions

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

BASE DE DONNÉES XML NATIVE

ODS : organiser et diffuser des sorties

les techniques d'extraction, les formulaires et intégration dans un site WEB

Systèmes d'informations historique et mutations

La balise object incorporer du contenu en HTML valide strict

Université de Bangui. Modélisons en UML

RESPONSIVE WEB DESIGN

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

7.0 Guide de la solution Portable sans fil

Optimiser moteur recherche

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

PRESENTATION. Parcours de formation à distance A destination des personnels en contrats aidés

3. RÉALISATION ET QUALIFICATION D UN PROTOTYPE 3.1 Réalisation d un prototype CRÉATION D UNE PAGE WEB STATIQUE AU FORMAT HTML

Atelier Formation Pages sur ipad Pages sur ipad

Informatique : Création de site Web Master 2 ANI TP 1

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Programme de Formation Office 2010 Word, Excel, Powerpoint et Outlook 2010 pour Windows

Sommaire. -1-Computer en bref. Web en bref. Le web 3.0,...la mobilité. Evolution du Web web1.0, web2.0, web2.b, web3.0...

Numbers sur ipad. Atelier Formation Numbers sur ipad. [Notes extraitres de l'aide en ligne]

Les services usuels de l Internet

Utilisation avancée de SugarCRM Version Professional 6.5

Bases de programmation. Cours 5. Structurer les données

Introduction aux «Services Web»

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Transcription:

XML 63

Samir Bennani sbennani@emi.ac.ma 64

<?xml version="1.0" encoding="code" standalone="yes/no"?> version="1.0" version utilisée actuellement encoding indique le code utilisé : "UTF-8" par défaut standalone : le document dépend ou non d'un autre (indication) Instructions de traitement Une référence vers une application pour traitement : nom-application + paramètres Traitement de style : <?xml-stylesheet type="text/xsl" href="annuaire.xsl"?> Autre traitement : <?mon_applicat SELECT * from table?> 65

L'ASCII 7 ou 8 bits et dérivés sont insuffisants pour : expression de documents multilingue échange de documents standardisés reconnus par tous UCS (Universal Character Set) sur 4 octets (4 109 codes) ou sur 3 ramené à UTF-16 ou UTF-8 (par défaut) Génération UTF-8 et 16 sur Windows NT et 2000 ISO-8859-1 : caractères latino-européens ISO-8859-6 : ASCII + Arabe Windows-1252 : variante européenne pour l'ascii sur MS Windows l'unicode sur 16 bits : 63 356 caractères possibles permettant de coder les alphabets les plus utilisés de la planète un peu lourd quand il est exclusivement utilisé en local codes ASCII anglais sur 7 bits et les autres caractères sur 16 bits En attendant une adoption complète 66

Les balises XML sont propres aux auteurs des documents et applications Les documents peuvent être composés de parties issues de plusieurs auteurs parties de documents destinées à plusieurs applications et donc comportent des noms d'éléments ou d'attributs pouvant être identiques Nécessité de différencier entre les éléments et attributs Les Espaces de Nom 67

Différenciation des identificateurs (éléments et attributs) Identifier les espaces de nom de manière unique par un URI, en général : nom d'url ex : <personne xmlns:pers="http://www.emi.ac.ma/pers"> espace par défaut : <personne xmlns="http://www.emi.ac.ma/pers"> simplifie la lecture pour les éléments les plus utilisés valables pour tous les descendants de l'élément ne sont pas toujours du même espace de noms URL (Locator) : le plus utilisé ou URN (urn:nom-espace:chaine-specifique), plus adapté mais encore peu utilisé préfixe de Chaque identificateur : nom du domaine de nommage pers:nom indique l'élément nom dans l'espace pers Eléments et attributs : Identification espaces par URI : Unified Resource Identifier 68

Insère dans le document du texte qui ne sera pas interprété si le texte contient de nombreux caractères <, >, ", ',.. Pour montrer des exemple XML <!CDATA[ <racine> Tout le texte compris dans CDATA ne sera pas interprété même s'il contient des caractères réservés comme <, >, ", ', ]]> La suite "]]>" est interdite dans CDATA 69

Pour traiter le contenu des documents XML (XSL, ) Navigation dans un document Pour se positionner dans un document XML À partir du document A partir d un autre document (Liens entre documents) Navigation / Positionnement En absolu ou en relatif Définition d un modèle d arbre XML XPath 70

<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href=«tperiod.xsl"?> <PERIODIC_TABLE> <ATOM PHASE="GAS"> <NAME>Hydrogen</NAME> <SYMBOL>H</SYMBOL> <ATOMIC_NUMBER>1</ATOMIC_NUMBER> <ATOMIC_WEIGHT>1.00794</ATOMIC_WEIGHT> <BOILING_POINT UNITS="Kelvin">20.28</BOILING_POINT> <MELTING_POINT UNITS="Kelvin">13.81</MELTING_POINT> <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> 0.0899 </DENSITY> </ATOM> <ATOM PHASE="GAS"> <NAME>Helium</NAME> <SYMBOL>He</SYMBOL> <ATOMIC_NUMBER>2</ATOMIC_NUMBER> <ATOMIC_WEIGHT>4.0026</ATOMIC_WEIGHT> <BOILING_POINT UNITS="Kelvin">4.216</BOILING_POINT> <MELTING_POINT UNITS="Kelvin">0.95</MELTING_POINT> <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> 0.1785 </DENSITY> </ATOM> </PERIODIC_TABLE> 71

Racine Periodic-Table?xml-stylesheet type=".. ATOM PHASE="GAS" NAME Hydrogen ATOM SYMBOL... H... ATOM BOILING_POINT UNITS="Kelvin" 20.28 72

Document XML = arbre composé de nœuds utilisés par Xpath : La racine les éléments les attributs des éléments le texte dans les éléments les espaces de nom les instructions de traitement les commentaires Nœuds non utilisés par Xpath, mais DTD Référence à une entité Déclaration du type de document Entité Notation Déclaration d attribut 73

1. XPATH 2. XSLT 3. XSLFO 4. XLink, XForms, RSS, 74

75

XPath Expressions de chemins dans un arbre XML Permet de sélectionner des nœuds par navigation? 76

recommandation W3C pour expressions de chemins acceptée le 16 novembre 1999 (v 2 en cours d'élaboration) XSL Xpointer (liens) XQuery (queries) rechercher un élément dans un document adresser toute sous partie d'un document Utilisable dans une URI Possibilité de faire des tests (Pattern) Supporte XML Namespaces Expressions de chemins communes à : Xpath permet de Syntaxe non XML 77

Opérateurs de positionnement, chemins Indicateur de relation ou «Axe» Filtres : sélection des nœuds vérifiant filtre Prédicat : Relation entre nœud (père, fis, attribut, ) expression booléenne de positionnement Fonctions de nœuds, booléennes, numériques, de position, de chaînes 78

auteur XPath opère sur l'arbre d'un <livre = "Hugo"> <titre>les châtiments</titre> <chapitre> <section>buonaparte /section> <section>neige</section> </chapitre> Auteur = "Hugo" </livre> titre Les châtiments document racine livre chapitre section Bonaparte chapitre section Neige 79

Une expression de chemins : parcours de l'arbre document: depuis un nœud de départ vers un ensemble de nœuds cibles les cibles constituent la valeur du cheminement Un chemin peut être : absolu commence à partir de la racine /étape1/ /étapen relatif commence à partir d un nœud courant étape1/ /étapen 80

" " indiquer l'alternative < select="e1 E2"> sélectionne éléments de type E1 et E2 "/" exprime le chemin < select="section/paragraphe"> < select="/"> sélectionne la racine "//" chemin avec recherche dans tous les descendants < select="section//paragraphe"> + sous-paragraphes "." sélectionne le nœud courant ".." sélectionne le père du nœud courant "@" sélectionne les éléments avec attribut connu < select="@gsm"> éléments avec l attribut ATT1 81

Autres opérateurs * : tout élément @* : tout attribut [ ] : position Autres expressions de sélection XPath sélection éléments de nom donné avec un attribut donné section[@titre] tous éléments section ayant un attribut titre sélection éléments ayant des fils donnés section[paragraphe] toutes les sections ayant des fils paragraphe sélection des éléments dont l'attribut a une valeur connue section[@titre="introduction"] 82

Sections d'un chapitre /child::livre/child::chapitre/child::section /livre/chapitre/section Texte du chapitre 1 section 2 /descendant::chapitre[position() = 1] /child::section[position() = 2]/child::text() //chapitre[1]/section[2]/text() 83

Self : contient le nœud courant lui même (".") Child : nœuds fils directs ("") Descendant : tous les nœuds descendants directs et indirects Descendant-or-self : tous les nœuds descendants et soi (".//") Parent : l élément père ("..") Ancestor : tous les ascendants directs et indirects Ancestor-or-self : tous les ascendants et soi même Following-sibling : frères suivants (à droite) Preceeding-sibling : frères précédents (à gauche) Attribut : les attributs d un élément ("@") Les espaces de noms rattachés au nœud courant 84

Suivent un indicateur de relation Descendant::section : tous les descendants de type section Exemples Attribut::unit : l attribut «unit» de l élément courant Child::title : l élément fils = «title» Child::dc:title : l élément fils = «title» dans l espace «dc» Avec une fonction Descendant::comment() Child::text() 85

Opérateur booléens dans les expressions not (expression) "AND", "OR" exemples : section[not(@titre)] les sections sans titre section/paragraphe[cond1 and cond2 ] True() et False() Lang(ch) vrai si ch correspond à xml:lang Expressions arithmétiques ou de chaînes + - div mod NaN!= < > <= >= Valeurs : "xxx", NaN 86

87

comment() tous nœuds commentaires fils du courant pi() ou processing-instruction() les éléments de traitement pi("xml-stylesheet") toutes les feuilles de style text() sélectionne les nœuds textes node() sélectionne tous les nœuds, qque soit leur type Last() nombre de nœuds dans le contexte courant Position() position du nœud courant Count () compte le nombre de nœuds de l argument Id(" ch1 ch2 ch3 ") les éléments id ayant une des valeurs Name() nom de l élément en argument 88

String (objet) convertit en chaîne de caractères Concat(ch1, ch2, ) concatène les chaînes en arguments Starts-with(ch1, ch2) vrai si ch1 débute par ch2 Contains(ch1, ch2) vrai si ch1 contient ch2 Substring-before(ch1, ch2) retourne la partie de ch1 avant ch2 ou vide Substring-before("1999-08-03:22.40", ":") retourne "1999-08-03" Substring-after(ch1, ch2) retourne la partie de ch1 après ch2 ou vide Substring(ch1, nb1, nb2) retourne la chaîne commençant à nb1 et terminant à nb2 String-length Translate (ch1, ch2, ch3) retourne ch1 avec les ch2 remplacés par ch3 89

Number() transforme l'argument en nombre Number ("+0.35") > 0 est vrai Number (true)=1, 0 pour faux Sum() effectue le somme des arguments Floor() retourne la partie entière de l'argument Ceiling() retourne la partie entière + 1 Round() arrondi de l'argument 90

<?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet href="film.xsl" type="text/xsl"?> <FILM> <TITRE>Vertigo</TITRE> <AUTEUR>Alfred Hitchcock</AUTEUR> <ANNEE>1958</ANNEE> <GENRE>Drame</GENRE> <PAYS>Etats Unis</PAYS> <RESUME> Scottie Ferguson, ancien inspecteur de police, est sujet au vertige depuis qu'il a vu mourir son collègue. Elster, son ami, le charge de surveiller sa femme, Madeleine, ayant des tendances suicidaires. Amoureux de la jeune femme 91

<?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform "> <xsl:output method="html"/> <!-- Résumé du film --> <xsl:template match="film"> <h3>résumé</h3> <html> <xsl:value-of select="resum <head> </p> <!-- Titre du film --> </body> <title>film: <xsl:value-of select="titre"/> </title> </html> </head> </xsl:template> <body bgcolor="white"> </xsl:stylesheet> <p> <!-- Insérer une image GIF avec le titre comme nom -> <img SRC="{TITRE}.gif" align="left" height="220"/> <h1> <i><xsl:value-of select="titre"/></i> </h1> <!-- Genre, pays, et année du film --> <xsl:value-of select="genre"/>, <i> <xsl:value-of select="pays"/></i>, <xsl:value-of select="annee"/> </p> 92 <p>

93

Pour transformer un document XML vers XML, XML vers une présentation (HTML, texte, rtf, pdf, etc.) Un document est un arbre XSL processeur qui parcourt l'arbre applique les règles de transformations vérifiées (à condition vraie) aux nœuds sélectionnés produit un document en sortie 94

Plusieurs formats de publication pour un contenu Format ( Postcript) XML Browser Document (XHTML, DHTML, HTML) XSL Processor Format (XML) pour Word, Excel XSL Stylesheet format (WML) Format (XML) application e.commerce XSL permet la présentation sur des terminaux variés 95

HTML XML Programme XML Fichier XML Base de données S E R V E U R Affichage ASP ou JSP Processeur XSL HTML Affichage XML Processeur XSL Affichage Traitement 96

Une feuille de style XSL est un document XML de racine <xsl:stylesheet> contient une liste de règles de transformation <xsl:template> Chaque règle (<xsl:template>) précise: Une condition spécifiant le sous-arbre du document d entrée auquel elle s applique (match=) Une production spécifiant le résultat de l application de la règle (contenu) Il s'agit de règles de production classiques If <condtition> then <production> Codées en XML avec espace de nom xsl: 97

<?xml version="1.0"?> <Guide> <Restaurant Categorie="****"> <Nom>Le Bahia</Nom> <Adresse> <Ville>Fès</Ville> <Dept>Fès-Boulemane</Dept> </Adresse> </Restaurant> <Restaurant Categorie="***"> <Nom>Salè-Sucré</Nom> <Adresse> <Ville>Rabat</Ville> <Dept>Rabat-Salé</Dept> 98

<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/xsl"> <xsl:template match="/"> <html> <head><b>restau- XSL</B></head> <body><xsl:apply-templates/></body> </html> </xsl:template> <xsl:template match="guide"> <H1>BONJOUR EXEMPLE XML</H1> <H2>VOICI LE GUIDE</H2> <xsl:apply-templates /> </xsl:template> <xsl:template match="restaurant"> <P> <I>Restaurant :</I> <xsl:value-of select="nom"/></p> </xsl:template> 99

Définition des règles par <xsl:template > Attributs match: condition de sélection des nœuds sur lesquels la règle s'applique (XPath) name: nom de la règle, pour invocation explicite (en conjonction avec <call-template>) mode: permet d'appliquer à un même élément des règles différentes en fonction du contexte priority: priorité, utilisé en cas de conflit entre deux règles ayant la même condition Exemples 100

Le contenu de l'élément <xsl:template> est la production de la règle: Les éléments du namespace xsl sont des instructions qui copient des données du document source dans le résultat Les autres éléments sont inclus tels quels dans le résultat Instructions pour: Parcourir l'arbre du document source Copier le contenu du document source dans le résultat 101

<xsl:template>, définir une règle et son contexte <xsl:apply-templates />, appliquer les transformations aux enfants du nœud courant <xsl:value-of select />, extrait la valeur d'un élément sélectionné à partir du nœud courant <xsl:for-each>, définir un traitement itératif <xsl:pi>, générer une processing instruction <xsl:element>, générer un élément <xsl:attribute>, générer un attribut <xsl:if>, définir un traitement conditionnel 102

Processeurs XSLT conformes à la spécification: Apache Group (www.apache.org): Xalan Oracle XDK (www.oracle.com): XML Parser/ XSL Proc. MSXML.NET James Clark (www.jclark.com): XT Saxon libxml, libxslt (Unix C) Browser Microsoft MSXML et IE 5 ou plus Netscape supporte XSLT depuis la V6 Firefox Mozilla Editeur et debugger Style Vision de Altova Oxygen de Synchro Stylus Studio de Data Direct 103

XSLT un langage puissant de transformation d'un arbre XML en un autre XSLT permet en particulier de publier des données XML sur le Web par transformation en un document HTML standard XSLT est très utilisé : Pour publier des contenus XML Pour transformer des formats (EAI, B2B) 104

105

Permet des mises en pages sophistiquées Objets de mise en forme applicables aux résultats avec XSLT Distinction Formatage des pages Formatage des objets à l'intérieur des pages Statiques 106

Peut s'appliquer aux résultats des feuilles XSLT 107

Un document FO est formé d'un élément fo:root qui comprend deux parties distinctes une description des modèles de pages fo:layout-master-set une description du contenu fo:page-sequence Le contenu comporte : Des flux contenant les données mêmes du document Des éléments statiques dont le contenu se répète sur les pages (en-têtes courants, no de page, etc.) 108

Les objets de formatage sont multiples : <fo:block> utilisé pour les blocs de textes, paragraphes, titres <fo:display-rule> ligne de séparation <fo:external-graphic> zone rectangulaire contenant un graphisme (SVG) Ils possèdent de nombreuses propriétés Pour un block on peut définir la marge gauche et droite l espace avant et après le paragraphe la couleur du texte... 109

Pages portrait ou paysage Pages recto-verso Page de tailles variées Marges multiples Colonnes multiples Entête et pieds de page Caractères unicode Multiple directions d'écritures Numérotation des pages Graphiques et SVG Tables, avec entêtes, lignes et colonnes fusionnables Listes Zones flottantes 110

<?xml version="1.0" encoding="iso-8859-1"?> <fo:root xmlns:fo="http://www.w3.or g/1999/xsl/format"> <fo:layout-master-set> <fo:simple-page-master master-name="my-page"> <fo:region-body margin="2 cm"/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence masterreference="my-page"> <fo:flow flow-name="xslregion-body"> Element Root Layout master set Permet de déclarer une ou plusieurs page masters (masque) et page sequence masters pour définir la structure des pages (ici une de 2 cm de marges) Page sequence Permet de définir le namespace XSL-FO Les pages sont groupées en séquences et structurées selon la référence au masque. Flow C'est le container du texte utilisateur dans le document. Le nom du flot lit le texte à 111

Définition de propriétés pour la racine <xsl:template match= / > <fo-display-sequence font-style= italic startindent= 4pt end-indent= 4pt font-size= 18pt <xsl:apply-templates/> </fo-display-sequence> </xsl:template 112

Apache Group : FOP Formating Object Processor Génère du PDF http://www.apache.org JFOR (Open Source) Antenna House Génère du PDF http://www.renderx.com Altova XSL Formatter http://www.antennahouse.com RenderX Génère du RTF http://www.jfor.org StyleVision http://www.altova.com/products_xsl.html XML Mind FO Converter 113

XML = format pour la production de publications échangeables sur le web : production d une source unique en XML ; XSLT = génération automatique de présentations multiples ; XSL-FO = génération de présentations soignées avec pages maîtres et blocs formatés. 114

XLink = liens externes entre documents XPointer = pointeurs internes à un document XForms = saisie de formulaires avec XML RSS = format pour la syndication de contenus 115

116

Les Liens HTML ont des lacunes pas de saut vers une partie de document sans ancrage nommé + difficile si fichier cible non accessible en écriture pas d'historique (lien source, ), liens unidirectionnel XLL, extensible Linking Language : 2 parties X-Links : liens vers un URI de document X-Pointers : pour spécifier vers quelle partie du document ou l on va non encore implanté par les navigateurs 117

Tout élément XML peut devenir lien en ajoutant les attributs xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type type du lien xlink:href adresse URI de la ressource cible <FOOTNOTE xlink:type="simple" xlink:href="footnote4.xml"> <IMAGE xlink:type="simple" xlink:href="logo.gif"> Possibilité d'utilisation comme la balise A dans HTML <xlink:type="simple" xlink:href="footnote4.xml"> <FOOTNOTE> copyright </FOOTNOTE> </xlink:simple> Plusieurs types de liens simple (id HTML), extended : multi-directionnel (plusieurs sources, 118

Positionnement vers des endroits d'un autre document pas de besoin d'ancrage souvent utilisé avec ID syntaxe complète ou abrégé (avec ID) ex : accès à l'élément dans seminet ayant comme id "semxml" http://emi.ac.ma/emi_p_o/seminet.xml#xpointer (id(semxml")) en abrégé : http://emi.ac.ma/emi_p_o/seminet.xml#semxml 119

Avec Id Sans Id xlink:href='http://foo.bar.com#xpointer(id("d231"))' Xlink:href="xpointer(/child::chapitre[position()=3]/ child::section[position()=2]/ descendant::figure[position()=1]/child::legend)" Syntaxe de la séquence des enfants http://emi.ac.ma/emi_p_o/seminet.xml#/3/2/1 120