xsl-list
[Top] [All Lists]

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

2019-03-28 13:43:51
On 28.03.2019 18:38, Charles O'Connor coconnor(_at_)ariessys(_dot_)com 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:

     <xsl:template match="article-meta/abstract">
         <xsl:copy-of select="fn:parse-xml-fragment($NewAbstract)"/>
     </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.


I'm guessing this could be solved by saving the XML fragment as a document, but 
is there a way to do it from memory?

Do you run XmlPrime from the command line? Or do you write .NET code
(e.g. C# or VB.NET) to run it? That way you should be able to set up
your own extension function if needed. Or perhaps parse the XML in your
.NET code and pass in a document fragment node to the XSLT.
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

<Prev in Thread] Current Thread [Next in Thread>