如何在 eXist-db 中生成 XSL-FO 的同时保留处理指令?
How to preserve processing instructions whilst producing XSL-FO in eXist-db?
有没有办法让 return 处理指令原样存在?似乎它在输出中以某种方式忽略了它。
如果我使用 XEP 作为我的呈现引擎,处理指令将非常有用,因此能够在 XSL-FO 文档的根目录之前或在它开始之后立即保存它们会很棒。
如果我在模板中有:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:tei="http://www.tei-c.org/ns/1.0" version="2.0">
<xsl:template match="/">
<fo:root>
<?xep-pdf-page-layout two-columns-right?>
它只是 returns:
<fo:root xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
我尝试通过以下方式来处理处理指令的保存:
declare option exist:serialize "method=xhtml media-type=text/xml process-xsl-pi=yes";
在我查询的序言中但无济于事。
更新我
我的场景步骤是:
- 正在从数据库加载文档
- 将其传递给
transform:transform()
函数
- 在调用
transform:transform()
函数时,我将一个基本样式表传递给它,其中包括其他样式表
- 我需要将处理指令添加到
pages-masters
的样式表中,它覆盖渲染引擎稍后使用的 FO 文档的根目录。此样式表包含 (<xsl:include/>
) 到基本样式表(收集所有样式表)并传递给函数。
使用XSLT,要输出一个处理指令使用https://www.w3.org/TR/xslt/#creating-processing-instructions,即<xsl:processing-instruction name="xep-pdf-page-layout">two-columns-right</xsl:processing-instruction>
在转换结果中有pi <?xep-pdf-page-layout two-columns-right?>
。
有没有办法让 return 处理指令原样存在?似乎它在输出中以某种方式忽略了它。
如果我使用 XEP 作为我的呈现引擎,处理指令将非常有用,因此能够在 XSL-FO 文档的根目录之前或在它开始之后立即保存它们会很棒。
如果我在模板中有:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:tei="http://www.tei-c.org/ns/1.0" version="2.0">
<xsl:template match="/">
<fo:root>
<?xep-pdf-page-layout two-columns-right?>
它只是 returns:
<fo:root xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
我尝试通过以下方式来处理处理指令的保存:
declare option exist:serialize "method=xhtml media-type=text/xml process-xsl-pi=yes";
在我查询的序言中但无济于事。
更新我
我的场景步骤是:
- 正在从数据库加载文档
- 将其传递给
transform:transform()
函数 - 在调用
transform:transform()
函数时,我将一个基本样式表传递给它,其中包括其他样式表 - 我需要将处理指令添加到
pages-masters
的样式表中,它覆盖渲染引擎稍后使用的 FO 文档的根目录。此样式表包含 (<xsl:include/>
) 到基本样式表(收集所有样式表)并传递给函数。
使用XSLT,要输出一个处理指令使用https://www.w3.org/TR/xslt/#creating-processing-instructions,即<xsl:processing-instruction name="xep-pdf-page-layout">two-columns-right</xsl:processing-instruction>
在转换结果中有pi <?xep-pdf-page-layout two-columns-right?>
。