将未知名称的 xslt 文件导入主 xslt 文件

Importing xslt files of unknown name into master xslt file

我正在尝试但失败的是将 xslt 文件列表导入另一个 xslt 文件,而我不知道要导入的文件的名称,直到程序实际上是 运行。

背景: 我正在为别人的 (python) 项目编写一个扩展机制。该项目使用 xslt 脚本将 xml 文档转换为 html。我在项目中创建了一个名为 "extensions" 的目录,我希望用户能够在此扩展目录中放置任意子目录。每个子目录都代表一个扩展名,并且将包含许多不同的文件,其中可能包括一个 xslt 文件。

我有一个脚本可以扫描所有子目录中的 xslt 文件,然后写出一个新的 xslt 文件 ('combined.xsl'),其中包含一系列引用它找到的所有 xslt 文件的标签。然后我将 'combined.xsl' 导入到项目的主 xslt 文件中。

我的第一个问题是该项目通常会安装在管理员目录中(例如/usr/local/lib/python3.5/dist-packages/ 或类似目录),但被普通用户调用。这意味着当脚本尝试创建 'combined.xsl' 时,由于权限不足而无法写入。

我的下一个想法是制作 'combined.xsl' 一个临时文件(使用 tempfile 模块),但是我无法从项目的主 xslt 文件中引用它,因为临时文件是在不同系统的不同位置创建的。

有没有一种方法可以使这两种方法都起作用,或者我是否缺少一些完全不同的方法。我觉得这一定是一种不常见的问题,但对于 google 来说它有点太抽象了,不是很有帮助。

所以我最终找到了一种完全不同的解决问题的方法,该方法不涉及写入文件。但是,如果有人正在处理类似的问题,this question 的答案值得一看。