我有一个XSLT文件,它将所有输入转换为其他XML。在这里,我的挑战是如何从输入XML保留DTD。例如,假设a.xml使用“x.dtd”而b.xml使用“y.dtd”。当我得到结果文档如何保存输入XML文档DTD声明。
通过以下方法,我得到了所有结果文档中的静态DTD。
<xsl:output method="xml" indent="no" doctype-system="some.dtd" doctype-public="somepath" name="xml"/>
答案 0 :(得分:0)
您无法在标准XSLT中执行此操作,但您可以使用Andrew Welch的LexEv实用程序(我相信它集成在KernowForSaxon中,可从SourceForge获得)来实现。 LexEv的工作原理是将DTD或至少DOCTYPE声明转换为XML表示,然后可以通过转换进行转换或保留,然后再转换回DTD语法。