Dada esta XML, hay una expresión xpath que se me dé la 'prueba' y 'nombre' valores?

StackOverflow https://stackoverflow.com/questions/97474

  •  01-07-2019
  •  | 
  •  

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>
¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top