使用XSLT(2.0)复制XML文件结构(包括)目录

使用XSLT(2.0)复制XML文件结构(包括)目录,xml,copy,xslt-2.0,saxon,dita,Xml,Copy,Xslt 2.0,Saxon,Dita,元 XSLT2.0 XML(具有指向其他XML文件的嵌套链接) Saxon XSLT处理器 氧气编辑器 我想编写一个样式表(XSLT2.0),它简单地复制整个文件结构(我使用一个XML根文件,其中包含链接的其他文件),并将结果放在某个目标文件夹中 我该怎么做?做这件事的最佳有效方法是什么?感谢您介绍您的工具集。如果可能的话,您只需使用。DITA开放式工具包也使用Ant和Oxygen XML运送Ant。感谢您介绍您的工具集。如果可能的话,您只需使用。DITA开放式工具包也使用Ant和Ant。假

  • XSLT2.0
  • XML(具有指向其他XML文件的嵌套链接)
  • Saxon XSLT处理器
  • 氧气编辑器
我想编写一个样式表(XSLT2.0),它简单地复制整个文件结构(我使用一个XML根文件,其中包含链接的其他文件),并将结果放在某个目标文件夹中


我该怎么做?做这件事的最佳有效方法是什么?

感谢您介绍您的工具集。如果可能的话,您只需使用。DITA开放式工具包也使用Ant和Oxygen XML运送Ant。

感谢您介绍您的工具集。如果可能的话,您只需使用。DITA开放式工具包也使用Ant和Ant。

假设您有充分的理由在XSLT中这样做(比如,它是更大任务的一部分,或者XSLT是您唯一的编程语言),那么您应该看看EXPath文件模块。
file:copy()
函数复制目录


它在Saxon PE 9.6或更高版本中提供。

假设您有充分的理由在XSLT中这样做(比如,它是更大任务的一部分,或者XSLT是您唯一的编程语言),您应该看看EXPath文件模块。
file:copy()
函数复制目录


它在Saxon PE 9.6或更高版本中提供。

要扩展Xefon的答案,可以生成一个Ant脚本,然后进行复制。如果您有Oxygen,那么您也有D4P net.sourceforge.dita4publishers.common.xslt插件,该插件包含生成Ant copy脚本的代码——EPUB转换使用它来管理资源从源区域复制到创建EPUB zip的EPUB temp目录

同一个插件中还有relpath_util.xsl模块,它提供了通用的XSLT函数,用于以类似Java的方式处理URL和文件路径


Mike的解决方案显然是最简单的,但依赖于扩展。

扩展Xefon的答案:您可以生成一个Ant脚本,然后进行复制。如果您有Oxygen,那么您也有D4P net.sourceforge.dita4publishers.common.xslt插件,该插件包含生成Ant copy脚本的代码——EPUB转换使用它来管理资源从源区域复制到创建EPUB zip的EPUB temp目录

同一个插件中还有relpath_util.xsl模块,它提供了通用的XSLT函数,用于以类似Java的方式处理URL和文件路径

Mike的解决方案显然是最简单的,但依赖于扩展