0

我有几个具有通用代码的 XSL 转换。公共代码由使用 exslt 的函数扩展构建的函数组成。现在我想将这些函数外包到一个库中,以使它们更易于维护。

转换作为资源编译为可执行文件,并在需要时从内存中读取。我想保持这种状态,并为库使用相同的机制。原因是,可执行文件将始终知道它们在哪里,并且不需要路径配置。
现在我的问题是:如何导入外部样式表,它以字符串形式给出,并且不能作为文件使用?

解决问题的一种方法是将样式表写入临时文件并包含这些文件。存在的问题是,临时文件的文件名每次都会更改,因此我必须操纵主要转换以包含临时文件名。在这种情况下,参数不起作用。

关于如何解决这个问题的任何想法,这应该是微不足道的?

环境:libxml2、libxslt (xslt 1.0)、exslt 扩展、Linux。

谢谢,
约斯特

4

1 回答 1

0

感谢 Dimitre 和 Michael 将我推向正确的方向。

URIResolver-Mechanism 在 libxml 中称为“目录”,并且可以直接工作(对于简单的用例):

  1. 包括“libxml/catalog.h”
  2. 使用函数“xmlInitializeCatalog”初始化系统目录
  3. 使用“xmlCatalogAdd”添加分辨率映射
  4. 清理,使用“xmlCatalogCleanup”

谢谢你的提示,
约斯特

于 2012-12-12T13:22:17.857 回答