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

时间:2017-10-03 06:29:11

标签: python xslt permissions temporary-files add-on

我正在尝试和失败的是将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是在不同系统的不同位置创建的。

有没有办法让这些方法中的任何一种起作用,或者是否有一些我完全不同的方法。我觉得这一定是一个不常见的问题,但对于谷歌来说,它有点过于抽象,非常有帮助。

1 个答案:

答案 0 :(得分:0)

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