Je souhaite trouver la position du nœud parent à partir du nœud enfant dans XSLT.Recherche de la position du nœud parent à l'aide de XSLT
Répondre
Je veux trouver le nœud parent position à partir du nœud enfant dans xslt..please me aider ..
Cela se fait entièrement à l'aide XPath.
La réponse dépend de ce qui est la définition de « position de nœud parent:
count(../preceding-sibling::*) + 1
est le nombre ordinal du parent entre tous les éléments de niveau supérieur
count(../preceding-sibling::node()) + 1
est le ordinale numéro du parent parmi tous les noeuds de niveau supérieur (y compris les noeuds de texte, les commentaires et les PI)
L'expression ci-dessus est le seul correct si le nœud actuel est un enfant immédiat de la racine /
(tel qu'un élément supérieur, un commentaire de niveau supérieur ou une instruction de traitement de niveau supérieur).
Pouvez-vous s'il vous plaît expliquer comment cela fonctionne? – VextoR
@VextoR, un premier noeud, n'a pas de frères et sœurs précédents - donc sa position est nulle (nombre de frères et soeurs précédents) plus un. Si vous êtes Nième alors votre position est égale à la position de votre frère précédent immédiat - qui (par induction) est le compte de ses frères et sœurs précédents plus un - donc votre position est: (le compte des frères et sœurs précédents de votre frère précédent plus un) plus un. L'expression entre parenthèses est exactement le nombre de * vos * frères et sœurs précédents - par conséquent, votre position est le nombre de vos frères et sœurs précédents plus un. "Position" n'est pas la position XPath ici. –
Bonne question, +1. Voir ma réponse pour l'explication et deux solutions. :) –