我正在尝试和失败的是将xslt文件列表导入到另一个xslt文件中,而不知道要导入的文件的名称,直到程序实际运行。
背景: 我正在为别人的(python)项目编写扩展机制。该项目使用xslt脚本将xml文档转换为html。我创建了一个名为" extensions"的目录。在项目中,我希望用户能够在此扩展目录中放置任意子目录。每个子目录代表一个扩展,并且将包含许多不同的文件,包括可能的xslt文件。
我有一个脚本扫描所有子目录中的xslt文件,然后写出一个新的xslt文件(' combined.xsl'),其中包含一系列引用它找到的所有xslt文件的标记。然后,我导入了“.xsl'进入项目的主要xslt文件。
我的第一个问题是该项目通常会安装在管理员的目录中(例如/usr/local/lib/python3.5/dist-packages/或类似的),但普通用户会调用。这意味着当脚本尝试创建&combined 39sl'由于权限不足,无法写入。
我的下一个想法是制作' combined.xsl'一个临时文件(使用tempfile模块),但是我无法从项目的主xslt文件中引用它,因为tempfiles是在不同系统的不同位置创建的。
有没有办法让这些方法中的任何一种起作用,或者是否有一些我完全不同的方法。我觉得这一定是一个不常见的问题,但对于谷歌来说,它有点过于抽象,非常有帮助。