Je souhaite publier une seule citation autour de la variable $ ID dans la classe xsl suivante : valeur-de- xsl.
<xsl:value-of select="concat('process[@Ref=',$ID,']')"></xsl:value-of>
Actuellement imprimé
process@Ref=87799989
Permettez-moi de savoir comment puis-je réaliser cela.
Merci d'avance, Keshav
Utilisez '
?
<xsl:value-of select="concat('process[@Ref='',$ID,'']')"></xsl:value-of>
Edit: Voir la réponse de Dimitre pour une meilleure solution.
Dans XPath 1.0 :
Vous pouvez utiliser les entités intégrées '
"
Dans XSLT 1.0 :
Alternativement, vous pouvez définir vos variables $Q
et $APOS
(mettre le contenu (le caractère littéral "ou le caractère littéral") dans le corps de la xsl:variable
pas dans l'attribut select
).
Dans XPath 2.x (cela signifie également XSLT 2.x et XQuery 1.x)
Il suffit d'échapper à une apostrophe en entrant deux apostrophes adjacentes, échapper à une citation en entrant deux guillemets adjacents, tels que définis par la langue XPath 2.0
Pour développer la réponse de Dimitre, vous pouvez utiliser cette solution dans XSLT:
<xsl:variable name="apos">'</xsl:variable> <xsl:value-of select="concat('process[@Ref=',$apos,$ID,$apos,']')"></xsl:value-of>
<xsl:value-of select="concat('process[@Ref='',$ID,'']')"></xsl:value-of>
Cela ne fonctionne pas pour moi. Ma solution est:
<xsl:value-of select="concat("process[@Ref='",$oidConstant,"'")"></xsl:value-of>
Un exemple facile serait
<xsl:variable name="varTitle" select="title" /> <xsl:variable name="APOS">'</xsl:variable> <xsl:value-of select="translate($varTitle, 'any text', $APOS)"/>
Cela remplacera "n'importe quel texte" par "dans mon titre".