XML-Technologien

XML-Technologien

Posts 1-2 of 2
  • User photo
    Markus Ort
    The company name is only visible to registered members.
    Problem bei Stylesheets unter .NET, CSharp
    Hallo,

    bei der Transformation einer XML Datei mit einem XSL Stylesheet werden bei Rückgabewerten von Scriptaufrufen manchmal die zeichen < mit &lt; und > mit &gt; ersetzt und manchmal nicht, obwohl beides mal das attribut 'disable-output-escaping="yes"' verwendet wurde:

    <xsl:element name="Beispiel2"><xsl:value-of disable-output-escaping="yes" select="user:test(.)"/></xsl:element>

    der einzige unterschied besteht darin, dass in dem fall, der funktioniert, das script ein 'JavaScript' ist und mit MSXSL.EXE transformiert wird (d.h. der alte msxml core service 6.0). im zweiten fall, der nicht funktioniert, ist das script ein 'CSharp' und wird unter .net transformiert. Die transformation ist in beiden fällen erfolgreich.

    hier die beispiel scripts:

    <msxsl:script language="JavaScript" implements-prefix="user">
    <![CDATA[

    // liefert <b1>1111</b1><b2>2222</b2> zurück

    function test(node) {
    return "<b1>1111</b1><b2>2222</b2>";
    }

    ]]>
    </msxsl:script>


    <msxsl:script language="CSharp" implements-prefix="user">
    <![CDATA[

    // liefert ;&lt;b1&gt;1111&lt;/b1&gt;&lt;b2&gt;2222&lt;/b2&gt;
    // sollte liefern <b1>1111</b1><b2>2222</b2>

    public string test(XPathNavigator node) {
    return "<b1>1111</b1><b2>2222</b2>";
    }

    ]]>
    </msxsl:script>


    hat jemand eine Erklärung oder besser noch eine Lösung dafür?
  • Post visible to registered members