使用MorganaXProc-IIIse运行XPROC时file-mkdir未找到声明问题求助
错误原因
该报错核心是两个问题:一是XProc 3.0的文件系统操作步骤不属于核心规范内置步骤,需要显式导入对应扩展模块才能调用;二是代码内存在变量名拼写不匹配问题。
解决步骤
- 显式导入文件系统扩展库:在
p:declare-step内部添加导入语句,引入文件系统扩展模块 - 修正变量引用错误:你代码中定义的变量名为
base.dir,实际调用时写为basedir,缺少中间的点符号,需对齐变量名 - MorganaXProc-IIIse默认已内置该扩展模块,只要正确导入即可正常调用,无需额外安装依赖。如果导入后仍报错,检查启动参数确认未禁用扩展模块加载
修正后的完整代码
<?xml version="1.0" encoding="UTF-8"?> <p:declare-step xmlns:p="http://www.w3.org/ns/xproc" xmlns:pf="http://www.w3.org/ns/xproc-step/filesystem" name="pipeline" version="3.0"> <p:import href="http://www.w3.org/ns/xproc-step/filesystem"/> <p:variable name="base.dir" select="'.'"/> <pf:file-mkdir href="${base.dir}/lib"/> </p:declare-step>
内容的提问来源于stack exchange,提问作者0x44656E6E79
相关产品推荐
相关产品推荐

