我有2个xml文件。 first.xml中包含一些元素。 second.xml文件为空,仅具有dtd声明。我想使用xslt将first.xml的所有节点复制到second.xml文件。为此,我创建了xsl文件。
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="file1" select="document('data/first.xml')"/>
<xsl:template match="$file1@*|node()">
<xsl:copy>
<xsl:apply-templates select="$file1/)"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
我不确定我在这里缺少什么。
first.xml看起来像这样-
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE TestConfig PUBLIC "xyz.dtd" "xyz.dtd">
<TestConfig debug="false" disable="false" name="moduletests">
<BeforeTests>
<Test name="Test Configuration" type="helthcheck"/>
</BeforeTests>
<Test name='Test with SSL' type='helthcheck'>
<AttributeToAdd>
<Script>
<Source>
</Source>
</Script>
</AttributeToAdd>
</Test>
<Test name='My test' type='create'/>
</TestConfig>
Second.xml文件如下所示
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="myXSL.xsl"?>
<!DOCTYPE TestConfig PUBLIC"xyz.dtd" "xyz.dtd">
<TestConfig>
</TestConfig>