2016-08-01 52 views
0

Ich habe die unten in XML und ich versuche, dies in einer gewissen Ausgabedatei zu transformieren sagen, ein HTMLConvert Codierung mit XSLT

Ist es möglich, die & zu & in der Ausgabedatei zu konvertieren?

<Property> 
    <name>Document Title</name> 
    <value>Me &amp; you</value> 
</Property> 
+0

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? –

Antwort

1

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="&amp;" string="&amp;"/> 
    </xsl:character-map> 

    <xsl:template match="/"> 
     <html> 
      <body> 
       <p>This is a test of the encoding of the <code>&amp;</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 &amp; 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.