J'ai un code XML qui ressemble à ceci;Comment référencer génériquement un nœud racine XML
<Root attr1="ABC">
<Element1>
<Element2>
<Element3 />
</Element2>
<Element2>
<Element3 />
</Element2>
<Element1>
</Root>
J'ai quelques XSLT qui traite ce, et pour une raison ou une autre, il fait référence au nœud racine comme « racine » (sans les guillemets).
Je suis maintenant dans une position où je vais avoir un XML à structure identique, à l'exception du nœud racine qui est appelé par exemple. Je ne veux pas deux versions de mon XSLT, donc je peux référencer le nœud racine d'une manière plus générique.
À titre d'exemple de ce que je veux dire ...
<xsl:when test="/Root/@attr1 = 'ABC'">
J'ai besoin que cela fonctionne aussi pour
<xsl:when test="/NewRoot/@attr1 = 'ABC'">
Je l'ai noté dans ma lecture sur le sujet que les soins doivent être prises pour assurer que la référence est le nœud racine, et non l'élément Document, ce dernier je suppose est cette partie de la XML
<?xml version="1.0" encoding="UTF-8"?>
Toute aide est toujours appréciée.
Merci
Eh oui, cela l'a fait. Merci Je le prends alors il n'y a pas une façon «générique» de se référer au nœud racine? – Nerdio
'name (/ *)' vous renverra le nom du noeud racine, mais à moins que vous n'utilisiez XSLT 2.0 ou supérieur, il n'est pas trivial de l'utiliser dans une expression XPath. – davmos