В 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. Таким образом, в функции XQuery transform:transform()
, которая в противном случае отлично работает для других (строковых) параметров, я пытаюсь передать HTML следующим образом:
<param name="paramCitation" value="{document:doc-citation($mydoc)}"/>
Какой XSLT 2.0 должен получить через:
<xsl:param name="paramCitation"/>
И вывести HTML через этот XSLT:
<xsl:value-of select="paramCitation"/>
Я никогда раньше не пытался передавать HTML через параметр XQuery / XSLT.
Мне кажется, что где-то я неправильно обрабатываю HTML в параметре XQuery или неправильно обрабатываю вывод параметра в XSLT (проблемы преобразования HTML / строк)?
Заранее спасибо.