在包含的XSLT文档中应用实体会导致错误

时间:2012-07-14 14:45:34

标签: xml xslt xslt-1.0 dtd libxslt

我有一个带有实体定义的XSL样式表:

<!DOCTYPE xsl:stylesheet SYSTEM "entities.dtd">

entities.dtd只包含一个定义:

<!ENTITY copy "&#169;">

如果我使用&amp; copy;在具有DOCTYPE声明的文档中,一切正常。但是当我包含另一个XSL文档并尝试在那里使用实体时,XSLT处理器说没有定义'copy'实体。

如何定义全局DTD以在任何包含的XSL样式表中使用它?

1 个答案:

答案 0 :(得分:3)

样式表中的每个模块都是一个独立的XML文档,并且独立于其他模块提交给XML解析器。因此,它必须是自己的良好形式,这意味着它必须在其DTD中定义它使用的任何实体。