首页 > 解决方案 > XQuery - 将参数中的 HTML 传递给 XSLT

问题描述

在 XQuery 3.1 中,我有一个输出 HTML 片段的函数。这个功能:

declare function document:doc-citation($currentdoc as xs:string)
{
  let $citation :=
        (<div>
                <p  class="cite-document">To cite this document: </span>
                <p>{common:cite-doc($currentdoc,"html")}</p>
        </div>)

 return $citation               
 };

输出这个:

<div>
  <p class="cite-document"><span>To cite this document: </span></p>
  <p><span>Fooname. <i>Foo title</i>. Foopublisher. 2018.</span></p>
</div>

现在我想将这个完整的 HTML 传递到 XSLT 的参数中。transform:transform()因此,在其他(字符串)参数可以正常工作的 XQuery 函数中,我尝试像这样传递 HTML:

<param name="paramCitation" value="{document:doc-citation($mydoc)}"/>

XSLT 2.0 应该通过哪个:

<xsl:param name="paramCitation"/>

并通过这个 XSLT 输出 HTML:

<xsl:value-of select="paramCitation"/>

我以前从未尝试通过 XQuery/XSLT 参数传递 HTML。

我想在某个地方我没有在 XQuery 参数中正确处理 HTML,或者在 XSLT 中没有正确处理参数输出(HTML/字符串转换问题)?

提前致谢。

标签: xsltxquery

解决方案


推荐阅读