<a>
<xsl:attribute name="href">
<xsl:value-of select="/*/properties/property[@name='report']/@value" />
</xsl:attribute>
</a>
Est-il possible d'annuler une autre chaîne à
<xsl:value-of select="/*/properties/property[@name='report']/@value" />
J'ai besoin de passer du texte à l'attribut href en plus de la valeur de la propriété report
Vous pouvez utiliser la fonction xpath assez judicieusement appelée concat ici
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('myText:', /*/properties/property[@name='report']/@value)" />
</xsl:attribute>
</a>
Bien sûr, il n'est pas nécessaire que ce soit du texte ici, il peut s'agir d'une autre expression xpath pour sélectionner un élément ou un attribut. Et vous pouvez avoir un nombre quelconque d'arguments dans l'expression concat.
Notez que vous pouvez utiliser ici des modèles de valeur d'attribut (représentés par des accolades) pour simplifier votre expression.
<a href="{concat('myText:', /*/properties/property[@name='report']/@value)}"></a>
Trois réponses:
Facile :
<img>
<xsl:attribute name="src">
<xsl:value-of select="//your/xquery/path"/>
<xsl:value-of select="'vmLogo.gif'"/>
</xsl:attribute>
</img>
Utiliser 'concat':
<img>
<xsl:attribute name="src">
<xsl:value-of select="concat(//your/xquery/path,'vmLogo.gif')"/>
</xsl:attribute>
</img>
Raccourci d'attribut suggéré par @TimC
<img src="{concat(//your/xquery/path,'vmLogo.gif')}" />
tiliser:
<a href="wantedText{/*/properties/property[@name='report']/@value)}"></a>
Le moyen le plus simple de concaténer une chaîne de texte statique avec une valeur sélectionnée consiste à utiliser élément.
<a>
<xsl:attribute name="href">
<xsl:value-of select="/*/properties/property[@name='report']/@value" />
<xsl:text>staticIconExample.png</xsl:text>
</xsl:attribute>
</a>
La méthode la plus simple est
<TD>
<xsl:value-of select="concat(//author/first-name,' ',//author/last-name)"/>
</TD>
quand la structure XML est
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
Ce n'est pas la solution la plus lisible, mais vous pouvez mélanger le résultat d'une valeur de avec du texte brut:
<a>
<xsl:attribute name="href">
Text<xsl:value-of select="/*/properties/property[@name='report']/@value"/>Text
</xsl:attribute>
</a>