Dato questo XML, esiste un xpath che mi fornirà i valori "test" e "nome"?

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

  •  01-07-2019
  •  | 
  •  

Domanda

Devo ottenere il valore dell'attributo 'test' nel tag xsl:when e l'attributo 'name' nel tag xsl:call-template.Questo XPath mi avvicina molto:

..../xsl:template/xsl:choose/xsl:when

Ma questo restituisce solo gli elementi "quando", non i valori esatti degli attributi di cui ho bisogno.

Ecco uno snippet del mio XML:

<xsl:template match="field">
    <xsl:choose>
    <xsl:when test="@name='First Name'">
        <xsl:call-template name="handleColumn_1" /> 
    </xsl:when>
</xsl:choose>
È stato utile?

Soluzione

Steve Cooper ha risposto alla prima parte.Per la seconda parte puoi usare:

.../xsl:template/xsl:choose/xsl:when[@test="@name='First Name'"]/xsl:call-template/@name

Che corrisponderà specificamente a xsl:when nello snippet sopra.Se vuoi che corrisponda in generale, puoi utilizzare:

.../xsl:template/xsl:choose/xsl:when/xsl:call-template/@name

Altri suggerimenti

vuoi .../xsl:template/xsl:choose/xsl:when/@test

Se vuoi effettivamente ottenere il valore "Nome" dall'attributo test, sei sfortunato: il contenuto all'interno dell'attributo è solo una stringa e non un pezzo di xml, quindi non puoi xpatharlo .Se è necessario ottenerlo, è necessario utilizzare la manipolazione delle stringhe (ad esempio, sottostringa) per ottenere il contenuto corretto

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top