输入XML中有许多特殊字符参数,例如& ndash的; ,& MDASH; ,& rsquo的;
有没有办法可以用&#8211替换它们& ndash,对其他人来说也是如此
我的xslt定义为
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="html" omit-xml-declaration="yes" indent="yes" />
<xsl:strip-space elements="*" />
<xsl:param name="pDest" select="'XSLT_Transform/Output/'" />
<xsl:template match="CHAPTER">
<xsl:variable name="token" select="tokenize(@ABC,'-')[last()]" />
<xsl:variable name="chapVal" select="replace($token,'C','')" />
<!--<xsl:variable name="chapVal" select="replace($val,'_','-')"/> -->
<xsl:result-document href="{$pDest}chapter{$chapVal}.xhtml"
我相信如果我改变编码,它们应该自动转换为dtd吗?
答案 0 :(得分:0)
在XSLT处理器看到之前,XML解析器会自动扩展–
之类的实体引用;对于XSLT处理器,它们被视为普通字符。如果输出文件的所选编码包含这些字符,则XML或HTML序列化程序将它们作为普通字符输出,否则序列化程序将它们作为字符引用输出(例如–
。
我希望这些信息有所帮助。你还没有真正说出你的问题,所以我所能做的只是提供背景信息。