Aller au contenu

La stratégie pour utiliser les transformations XSL pour créer des fonctions de traitement XML

On continu ensemble les cours sur XML et plus précisément sur les transformation XSL.

Dans ce nouveau cours vous aller découvrir comment créer des fonctions XSL, mais aussi les modèles XSL.

Tout est dans la vidéo ci-dessous.

[ppmaccordion][ppmtoggle title= »Afficher le texte de la vidéo »]

La stratégie pour utiliser les transformations XSL pour créer des fonctions de traitement XML

Bonjour à tous et bienvenu sur Développement Facile !

Ici Matthieu expert en développement applicatif, dans cette nouvelle vidéo, toujours consacrée au langage XML, c’est la suite directement de la vidéo précédent ou vous avez appris à utiliser les instructions XLS, dans cette vidéo vous allez aller beaucoup plus loin avec les différentes instructions XLS.

XSL : création de fonctions

Sans plus tarder on rentre dans le vif du sujet avec la création des fonctions, l’instruction xsl:function ça va vous permettre de créer des fonctions XSL. Je vous ai mis un exemple ici, vous définissez le nom, le type de la sortie avec as, c’est un peu comme les fonctions en ActionScript, JavaScript, en PHP surtout avec override écraser l’instruction mère, si la fonction existe déjà l’attribut override permet d’indiquer à XSL qu’il faut tenir compte de cette dernière lors de l’appel, override écrase le fonction qui existait.

Vous pouvez créer des boucles avec XSL, l’équivalent à l’instruction for dans d’autres langages de programmation comme le PHP et le JavaScript que vous avez sûrement déjà vu, si vous ne l’avez pas vu ce n’est pas un problème, vous allez le découvrir dans cette vidéo, le but c’est de créer une boucle, une fonction boucle qui a en entrée une chaîne de caractères et qui va renvoyer en sortie des entiers. Vous obtenez le résultat avec la conversion en entier et les caractères vous les séparés par des / justement à partir des paramètres d’entrée. Si vous donnez la chaîne 28 33 3 passée en paramètres de la fonction, ça renvoi les entiers 28 33 3, vous avez le code source de la fonction XSL juste en dessous, XSL : function-name, function-boucle, c’est le nom de la fonction, vous pouvez donner le nom que vous voulez, as c’est le type de sortie xsd:integer en sortie vous aurez des entiers, paramètres xsl:param le paramètre d’entrée de la fonction le nom name s-c, as le type de paramètres d’entré c’est des string, chaîne de caractères, la séquence, votre instruction select if votre paramètre d’entrée égale égale différent, vide, alors rien, vous ne faites rien, par contre si il y a un paramètre d’entrée, vous faites la conversion en integer, en entrée vous prenez 28/33/ c’est obligatoire il faut qu’il y ai des / pour que cette fonction fonctionne, type string on en boucle jusqu’au prochain / ce sera 33 et on boucle encore une fois le premier paramètre  ce sera 28, après boucle as substring after, donc jusqu’au prochain caractère, donc ce sera 33 et vous l’encore une fois et on prend trois et donc en sortie ça va sortir 28,33,3 déléguant avec cette fonction XSL.

Je vous invite dès maintenant à la tester vous-même, à faire des modifications, à l’améliorer, ça va vous permettre de mieux appréhender ce concept de boucle.

XSL

Vous pouvez également associer un schéma importé ou défini dans la feuille de style, c’est-à-dire avec l’instruction qui s’affiche sur votre écran xsl!import avec le name ySpace schéma location si le schéma est défini directement dans la feuille de style les attributs name space et schéma location sont vide, c’est à savoir.

Les modèles XSL

Ensuite une feuille de style XSL défini peut définir un ou plusieurs modèles de transformation, on appelle ça des templates, ces modèles s’appliquent aux documents XML d’origine, un modèle comme vous le savez, il est créé avec xsl:template instruction template que vous avez déjà vu, les modèles s’appliquent sur une sélection de nœuds ou sont appelés directement par leur nom et un modèle peut posséder un ou plusieurs paramètres suivant ce que vous souhaitez créer.

Un modèle sélectif sélectionne à travers l’attribut match xsl:template, les nœuds sur lesquels la transformation s’applique, c’est comme un rechercher et appliquer la transformation, la sélection des nœuds se fait avec des expressions XPath, vous l’avez vu dans les cours précédents comment utiliser XPath, et pour appliquer des modèles différents en fonction de la position d’appel sur un même ensemble de nœuds, xsl:template possède un attribut mode qui vous permet de donner un nom de mode d’applications.

