XSLT. Les documents XML peuvent avoir dans leur prologue une instruction de traitement xml-stylesheet. Cette instruction de traitement indique au navigateur.

Slides:



Advertisements
Présentations similaires
Données structurées et XML
Advertisements

XML.
1 3.Langage XSL = XSLT + XSL-FO transformationFormatage.
Transformation de documents XML
DTD Sylvain Salvati
Cours MIAGE Henry Boccon-Gibod 1 XML, langage de structuration documentaire Langage de transformation et langage d'interrogation.
Données structurées et XML
Cours 2 : Transformation de documents XML
Xpath XPath is a language for finding information in an XML document.
le langage les éléments
Les fonctions de XPath et XSLT
Domaines nominaux XSLT
Nicolas Singer Maître de conférence, université Champollion
Tutoriel XSLT F. Sajous ERSS – 01/04/2005.
Manipulation d’XML avec XSL
Dossier TICE Excel.
Retour au menu principal. Généralités Lenvironnement Laffichage de la fenêtre Déplacement / sélection dans une feuille Classeurs La gestion des classeurs.
CREATION DE FEUILLE DE STYLE pour structuré le document XML
Cours XSLT/XPath - Yves Laborde
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
Introduction à DOM Maroua Bouzid
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
17 octobre 2012 Grégory Petit
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
28 novembre 2012 Grégory Petit
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
Notions sur le XML Réfs : manuel p 149. Introduction Le XML (eXtensible Markup Language) est un standard d'échange de données. Il fait partie comme le.
Le langage Javascript pour le web
Xpath XML Path language par Yves Bekkers
XSLT Langage de transformation darbre par Yves Bekkers.
Manipulation de formulaires en Javascript
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
Support des connaissances TP2 XSL-T
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
XML Plan du cours Introduction au fichier XML
8 - XML Cours XML.
Le Langage XML Belkhir Abdelkader Laboratoire LSI USTHB
Les outils de base : XPath, XSL, XLink, XForms
XSLT : XML Stylesheet Language Transformation
XSL eXtensible Stylesheet Language Historique 1999: XSLT 1.0 et XPATH 1.0 : versions supportées par la plupart des outils depuis février 2007 XSLT 2.0.
ACCARY-BARBIER / CNAM - Cycle C ère partie : Technologies XML  CHAPITRE 1 : XML et DTD  CHAPITRE 2 : Schémas XML  CHAPITRE 3 : XPath.
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
JavaScript.
Le langage XML.
XPath XML Path UP Web Année universitaire
Un survol du language C.
Modes d’adressage (1) Référence aux cellules dans les formules – Important lors des copier/coller Adressage relatif (dépend de la cellule d’origine) –
Programmation Web : Introduction à XML
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Publication et Traitement avec XSL
 Syntaxe du langage PHP
Université Lyon 2 - TICE 3 : séance 041 Traitement de données chiffrées dans un tableur TICE 3 – Séance 4 Karine Abbas, Ny Haingo Andrianarisoa.
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
Sélection de colonnes (la projection)
 G. Gardarin Les outils de base: Publication avec XML 1. XPATH 2. XSLT 3. XSLFO 4. XLink, XForms, RSS, … 5. XML et la bureautique.
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
Introduction à CSS Généralités. Introduction Beaucoup de documents XML sont destinés à être présentés. Les information du fichier seul (avec ou sans DTD)
eXtensible Markup Language. Généralités sur le XML.
XPath Intro 1 Notation 2 Exemples 3 Utilisations de XPath
24 octobre 2012 Grégory Petit
Introduction à l’utilitaire
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
XML les données réellement portables La nécessité d’un format de données universel et lisible se faisait sentir depuis longtemps, aujourd’hui avec le développement.
INF2005– Programmation web– A. Obaid Variantes de HTML.
1 Tableur Excel. 2 Introduction Un tableur est un logiciel permettant de manipuler des données numériques et d'effectuer automatiquement des calculs sur.
Transcription de la présentation:

XSLT

Les documents XML peuvent avoir dans leur prologue une instruction de traitement xml-stylesheet. Cette instruction de traitement indique au navigateur ou trouver la feuille de style associée au document. Si dans IE 5 „default.xsl” est le nom de fichier qui contient la feuille XSL.

LINUX Pilotes de Périfériques Rubini Alessandro Corbet Jonathan O'Reilly JAVA and XML McLaughlin Brett O'Reilly

Une feuille de style est un document XML, elle doit avoir une déclaration XML. stylesheet est l'élément racine de ce document. L'élément stylesheet ainsi que tous les autres éléments XSLT sont dans l'espace de noms Cet espace de nom est généralement attaché au prefixe xsl. version est l'attribut obligatoire de l'élément stylesheet. Une feuille de style minimale Le contenu de tous les éléments sera affiché (voir 1.xsl) A l'intérieur de l'élément stylesheet peuvent se trouver des sous-éléments ou section xsl:template. L'élément template possède l'attribut match dont la valeur désigne les éléments du document XML source qui serons transformer.

