XSL Remplacer des caractères ( )
J'ai un nœud avec quelques données:
<something>Blah blah (Hello World) hihi</something>
Lorsque j'effectue une transformation XSLt je suis tenté de s'évader de l'ouvrir et de fermer les parenthèses et ne peux pas pour la vie de moi à travailler sur la façon de parvenir jusqu'à présent, je suis de tenter quelque chose comme cela.
<xsl:variable name="rb">(</xsl:variable>
<xsl:message><xsl:value-of select="replace(something, $rb, concat('\\', $rb))" /</xsl:message>
C'est l'erreur que j'obtiens en utilisant Saxon:
Erreur à xsl:template on line 728 34 de la colonne something.xml:
FORX0002: Erreur à 1 dans l'expression régulière" (":: ())
OriginalL'auteur John | 2011-10-27
Vous devez vous connecter pour publier un commentaire.
Ce sera travaux pour soit le support. Votre code est également incomplète. Qu'est-ce que quelque chose? Elle contient la valeur que vous attendez? Il vous manque un > à la fin de xsl:value-of.
EDIT : Après @Dimitre commentaire :
Ci-dessus aurait les résultats que vous vouliez à l'origine, bien que je ne vois pas de raison de préférer ce sur ma solution originale.
"\("
comme troisième argument. Votre solution est une solution intelligente, mais il ne répond pas à la question de savoir comment spécifier exactement la même chaîne que le troisième argument dereplace()
.Vous avez peut-être raison, mais si l'OP a accepté ma réponse, je suppose qu'il estime qu'il n'a en effet répondre à sa question. En outre, le problème se situe au deuxième argument de la replace() et non pas à la troisième.
Oui, mais votre réponse n'est toujours pas expliquer le problème et ne résout pas le problème-et c'est une solution de contournement. Je crois que ma réponse est plus proche de ce que l'OP est de demander.
OriginalL'auteur FailedDev
Cela fonctionne avec AltovaXML20011 (XML-SPY):
lorsqu'il est appliqué sur le document XML fourni par le:
le résultat voulu est produit:
Malheureusement je n'ai pas de Saxon 9.x au travail, peut-être plus tôt ce matin, à la maison, j'ai couru quelque chose de différent avec Saxon...
OriginalL'auteur Dimitre Novatchev
Merci pour votre apport toutefois, cette question a été posée plus de 6 ans. Je vais voter pour fermer ma propre question
OriginalL'auteur imran