我有XML文件類似於以下XML轉換排序,並保持CDATA標籤
<?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,因爲它是。 有可能嗎? THX