如何在XProc中通过选项传递文档href替代硬编码路径
用XProc选项替换p:document硬编码href路径
要将硬编码的href替换为已声明的stylePath选项值,只需使用XProc的属性值模板(AVT)——用大括号{}包裹选项名称即可,XProc会自动将其解析为传入的选项值。
修改后的完整脚本示例
<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" version="1.0"> <!-- 你已声明的必填样式表路径选项 --> <p:option name="stylePath" required="true"/> <!-- 你的XSLT处理步骤,替换href为选项引用 --> <p:xslt> <p:input port="source"/> <p:input port="stylesheet"> <!-- 使用{stylePath}引用选项值 --> <p:document href="{$stylePath}"/> </p:input> </p:xslt> </p:declare-step>
关键要点
- 确保
p:option直接定义在p:declare-step根元素下(你已经完成这一步) - 在
p:document的href属性中,用{$stylePath}替代原来的硬编码路径,XProc运行时会自动替换为传入的实际路径
运行时传入选项示例
以Calabash为例,执行脚本时通过--option参数传入路径:
calabash --option stylePath="/your/actual/path/stylesheet.xsl" your-xproc-script.xpl
内容的提问来源于stack exchange,提问作者Tench
相关产品推荐
相关产品推荐

