使用xslt将多个xml文件合并为一个

时间:2017-02-02 14:38:53

标签: xml xslt ant merge

所以我一直在尝试编写一个xslt文件,它将三个xml文件作为输入并将它们合并为一个,最终我需要从每个文件中获取特定项目以更好地显示它但是现在我只需要它合并。

这是我当前的xslt文件,但我无法让它工作:

<xsl:param name="docs" as="xs:string*"/>
<?xml version="1.0" encoding="UTF-8"?>

<xsl:template match="collection">
    <Body>
      <xsl:copy-of select="${basedir}/../DFHMEAC*.xml"/>
    </Body>
</xsl:template>

这是一个非常简单的xslt,但我现在被告知&#34; xsl:param&#34;没有约束,我已尝试过这个xslt的许多其他变种,但有各种各样的问题。

文件格式采用以下格式:

<?xml version="1.0" encoding="UTF-8"?>DFHAC2001
    date
    time
    applid 事务'
    tranid'无法识别。检查事务名是否正确。
DFHAC2002
    date
    time
    applid 要使用此事务
    tranid,必须登录或具有正确的安全级别

目的是将这些内容与英语翻译以及该语言的单个文件中的其他语言一起显示。

这个xslt由构建xml文件调用,该文件运行&#34; merge&#34;目标如下所示(忽略对不同目标的描述,但尚未改变它)。

<target name="merge" description="Extracts the necessary messages from ./CCMF">

    <!-- Clean ./extracts directory for each test -->
    <delete dir="${basedir}/../merged" failonerror="false" />
    <mkdir dir="${basedir}/../merged" />

    <!-- Merge the extracted files together to form one output file -->
    <xslt basedir="${basedir}/../extracts" includes="DFHMEAC*.xml" destdir="${basedir}/../merged" extension=".xml" style="${basedir}/../XSLT/merge.xslt" />

</target>

任何帮助都会非常感激,因为我是xslt的新手。

0 个答案:

没有答案