本页内容
libslax 库和扩展库概述
libslax 库
libslax 是使用“New BSD 许可证”的 SLAX 语言的开源实施。libslax 采用 C 语言编写,构建在 libxslt2、libxslt 和 libexslt 库之上。
libslax 分布的核心是 libslax 库,它包含一个 SLAX 解析器来读取 SLAX 文件、一个 SLAX 编写器(用于编写 SLAX 文件)、一个换能器、一个分析器和 SLAX 处理器 (slaxproc) 命令行工具。解析器使用 xsltSetLoaderFunc() 挂接将 SLAX 源代码转换为 XSLT 树 (xmlDocPtr)。编写器将 XSLT 树 (xmlDocPtr) 转换为包含 SLAX 语句的文件。
libslax 扩展库
libslax 支持动态加载扩展库。libslax 分布包括 bit、 curl、 db、 os和 xutil 扩展库。默认扩展库的源代码存储在发行版的 libslax-release/extension 目录中。除了 libslax 分布支持的默认扩展库之外,您还可以提供其他扩展库。扩展库位置可在构建时以静态方式指定,也可在运行时动态指定。
默认情况下,libslax 在 /usr/本地 目录中安装与架构无关的文件,包括扩展库文件。具体来说,libslax 将扩展库安装在 /usr/local/lib/slax/extension 目录中。如果在构建时未为扩展库指定其他安装目录,则 SLAX 处理器在执行脚本时会检查此目录中的扩展库。
在构建时,可以通过多种方式指定扩展库位置。在安装过程中,要为所有安装文件(包括库)指定除 /usr/local 以外的目录前缀,请执行./configure命令并包含--prefix=prefix指定文件安装位置的选项。默认扩展库安装在 prefix/lib/slax/extension 目录中,SLAX 处理器在执行脚本时检查此目录中是否有扩展库。要仅将扩展库文件安装在不同的用户定义位置,请./configure执行命令并包含--with-extensions-dir=dir指定扩展库所在位置的选项。然后,SLAX 处理器在执行脚本时会自动检查指定目录的扩展库。有关安装 libslax 的更多信息,请参阅下载并安装 libslax 分布。
在安装完成后,可以通过多种方式动态指定扩展库位置。您可以定义或更新 SLAXEXTPATH 环境变量,以包括其他扩展库的目录位置。变量值是用冒号分隔的目录列表。执行脚本时,SLAX 处理器会自动检查这些目录是否有扩展库。或者,在执行脚本 slaxproc 时,您可以使用命令和 --lib or -L 选项来指定扩展库位置。
总之,我们通过以下方式之一向 SLAX 处理器提供扩展库位置:
默认情况下,在 /usr/local/lib/slax/扩展 目录中。
在构建时给出的选项指定的
./configure --prefix目录下 lib/slax/扩展中。在构建时给出的选项指定的
./configure --with-extension-dir用户定义目录中。位于 SLAXEXEXTPATH 环境变量的冒号分隔列表中。
在命令提供的目录中,
--lib使用或-L参数slaxproc。