Subject: Re: [xsl] Passing an XML fragment as a parameter From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 28 Mar 2019 18:42:59 -0000 |
There's no built-in capability to parse XML from XSLT code in XSLT 2.0. Your choices are: (a) write your own extension function to do it, or (b) parse the XML in the calling application, and pass the parsed XML tree as a parameter, rather than the unparsed lexical XML. Either way, the details will depend on the interfaces provided by your XSLT processor. Michael Kay Saxonica > On 28 Mar 2019, at 18:28, Charles O'Connor coconnor@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Unfortunately, <xsl:text> cannot have child elements, and I believe that the interpretation as entities is happening upstream. > > -----Original Message----- > From: Christophe Marchand cmarchand@xxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> > Sent: Thursday, March 28, 2019 1:56 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] Passing an XML fragment as a parameter > > Someting like > > <xsl:text disable-output-escaping="yes"><xsl:copy-of > select="$NewAbstract"/></text> ? > > Christophe > > Le 28/03/2019 C 18:38, Charles O'Connor coconnor@xxxxxxxxxxxx a C)crit : >> Hi, >> >> 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). Without the function, the angle brackets are interpreted as greater and less than entities. (Various semi-embarrassing experiments I've done to try to force the issue get the processor to complain that value of the parameter is xs:untypedAtomic.) >> >> 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? >> >> Thanks, >> Charles >> >> >> Charles O'Connor l Business Analyst >> Aries Systems Corporation l www.ariessys.com >> 50 High Street, Suite 21 l North Andover, MA l 01845 l USA >> Direct: 802-585-5655
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Passing an XML fragment a, Charles O'Connor coc | Thread | Re: [xsl] Passing an XML fragment a, Martin Honnen martin |
Re: [xsl] Passing an XML fragment a, Charles O'Connor coc | Date | Re: [xsl] Passing an XML fragment a, Martin Honnen martin |
Month |