3

java()を使用して変換を適用しようとしていますが、currentXSLT.transform(xmlFile, outputFile);エスケープされたテキストが表示されます。XMLのテキストからスケープされている文字が必要です。

これまで私はこれを試しました:



    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
      <xsl:output method="xml" indent="no" omit-xml-declaration="yes"/>
      <xsl:strip-space elements="*"/>

      <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
      </xsl:template>

      <xsl:template match="text()">
        <xsl:copy>
            <xsl:value-of select="." disable-output-escaping="yes"/>
        </xsl:copy>
      </xsl:template>
    </xsl:stylesheet>



しかし、それは機能していないようです。

何か案は?

ありがとう。

4

1 に答える 1

0

最後に、プレーンな xslt では実行できませんでした。テキストのエスケープを解除するために、apache commons を使用する必要がありました。無効な記号を保持することはビジネス要件だったので、回避策を見つける必要がありました。

StringWriter stringWriter = new StringWriter();
transformer.transform(xmlFile, new StreamResult(stringWriter));
String xmlOutput = stringWriter.getBuffer().toString();
xmlOutput = StringEscapeUtils.escapeXml(xmlOutput);

于 2012-10-26T14:38:36.400 に答える