我的XML文件中有实体,并使用样式表对其进行转换,但无法转换xml文件中使用的实体。浏览器将错误显示为未定义的实体。我想用xslt转换它。
我想转换实体& copy;
请帮助我!
XML文件:
<article>
<main>
<content>© by StactOverFlow</content>
</main>
</article>
答案 0 :(得分:2)
我试过但它不起作用,实际上我想在xslt中添加它而不是在xml中!
和
浏览器将错误显示为未定义的实体。我想用xslt转换它。
如果您的XML文档包含©
之类的实体,并且源文档中没有这些实体的定义,那么您就不走运了,因为这会使您的XML文档无效。
在DTD(内联或引用)中无需声明即可使用的唯一命名实体是<
,>
,&
,'
和{{1 }}。任何其他实体必须是数字实体引用,如"
,或者必须在DTD部分中定义。
XSLT(无论是在浏览器中使用还是离线)在拒绝XML输入文档时都是正确的。如果要防止这种情况,则需要使用另一个工具修复无效的XML,该工具将文档处理为XML(因为它不是),而是作为文本处理。您只需使用此预处理添加DTD定义,即在DTD中添加如下行:
©
或搜索命名实体并将它们替换为各自的Unicode字符或数字实体(从XML角度来看,两者之间没有区别,只要编码正确)。