Re: [xsl] Can unparsed-text() consume an in-memory XML document? Can a string version of an XML document be converted into XML?

Subject: Re: [xsl] Can unparsed-text() consume an in-memory XML document? Can a string version of an XML document be converted into XML?
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Mon, 13 Aug 2012 22:05:29 +0100
On 13/08/2012 21:15, Costello, Roger L. wrote:
Hi Folks,

I have an XSLT program that uses unparsed-text() to read in an XML document from a URL, the program then does some string manipulations on the string version of the XML document, and then outputs the result.

Question about the input to unparsed-text():

       Instead of it consuming the XML document from a URL,
       can it consume an in-memory XML document
       (i.e., one that has already been parsed; say, a variable
       whose value is an XML document)?
Sounds like a contradiction in terms. The function is called unparsed-text because it is designed to process text that has not been parsed. There are surely other better ways of processing parsed documents?

Question about reconstituting an XML document from the string version of the XML document:


        I can output the string version of the
       XML document to a file and then read
       the file back in as an XML document. But I'd like
       to skip that intermediate step and go straight
       from the string version of the XML document
       to a full-fledged XML document. Is
       there a way in XSLT to convert a string
       to XML?

Not in XSLT 2.0. In XSLT 3.0 there is a function parse-xml() and this is anticipated in extension functions such as saxon:parse() in some 2.0 processors.

Michael Kay Saxonica

Current Thread