2011-09-29 13 views
5

Ahora estoy usando xpath para probar el nodo hermano siguiente (tío o hormiga) siguiente del nodo padre de un nodo.Cómo verificar el hermano siguiente inmediato de los padres en xpath

Mi xml parece

<MyParent> 
<A> 
<B> 
<C> 
</MyParent> 

<Uncle> 
.. 
</Uncle> 

Ahora estoy en el partido plantilla para niño nodo B, y quiero probar si el immeididate siguiente-hermano de mi padre se llama "tío",

probé los siguientes dos XPaths:

<xsl:if test="parent::MyParent/following-sibling::*[1][self::Uncle]"> 
    <xsl:text>we have it</xsl:text>   
</xsl:if> 

y

<xsl:if test="parent::MyParent[following-sibling::*[1][self::Uncle]]"> 
    <xsl:text>we have it</xsl:text>   
</xsl:if> 

ninguno de ellos funcionará, ¿podrían los expertos ayudar a eliminar errores donde cometí errores? Gracias :).

+2

Tu código es correcto. Tal vez no se está ejecutando en el contexto que crees que es? Quizás puedas compartir más de tu script para que podamos verificarlo. –

+0

@_Robert: si su código no produce el resultado deseado, pero sí la respuesta aceptada, es probable que tenga problemas de espacio de nombres (por defecto). –

Respuesta

14

Pruebe esto.

../following-sibling::*[position()=1][name()='Uncle'] 
Cuestiones relacionadas