Dada esta XML, hay una expresión xpath que se me dé la 'prueba' y 'nombre' valores?
Pregunta
Necesito obtener el valor de la "prueba" de atributo en el archivo xsl:cuando la etiqueta, y el atributo 'nombre' en el xsl:call-template tag.Este xpath me pone muy cerca:
..../xsl:template/xsl:choose/xsl:when
Pero que sólo devuelve el 'cuando' elementos, no exactamente los valores de atributo que necesito.
Aquí es un fragmento de mi XML:
<xsl:template match="field">
<xsl:choose>
<xsl:when test="@name='First Name'">
<xsl:call-template name="handleColumn_1" />
</xsl:when>
</xsl:choose>
Solución
Steve Cooper respondió a la primera parte.Para la segunda parte, se puede utilizar:
.../xsl:template/xsl:choose/xsl:when[@test="@name='First Name'"]/xsl:call-template/@name
Que coincidirá específicamente el xsl:cuando en el fragmento anterior.Si quieres que coincide generalmente, a continuación, puede utilizar:
.../xsl:template/xsl:choose/xsl:when/xsl:call-template/@name
Otros consejos
¿quieres .../xsl:template/xsl:choose/xsl:when/@test
Si desea obtener el valor 'Nombre' de la prueba de atributo, estás de suerte: el contenido en el interior del atributo sólo es una cadena, y no un pedazo de xml, de modo que usted no puede xpath es.Si usted necesita para obtener eso, debe utilizar la manipulación de cadenas (por ejemplo, subcadena) para obtener el contenido correcto