Xslt 如何在eXist db中生成XSL-FO的同时保留处理指令?
有没有一种方法可以使eXist按原样返回处理指令?似乎它在输出中忽略了它 如果我使用XEP作为渲染引擎,那么处理指令非常有用,因此能够在XSL-FO文档的根目录之前或在其启动之后立即保存这些指令将非常有用 如果我在模板中有:Xslt 如何在eXist db中生成XSL-FO的同时保留处理指令?,xslt,exist-db,processing-instruction,Xslt,Exist Db,Processing Instruction,有没有一种方法可以使eXist按原样返回处理指令?似乎它在输出中忽略了它 如果我使用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.te
<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?>
它只是返回:
<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选项exist:serialize“method=xhtml-media-type=text/xml-process xsl-pi=yes”代码>在我的查询的序言中,但无效
更新I
我的场景的步骤是:
从数据库加载文档
将其传递给transform:transform()
函数
调用transform:transform()
函数时,我向它传递一个基本样式表,其中包括其他样式表
我需要将处理指令添加到页面母版
的样式表中,该样式表包含渲染引擎稍后使用的FO文档的根。此样式表包括(
)到基本样式表中(收集所有样式表)并传递给函数
使用XSLT时,要输出处理指令,请使用右两列
,以在转换结果中使用pi
。使用XSLT时,要输出处理指令,请使用,也就是说,右两列
在转换结果中有pi
。您能说明重现问题的步骤吗?好的,谢谢,我刚刚更新了问题@joewiz对我来说这听起来像一个bug,因为prolog声明似乎不会像预期的那样影响查询结果。Honja,您是否尝试在xquery中使用以查看PI是否保留在那里?@duncdrum从下面标记为正确的答案中,我觉得问题是在XSLT级别(即,在transform:transform函数的范围内),而不是在调用XSLT的xquery级别。您能说明重现问题的步骤吗?好,谢谢,我刚刚更新了问题@joewiz对我来说这听起来像一个bug,因为prolog声明似乎不会像预期的那样影响查询结果。Honja,您是否尝试在xquery中使用以查看PI是否保留在那里?@duncdrum从下面标记为正确的答案中,我认为问题出现在XSLT级别(即,在transform:transform函数的范围内),而不是调用XSLT的xquery级别。谢谢!实际上,在我的例子中,正确的版本是右边的两列
。如果可以,请更新答案,我会将其标记为解决我的问题。@HonzaHejzl,对不起,我没有注意到空格,只是认为它是一个没有数据的pi。现在更正。谢谢!实际上,在我的例子中,正确的版本是右边的两列
。如果可以,请更新答案,我会将其标记为解决我的问题。@HonzaHejzl,对不起,我没有注意到空格,只是认为它是一个没有数据的pi。现在更正。