Wie Sie die Frage XSLT 2.0 markiert haben, wenn Sie wirklich ein Unescaped Ampersand &
in der HTML-Ausgabe wollen, dann können Sie eine Zeichentabelle verwenden:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:output method="html" use-character-maps="m1"/>
<xsl:character-map name="m1">
<xsl:output-character character="&" string="&"/>
</xsl:character-map>
<xsl:template match="/">
<html>
<body>
<p>This is a test of the encoding of the <code>&</code> character.</p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Ausgang ist
<html>
<body>
<p>This is a test of the encoding of the <code>&</code> character.
</p>
</body>
</html>
Aber in HTML wie in XML ist das Ampersand normalerweise als &
aus einem Grund maskiert und wenn Ihr XSLT-Prozessor es in HTML-Ausgabe es entkommt, dann ist es in der Regel implementieren ntieren von HTML-Syntaxregeln.
Können Sie das Problem genau erklären? In HTML wie in XML wird ein kaufmännisches Und-Zeichen normalerweise als '&' kodiert, also wo/warum in Ihrer HTML-Ausgabe brauchen Sie ein Unescaped kaufmännisches Und? –