Alors voici un exemple création pour créer deux modèles qui s’appliquent sur les titres en fait, sur les éléments titres, donc le premier modèle ça va afficher le contenu du titre et le second en majuscules avec une balise p, donc vous avez l’exemple de code pour vous montrer, XML : template match/titre, on va rechercher la balise titre avec valium sélecte, pareil juste en dessous sauf qu’on fait un value obsolète upper case, donc on le met en majuscules et dans une balise p vous avez la balise p qui est autour de XSL alors que dans le premier exemple on fait un value of. ça va afficher seulement le contenu du titre donc les modèles XSL, c’est très puissant bien évidemment, mieux comprendre vous faites un copier-coller de ce code chez vous pour voir un petit peu les résultats que ça peut donner c’est comme ça que vous allez mieux comprendre l’utilisation des instructions XSL.

Le modèle est appliqué vous avez d’autres instructions avec xsl:apply-template ça sélectionne un nœud qui répond au modèle, je vous ai mis un exemple typique d’utilisation, l’attribut sélect est optionnel, la valeur par défaut c’est le nœud contextuel sinon cette instruction appelle les modèles sur les nœuds sélectionnés. Si le modèle appelé possède un mode d’applications alors l’attribut mode précise ce mode, vous avez tout ce qui vous faut, on va voir un exemple. Par exemple un modèle peut être nommé, le nœud sélectionné correspond au contexte courant, xsl:template-name on donne toujours un nom à cette instruction, voilà après vous avez vos paramètres bien évidemment.

Vous avez également les caractères blancs avec les espaces, les tabulations, les fin de ligne et les retours à la ligne, les caractères blancs contenus dans un élément du document source sont conservés sauf dans certains cas, si le contenu est composé uniquement de caractères blancs et que l’élément est vide ou l’éléments set ne contient pas attributs xml:space-preserve, rappelez-vous dans le cours précédent pour conserver les espaces, les annotations tout ça, vous avez l’instruction xml:space-preserve ou si l’attribut xml:space est égal à défaut est présent dans un élément ancêtre de l’éléments courant, il ne sera pas conservé les caractères blancs dans le résultats. Les caractères blancs peuvent être supprimés avec un élément xsl:strip-space, ça vous l’avez déjà vu. xsl:strip-space donne la liste des éléments pour supprimer les caractères blancs donc que vous avez un exemple éléments= »tokens ». Pour conserver tous les caractères blancs il suffit d’utiliser xsl:preserve-space toujours en précisant les éléments consernés.

Votre plan d’action

Maintenant c’est à votre tour de jouer si je puis dire donc vous avez vu à travers cette vidéo plusieurs exemples que je vous invite à recopier de votre côté dans votre code à faire des essais des modifications pour comprendre le fonctionnement si vous avez des questions posez les directement sous cette vidéo l’équipe développement facile vous répondra. Je vous invite à consulter la deuxième vidéo, juste au-dessus de moi il y a une image, lancez la vidéo 2 donc dans la deuxième vidéo vous allez aller beaucoup plus loin avec XML, XSL, vous allez apprendre à analyser les documents XML avec PHP donc des classes vous simplifier la vie. Vous allez découvrir MySQL comment le couplé avec le XML en tirer avantages. HTML 5, CSS 3, JavaScript donc vous allez découvrir un tout cela dans la deuxième vidéo pour améliorer votre développement applicatif dont je vous dis tout simplement à tout de suite dans la deuxième vidéo.

[/ppmtoggle] [/ppmaccordion]

Partagez vos exemples de fonctions XSL

Utilisez la zone commentaire pour partager le code source de vos fonctions XSL.

EXCLUSIF : Les 7 Secrets Révélés de JavaScript pour Créer VOS Applications — dès la semaine prochaine !

EXCLUSIF : La formation « JavaScript Facile » OFFERTE pour Créer VOS Applications — dès la semaine prochaine !

EXCLUSIF : Créez VOS Applications JavaScript — en moins de 7 jours grâce à notre formation OFFERTE « JavaScript Facile »

Que diriez-vous de Développer des Applications JavaScript Performantes — dès la semaine prochaine ?

TÉLÉCHARGEZ : Les codes sources du livre « JavaScript Facile » pour Créer VOS Applications — dès la semaine prochaine !

Cliquez ici pour tout recevoir >>