|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Nouveau Membre du Club
![]() Inscription : novembre 2008 Messages : 91 ![]() |
Bonjour !
Je me suis mis il y a peu à l'XSL, et j'ai du mal à comprendre le mécanisme créé à partir des deux balises xsl:template et xsl:apply-templates. Le petit exemple ci-dessous illustre un cas où je ne comprend pas le résultat : voici un bout de fichier xml assez simple : Code :
Code :
Code :
Merci pour votre aide =) |
||||||
|
|
00
|
|
|
#2 | ||||||
![]() ![]() |
C'est parce que, en XSLT, il existe deux règles invisibles, implicites, qui sont là même si tu ne les as pas demandées :
Code :
Elle ne s'applique que s'il n'y a pas une règle plus précise sur l'élément en question, comme match="AUTHOR", qui est plus précise puisqu'elle donne le nom de l'élément au lieu de * Code :
Donc, déroulement du traitement : - balise <BOOK> : pas de règle pour celle-ci, donc règle implicite, on applique les templates à tout ce qu'elle contient. - on arrive à <AUTHOR> : il y a une règle pour lui, on l'applique. - on arrive à <LASTNAME> : pas de règle, donc règle implicite. - on arrive au texte 'Bernadac' : règle implicite, on le copie tel quel. - fini <LASTNAME> - fini <AUTHOR> - on arrive à <AUTHOR> suivant, même fonctionnement - on arrive à <TITLE> : pas de règle, donc règle implicite. - on arrive au texte 'Construire une application XML' : règle implicite, on le copie tel quel. - fini <TITLE> - on arrive à <PUBLISHER> : pas de règle, donc règle implicite. - etc, etc, etc. Donc, comment régler le problème ? Code :
|
||||||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2008 Messages : 91 ![]() |
Raaa je n'aurai pas pu espérer meilleure réponse !
Merci beaucoup thelvin =) |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com