Le motif le plus simple est le nom de l'élément Voir (2.xsl) Le nom de l'élément est "nom" À chaque fois qu'un élément nom sera trouvé dans le document XML le processeur XSLT émettra le texte Le nom de l'élément est "nom". On peut également créer des balises dans le document de sortie. Par exemple HTML. Le restriction qui concerne les balises est qu'elle doivent êtres bien formée. Le nom de l'élément est "nom" Voir (3.xsl)

xsl:value-of L'élément xsl:value-of permet de calculer la valeur textuelle d'un élément particulier en entrée et l'insère dans le résultat. Le contenu de l'attribut select de l'élément xsl:value-of permet d'identifier l'élément. (voir 4.xsl)

xsl:apply-templates Par défaut le processeur XSLT lit le document XML d'entrée de haut en bas: à partir de l'élément racine il parcoure toute l'arborescence en suivant l'ordre d'apparition des éléments. Les modèles (templates) sont activés dans l'ordre d'apparition des éléments. Cet instruction, si elle est écrite sans aucun attribut, elle signifie "choisissez tous les enfants du nœud courant dans l'arbre source, et, pour chacun, trouvez la règle modèle correspondante dans la feuille de style, puis instanciez-la".

(Voir 5.xsl) Avec cette feuille de style, le processeur XSLT affichera : titre de livre et éditeur (Voir 6.xsl) Avec cette feuille de style, le processeur XSLT affichera : titre de livre, nom, prenom éditeur

L'élément xsl:apply-templates donne la possibilité de changer l'ordre de traitement des éléments de l'arbre. Le contenu de l'attribut select de l'élément xsl:apply-templates permet d'identifier l'élément à traiter. (Voir 7.xsl) Le "." retourne la valeur textuelle du nœud courant.

Le type de nœuds Il existe sept type de nœuds dans un document XML : nœud racine - dans un document il existe un seul nœud racine. nœud élément - représente la valeur de toutes les données caractères analysables trouvées dans l'élément lui-même et tous ces descendants nœud attribut - représente la valeur de l'attribut du nœud courant nœud texte - représente le texte contenu dans le nœud courant nœud commentaire - représente le texte contenu dans le commentaire nœud instruction de traitement - représente une instruction de traitement nœud espace de noms - Représente URI désignant l'espace de noms

Ces nœuds permettent de naviguer dans l'arborescence d'un document et surtout de sélectionner des éléments, attributs, commentaires ….

Filtre de noeuds Les filtres permet de préciser le type de noeuds à sélectionner.

Filtre comment() renvoie true si un nœud commentaire est trouvé. Filtre text() renvoie true si un nœud textuelle est trouvé. Puisque ni le nœud commentaire ni le nœud textuel n'ont pas de nom, les filtres text() et comment() localise le nœud textuel ou commentaire, qui est l'enfant direct du nœud contextuel. Par défaut, les feuilles de style XSLT traitent tous les nœuds de texte mais non les commentaire. Filtre processing-instruction() renvoie true si une instruction de traitement est trouvé. Sans argument le filtre processing-instruction() localise l' instruction de traitement, qui est l'enfant direct du nœud contextuel. Si il a un argument elle sélectionne uniquement les instruction de traitement spécifié par l'argument.

(voir 8.xsl) Jokers Les jokers permettent de sélectionner différents éléments et types de nœuds en même temps. *Correspond à tout nœud d'élément quelque soit son à tous les nœuds d'attribut (Voir 9.xsl) node()Correspond à tous les nœuds sauf les noeuds attribut et racine (Voir 10.xsl)

Sélections multiples avec | Grâce à | il est possible de sélectionner plus d'un type d'élément ou d'attribut. Voir(11.xsl) Ce modèle sélectionnera l'attribut ref et le sous élément titre de l'élément livre

