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(_at_)ariessys(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> 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(_at_)oxiane(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Thursday, March 28, 2019 1:56 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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 à 18:38, Charles O'Connor coconnor(_at_)ariessys(_dot_)com a
é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
--~----------------------------------------------------------------
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
--~--