Je suis en train de produire un arbre de données qui ressemble à ceci:1.0 Création html XSL arbre ul-li de XPath, où les données sont dans les attributs XML sous forme de texte délimité par «/»
- racine
- 1stGenChild1
- 2ndGenChild1
- 2ndGenChild2
- 1stGenChild2
- 1stGenChild1
et ainsi produire le code comme suit:
<ul>
<li>root</li>
<ul>
<li>1stGenChild1</li>
<ul>
<li>2ndGenChild1</li>
<li>2ndGenChild2</li>
</ul>
<li>1stGenChild2</li>
</ul>
où mes données sont sous la forme:
<XML_FILTER>
<XPATH @xpath="root/1stGenChild1" />
<XPATH @xpath="root/1stGenChild1/2ndGenChild1" />
<XPATH @xpath="root/1stGenChild1/2ndGenChild2" />
<XPATH @xpath="root/1stGenChild2" />
</XML_FILTER>
Il serait relativement simple à réaliser cette dans XSLT2 avec tokenise, mais je ne peux pas utiliser XSLT2 pour cela car je suis limité à l'utilisation de MSXML 6.0 uniquement par le système utilisé.
Le plus gros problème que j'ai trouvé est que les méthodes normales de faire ceci ne peuvent pas traiter avec la racine n'étant jamais explicitement énoncée dans son propre attribut, mais j'ai toujours besoin de ce noeud dans la sortie.
Comment puis-je produire un arbre pour les données qui peuvent avoir plus de niveaux de nœud fils? - c'est à dire. beaucoup plus de listes dans les listes que l'exemple ci-dessus.
Est-ce que quelqu'un sait également s'il y a une limite au nombre de listes dans les listes avant que l'indentation ne soit rendue par les navigateurs, car cela rendra la vue inutile.
Merci beaucoup.
« * les méthodes normales de faire cela ne peut pas traiter les données dans un attribut, plutôt qu'à l'intérieur de l'élément. * » Quelle différence est-il? Quelles sont les "méthodes normales" auxquelles vous faites référence? –
À la réflexion, je pense que la différence dans mon cas est que le premier xpath dans mes données n'est pas la racine, c'est le premier enfant. Je veux toujours la même sortie, avec la racine dans son propre niveau. J'ai ajusté la question en conséquence. –
Le nom de l'élément racine est-il connu à l'avance? –