Construction des chemins de localisation composés / permet de descendre dans l'arborescences des éléments. Si le chemin commence par / la descente début à partir de l'élément racine si non c'est à partir du nœud contextuel. // permet de sélectionner parmi tous les descendant, si les deux barres se trouvent au début de l'expression la sélection se fait à partir de l'élément racine, si les // suivent le nom d'un élément, la sélection concernent tous éléments contenu dans élément en question (élément//sous-élément).. Permet de sélectionner l'élément parent. Permet de sélectionner le nœud courrant (Voir 12.xsl)

Predicat Le predicat permet de sélectionner dans un ensemble un sous ensemble de nœuds. Un predicat contient une expression booléennes qui seront testées pour chaque nœud dans la liste de nœuds contextuelle. Si l'expression est fausse, le nœud est retiré de la liste. Ceci donne Rubini Alessandro Une expression entre crochets spécifie plus précisément un élément. Un nombre entre crochets donne la position d'un élément dans le jeu sélectionné. La fonction last() sélectionne le dernier élément. (Voir 13.xsl)

Chemins de localisation non abrégés /people/person syntaxe abrégée /child::people/child::person syntaxe non abrégée Toute étape de localisation XPath se déplace le long d'un axe depuis le nœud contextuel. Les différents axes divisent le document en plusieurs ensembles se chevauchant.

Child : contient les enfants du nœud contextuel Parent : contient le parent du nœud courrant Ancestor : tous les nœuds d'élément contenant le nœud contextuel, parent, les parents des parents … jusqu'au nœud racine. Following-sibling : contient tous les nœuds frères qui suivent le nœud contextuel (ayant le même élément parent). Preceding-sibling : contient tous les nœuds frères qui précédent le nœud contextuel (ayant le même élément parent). Following : tous les nœuds suivant le noeud contextuel. Preceding : tous les nœuds précédant le noeud contextuel. Namespace : tous les espaces de noms de nœud contextuel. Descendent : tous les descendants du nœud contextuel mais pas ce dernier. Ancestor-or-self : nœud contextuel et tous ses ancêtres. descendant-or-self : contient le nœud contextuel et ses descendants (voir 14.xsl)

A B 87 D C ancestor parent preceding Preceding-sibling following Following -sibling child descendant

Les opérateurs Ne peuvent pas être utilisée dans l'attribut match de l'élément xsl:template. Elle peuvent être utilise comme valeur de l'attribut select de l'élément xsl:value-of et dans les predicats

Les opérateurs arithmétiques de base + addition - Soustraction *Multiplication divDivision modmodulo (reste de la division)

Les opérateurs booléens orreprésente un OU logique Andreprésente un ET logique not()est une négation |permet de sélectionner plusieurs motifs =égalité !=différent de <inférieur de <=inférieur ou égale >=supérieur ou égale >Supérieur Après un test entre deux opérandes on récupère une valeur true ou false

Les fonctions XPath

Chaines de caractères string(arg) : convertit son argument d'un type quelconque en une chaine de caractère. starts-with(arg1,arg2) : retourne vrai si chaine que contient arg1 commence par la chaine que contient arg2. contains(arg1,arg2) : retourne vrai si le premier argument contient le second substring-before(arg1,arg2) : retourne la sous-chaine de premier argument qui précède la première occurrence de second argument. Si non elle retourne une chaine vide. substring-after(arg1,arg2) : retourne la sous-chaine de premier argument qui suit la première occurrence de second argument. Si non elle retourne une chaine vide. substring(arg1,arg2,arg3) : arg1 contient la chaine de caractère, arg2 indique la position de laquelle la sous chaine sera extraite, arg3 le nombre de caractère à extraire.

string-length(arg) : retourne le nombre qui indique la longueur de la chaine passée dans argument arg normalize-space(arg) : normalise les blancs qui se trouvent dans une chaine de caractère

Fonctions nodales Ces fonctions renvoient différents caractéristiques sur des ensemble de nœuds count(arg) retourne le nombre de nœud dans l'ensemble de noeuds passé en argument current()retourne le nœud courant last()retourne le nombre de nœuds de la liste de nœuds contextuelle position()retourne un nombre représentant la position du nœud courant à l'intérieur du nœud parent Id(arg)sélectionne l'élément dans le nœud courant par son identifiant. Plusieurs identifiants sont autorisés et doivent être séparés par des blancs. Ce sont les nœuds avec des attributs déclarés de type ID dan la DTD (voir exemple rec_element.xml avec 14.xsl) (voir exemple livres.xml avec 1.xsl dans C:\dessnice\kursxml\przyklady\xml_dtd)

namespace-uri(arg)prend en argument un ensemble de nœuds et retourne l'URI d'espace de noms du premier de ces nœuds dans l'ordre du document. name(arg)prend en argument un ensemble de nœuds et retourne le nom préfixé du premier de ces nœuds dans l'ordre du document. local-name(arg)retourne la partie locale du nom étendu du nœud dans l'ensemble de nœuds passé en argument qui est le premier dans l'ordre du document renvoie href renvoie renvoie xlink:href

Booléens boolean(arg) convertit son argument en booléen et retourne le resultat si arg = nœud vide la fonction retourne faux talse() retourne la valeur logique false true() retourne la valeur logique true not(arg) inverse la valeur booléen de son argument

Nombres number(arg)convertit l'argument en un nombre celling(arg)retourne le plus petit entier qui n'est pas inférieur que le nombre passé en argument floor(arg)retourne le plus grand entier qui n'est pas supérieur que le nombre passé en argument round(arg)arrondit son argument au plus proche entier sum(arg)retourne la somme de tous les nœuds après que chaque nœud ait subit une transformation en une valeur numérique (Voir 16.xsl)

Xsl:if L'élément permet d'appliquer un test conditionnel dans la structure d'une feuille de style/ …………… Xsl:for-each Permet d'appliquer des règles de style sur chaque nœud identique d'un template.

Xsl:choose Xsl:when Xsl:otherwise Ces trois éléments permettent de construire des tests conditionnels instruction ……. ……. instructions……..

Variables La déclaration des variables se fait grace à l'élément Valeur Ou Si la variable est déclarer dans l'élément, alors elle serait visible dans l'ensemble de la feuille. Si la variable est déclarer dans l'élément, alors elle est locale. La variable est appelée par l'intermédiaire de son nom qui doit être précédé de signe $. (voir 14.xsl)