在xslt中添加实体声明

问题描述

如何使用XSL 2.0在DOCTYPE中添加实体声明。

<!DOCTYPE article
  PUBLIC "-//ES//DTD version 9.5.0//EN//XML" "XXX.dtd" 
[<!ENTITY img1 SYstem "img1" NDATA IMAGE>
<!ENTITY  img2 SYstem "img2" NDATA IMAGE>
]>

我尝试这段代码

<xsl:output doctype-public="-//ES//DTD version 9.5.0//EN//XML"  doctype-system="XXX.dtd"/>

解决方法

Saxon 9或10的商业版本通过扩展说明http://saxonica.com/html/documentation/extensions/instructions/doctype.html支持该版本。否则,您将不得不尝试通过文本节点并使用disable-output-escaping="yes"输出此类内容。