Je rencontre des problèmes avec la transformation de XSL avec des paramètres dans une URL. Je suis à un point que je ne peux plus changer le code C#, seulement peut apporter des modifications au fichier xsl.Transformation xsl: problème avec les paramètres d'URL Ampersand
code C#:
string xml = "<APPLDATA><APPID>1052391</APPID></APPLDATA>";
XmlDocument oXml = new XmlDocument();
oXml.LoadXml(xml);
XslTransform oXslTransform = new XslTransform();
oXslTransform.Load(@"C:\Projects\Win\ConsoleApps\XslTransformTest\S15033.xsl");
StringWriter oOutput = new StringWriter();
oXslTransform.Transform(oXml, null, oOutput)
Code XSL:
<body>
<xsl:variable name="app">
<xsl:value-of select="normalize-space(APPLDATA/APPID)" />
</xsl:variable>
<div id="homeImage" >
<xsl:attribute name="style">
background-image:url("https://server/image.gif?a=10&Id='<xsl:value-of disable-output-escaping="yes" select="$app" />'")
</xsl:attribute>
</div>
</body>
</html>
URL transformé:
https://server/image.gif?a=10&Id='1052391'
URL Expected:
https://server/image.gif?a=10&Id='1052391'
Comment puis-je résoudre ce problème? La sortie (oOutput.ToString()) est utilisée dans un modèle d'e-mail afin de prendre l'URL transformée littéralement. Lorsque vous cliquez sur cette requête (avec le nom du serveur correct bien sûr), l'erreur 403 (Accès interdit) est lancée.