如何将 --stringparam (xsltproc) 注入 XSL 样式表的 DOCTYPE?--stringparam 从命令行指定。
我有几本 docbook5 格式的书,我想用相同的自定义层处理,每本书都有一个唯一的标识符,这里是“演示”,所以我正在运行类似的东西
xsltproc --stringparam course.name 演示 ...
对于每本书。
显然,参数不是这样识别的,而是作为逐字文本,给出错误:
警告:未能加载外部实体“http://edu.yet-another-project.com/course/$(course.name)/entities.ent”
这是我尝试过的方法,但不起作用:
<?xml version='1.0'?>
<!DOCTYPE stylesheet [
<!ENTITY % myent SYSTEM "http://edu.yet-another-project.com/course/$(course.name)/entities.ent">
%myent;
]>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- the docbook template used -->
<xsl:import href="http://docbook.org/ns/docbook/xhtml/chunk.xsl"/>
<!-- processor parameters -->
<xsl:param name="html.stylesheet">default.css</xsl:param>
<xsl:param name="use.id.as.filename">1</xsl:param>
<xsl:param name="chunker.output.encoding">UTF-8</xsl:param>
<xsl:param name="chunker.output.indent">yes</xsl:param>
<xsl:param name="navig.graphics">1</xsl:param>
<xsl:param name="generate.revhistory.link">1</xsl:param>
<xsl:param name="admon.graphics">1</xsl:param>
<!-- here more stuff -->
</xsl:stylesheet>
想法?