Xml Saxon XSLT-Doctype从输入中保留

Xml Saxon XSLT-Doctype从输入中保留,xml,xslt,saxon,Xml,Xslt,Saxon,我有一个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"/> 在标准X

我有一个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"/>

在标准XSLT中无法做到这一点,但可以使用Andrew Welch的LexEv实用程序(我相信它集成在KernowForSaxon中,可从SourceForge获得)做到这一点。LexEv的工作原理是将DTD或至少DOCTYPE声明转换为XML表示,然后通过转换转换或保留XML表示,然后再转换回DTD语法