我有类似于以下的 XML 文件
<?xml version="1.0" encoding="UTF-8"?>
<domData CHECK_STATE="P">
<K>
<![CDATA[F]]>
</K>
<P>
<![CDATA[F]]>
</P
<L>
<![CDATA[F
CC
DD
GEJ]]>
</L>
<D/>
<E/>
<A>TEST</A>
<B>
<![CDATA[<root><iA>DATA</iA><iB>DDDD</iB><</root>]]>
</B>
</domData>
我有以下转变
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="@*">
<xsl:sort select="name()"/>
</xsl:apply-templates>
<xsl:apply-templates select="node()">
<xsl:sort select="name()">
</xsl:sort>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
上述转换删除所有 CDATA 并转义内部 xml 实体。
我不能使用“cdata-section-elements”,因为数字元素很大,我也想对不同的 XML 文件使用相同的 xslt。
我的问题是我需要保持 CDATA 标记和内部 xml 原样。是否可以?谢谢