Comment choisir le grand-parent d'un nœud à l'aide de xslt

Je suis dans une situation où je ne peux vérifier pour le nœud enfant, mais j'ai appliquer les balises pour les grands-parents de cet enfant nœud.

J'ai essayé d'utiliser:

<xsl:call-template name="grandparent" select="parent::parent::node()"/>

et:

<xsl:call-template name="grandparent" select="ancestor::node [@nameofgrandparentnode]"/>

Mais aucun ne fonctionne.

Le niveau de la grand-parent d'un nœud n'est pas fixe, donc je me dis que je ne pouvez pas utiliser [@level=#]. Toutes les idées sur la façon de choisir, il serait grandement apprécié.

EDIT: -- Cette partie a été posté sous une nouvelle question:

xslt sélectionnez un grand-parent du nœud en fonction de la valeur de l'attribut de son petit-fils nœud

Sélectionnant le nœud en utilisant les suggestions de ci-dessous travaillé. Merci! Cependant j'ai aussi besoin de tester par l'attribut de la grand-parent ou d'un petit-nœud.

J'ai essayé:

<xsl:template name"one" match="grandparentnode">
 <Tag1>
  <xsl:apply-templates select="parentNode" />
 </Tag1>
</xsl:template>

<xsl:template name="two" match="grandparentnode[*/*/@grandchildattr='attrValue']">
 <Tag2>
     <xsl:apply-templates select="parentNode" />
 </Tag2>
</xsl:template>

Cependant le modèle "deux" toujours est appelée, et "" est toujours inséré. Même pour le petit-nœuds dont la valeur de l'attribut n'est pas égal à "attrValue'.

Suis-je manqué quelque chose?

Bonne question (+1). Voir ma réponse pour un certain nombre d'expressions XPath que vous pouvez utiliser dans une <xsl:param> instruction.
La modification n'est pas clair. S'il vous plaît, fournir une complète (mais aussi court que possible) document XML et la feuille de style XSLT (encore une fois, aussi court que possible), que reproduire votre problème. De préférence, demandez ce à une nouvelle question.
Aussi Even for grandchild nodes whose attribute value is not equal to 'attrValue' ne peut pas être vrai avec ce modèle grandparentnode[*/*/@grandchildattr='attrValue']

OriginalL'auteur highlightall | 2010-09-09