В XQuery 3.1 я динамически создаю таблицу стилей XSLT 2.0 для преобразования документа tei-xml
в HTML.
В XQuery я создаю переменную $docdate
для хранения диапазона HTML:
<span><a href="somefoosite.com">2018-12-10</a></span>
Затем я передаю это параметру в таблице стилей XSLT, который затем используется:
let $stylesheet :=
<xsl:stylesheet>
[....]
<xsl:param name="paramDocdate" as="element()*">{$docdate}</xsl:param>
[....]
<xsl:apply-templates select="$paramDocdate" mode="date"/>
[....]
</xsl:stylesheet>
Я не уверен в xsl:apply-templates
, как заставить HTML отображаться как HTMLвместо того, чтобы просто выводить текст 2018-12-10
.Чтобы быть ясным: элементы HTML определенно проходят через параметр, а не только text()
.
Альтернативно я представляю, что можно как-то сериализовать HTML в строку при создании переменной в XQuery (чтобы передать какдлинная строка в параметре)?
Но я не могу понять, как сделать что-либо из этого.
Я бы предпочел не писать вручную HTML-код в виде строки непосредственно при создании $docdate
... если этовозможно сделать это программно.
Заранее большое спасибо.
РЕДАКТИРОВАТЬ: Оказывается, этот шаблон ниже выводит HTML из параметра, но мне было бы интересно услышать другие способы решенияэто ...
<xsl:template match="span" mode="date">
<xsl:copy-of select="."/>
</xsl:template>