2009-04-22 7 views
0

Comment effectuer une manipulation de chaîne sur la sortie de <xsl:apply-templates>?Manipuler la sortie de <xsl: apply-templates>

J'ai besoin d'échapper des guillemets, car il est finalement passé à une variable JavaScript.

+4

Veuillez fournir un exemple de code pour montrer ce que vous essayez et expliquer plus clairement ce qui ne fonctionne pas. De cette façon, nous pouvons essayer de fournir de l'aide. –

+0

Le traitement attendu de la piqûre n'est pas du tout expliqué dans votre question. S'il vous plaît soumettre une autre question demandant exactement cela. Fournir un bon exemple de l'entrée (document XML ou juste une chaîne) et la sortie désirée, avec une explication sur les exigences sur le traitement. –

Répondre

0

capture dans une variable, puis manipuler la valeur pour créer la sortie:

<xsl:variable name='temp'> 
    <xsl:apply-templates ...> 
</xsl:variable> 

<xsl:value-of select='expression involving $temp' /> 
2

L'approche agréable et propre serait de changer XSLT de sorte que sa sortie ne nécessite pas de manipulation supplémentaire.

Si votre appel à <xsl:apply-templates> produit une chaîne qui doit être manipulé pour une raison quelconque, vous devez capturer dans une première variable:

<xsl:variable name="temp"> 
    <xsl:apply-templates /> 
</xsl:variable> 

<xsl:variable name="temp-manipulated"> 
    <xsl:call-template name="do-some-string-mainpulation"> 
    <xsl:with-param name="string" select="$temp" /> 
    </xsl:call-template> 
</xsl:variable> 

<xsl:value-of select="$temp-manipulated" /> 

Vous pouvez également intégrer le <xsl:apply-templates> dans le <xsl:with-param>, Wich vous épargnerait une étape:

<xsl:variable name="temp"> 
    <xsl:call-template name="do-some-string-mainpulation"> 
    <xsl:with-param name="string"> 
     <xsl:apply-templates /> 
    </xsl:with-param> 
    </xsl:call-template> 
</xsl:variable> 

<xsl:value-of select="$temp" /> 
+0

Merci. Comment puis-je écrire pour échapper des citations, de nouvelles lignes, car il sera finalement passé à Javascript. – Iris

+0

@Iris Ceci n'est pas du tout expliqué dans votre question. S'il vous plaît soumettre une autre question demandant exactement cela. Fournir un bon exemple de l'entrée (document XML ou juste une chaîne) et la sortie désirée, avec une explication sur les exigences sur le traitement. –

+0

@Iris: Qu'est-ce qui vous empêche de prendre la route "agréable et propre" dont j'ai parlé? Je devrais penser que cela va être plus facile que d'écrire une routine de manipulation de chaîne. – Tomalak