Re: [xsl] Passing an XML fragment as a parameter

Subject: Re: [xsl] Passing an XML fragment as a parameter
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 28 Mar 2019 18:56:10 -0000
On 28.03.2019 19:44, Martin Honnen martin.honnen@xxxxxx wrote:
On 28.03.2019 18:38, Charles O'Connor coconnor@xxxxxxxxxxxx wrote:

I need to create a transform for our engineers to pass an XML fragment
stored in a SQL database into a document as a parameter. Testing this
in Oxygen using XSLT 3.0 and Saxon 9.7.0.15 is super easy. I can just
declare the parameter and then use the function fn:parse-xml-fragment:

B B B B  <xsl:template match="article-meta/abstract">
B B B B B B B B  <xsl:copy-of
select="fn:parse-xml-fragment($NewAbstract)"/>
B B B B </xsl:template>

Unfortunately, the transform has to work in an environment limited to
XSLT 2.0 (XMLPrime).


Which version of XmlPrime is that? While they don't support XSLT 3 they
for sure support XPath 3 functions like that function so, if you have
the latest version, I think you can get it to allow the use of such
functions by either setting version="3.0" in the XSLT and/or by using a
configuration/setting to support XPath 3 instead of 2.

Both https://www.xmlprime.com/xmlprime/doc/3.0/P_XmlPrime_XsltSettings_XsltVersion .htm and https://www.xmlprime.com/xmlprime/doc/4.0/P_XmlPrime_XsltSettings_XsltVersion .htm suggest that XmlPrime 3 and 4 have support for using XPath 3 functions like parse-xml-fragment by setting XsltVersion to Xslt30.

Current Thread