Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用XSLT连接大量XML文件?_Xml_File_Xslt_Concatenation - Fatal编程技术网

如何用XSLT连接大量XML文件?

如何用XSLT连接大量XML文件?,xml,file,xslt,concatenation,Xml,File,Xslt,Concatenation,我有一个包含许多XML文件的文件夹,我想要一个简单的XSLT转换,可以将所有这些文件合并为一个文件,并将所有数据放在一个名为…的节点下。 我不在乎订单 另外,我没有包含所有文件名的索引文件。我在google上搜索了“XSLT连接XML文件”,但结果总是提到使用document()函数并从索引文件中获取文件名。 如果可能的话,我希望使用collection()函数来解决这个问题。XSLT 2.0处理器通常允许使用collection函数(从目录/文件夹中提取文件),但该函数的参数取决于处理器。使用

我有一个包含许多XML文件的文件夹,我想要一个简单的XSLT转换,可以将所有这些文件合并为一个文件,并将所有数据放在一个名为
的节点下。 我不在乎订单

另外,我没有包含所有文件名的索引文件。我在google上搜索了“XSLT连接XML文件”,但结果总是提到使用
document()
函数并从索引文件中获取文件名。
如果可能的话,我希望使用
collection()
函数来解决这个问题。

XSLT 2.0处理器通常允许使用
collection
函数(从目录/文件夹中提取文件),但该函数的参数取决于处理器。使用Saxon 9,您可以使用

<xsl:param name="folder-url" select="'file:///C:/dir/folder'"/>

<xsl:template name="main">
  <files>
   <xsl:copy-of select="collection(concat($folder-url, '?select=*.xml'))"/>
  </files>
</xsl:template>


有关详细信息,请参见查看XSLT 2.0处理器的文档。

我以前使用过XInclude和document,以实现类似的功能。