2012-05-01 9 views
60
<a> 
    <xsl:attribute name="href"> 
    <xsl:value-of select="/*/properties/property[@name='report']/@value" /> 
    </xsl:attribute> 
</a>  

Esiste un modo per cancat un'altra freccia alCome concat una stringa per xsl: value-of select =" ...

<xsl:value-of select="/*/properties/property[@name='report']/@value" /> 

ho bisogno di passare un po 'di testo per attributo href in Oltre al valore della proprietà rapporto

risposta

103

È possibile utilizzare la funzione di XPath piuttosto sensibilmente chiamato chiamato concat qui

<a> 
    <xsl:attribute name="href"> 
     <xsl:value-of select="concat('myText:', /*/properties/property[@name='report']/@value)" /> 
    </xsl:attribute> 
</a> 

Ovviamente, non deve essere testo qui, può essere un'altra espressione xpath per selezionare un elemento o attributo. E puoi avere un numero qualsiasi di argomenti nell'espressione concat.

Do nota, si può fare uso di attributi di modelli di valore (rappresentati dalle parentesi graffe) qui per semplificare la vostra espressione

<a href="{concat('myText:', /*/properties/property[@name='report']/@value)}"></a> 
+2

@TimC: Buono, ma il 'concat() funzione' non è necessario qui. –

+0

Ho il seguente tag: 'Anders, John' e vorrei creare un campo nascosto in XSLT che prende solo l'ID #. Come posso ottenerlo? – SearchForKnowledge

14

Uso:

<a href="wantedText{/*/properties/property[@name='report']/@value)}"></a> 
17

tre risposte:

Semplice:

<img> 
    <xsl:attribute name="src"> 
     <xsl:value-of select="//your/xquery/path"/> 
     <xsl:value-of select="'vmLogo.gif'"/> 
    </xsl:attribute> 
</img> 

Usando 'concat':

<img> 
    <xsl:attribute name="src"> 
     <xsl:value-of select="concat(//your/xquery/path,'vmLogo.gif')"/>      
    </xsl:attribute> 
</img> 

attributo di scelta rapida, come suggerito dal @TimC

<img src="{concat(//your/xquery/path,'vmLogo.gif')}" /> 
+1

Come indicato da Dimitre, non è necessario il concat qui: '' – Svish

3

Il modo più semplice per concat una stringa di testo statico a un valore selezionato è quello di utilizzare elemento.

<a> 
    <xsl:attribute name="href"> 
    <xsl:value-of select="/*/properties/property[@name='report']/@value" /> 
    <xsl:text>staticIconExample.png</xsl:text> 
    </xsl:attribute> 
</a> 
-1

metodo più semplice è

<TD> 
    <xsl:value-of select="concat(//author/first-name,' ',//author/last-name)"/> 
    </TD> 

quando la struttura XML è

<title>The Confidence Man</title> 
<author> 
    <first-name>Herman</first-name> 
    <last-name>Melville</last-name> 
</author> 
<price>11.99</price> 
Problemi correlati