Jonathan's suggestion worked, so I thought I'd summarize the solution back to the list as a demo javascript flow script.

function demo() {
        print getXML("http://localhost:8080/cocoon/mypipeline.xml";);
}

function getXML(urlStr) {
        //
        // return output of a pipeline as an xml string (and/or dom)
        // [NB. watch out for my app-specific parse settings below!]
        //

var factory = Packages.javax.xml.parsers.DocumentBuilderFactory.newInstance();
factory.setValidating(false);


        // Prevent expansion of entity references
        factory.setExpandEntityReferences(false);

        // Configure it to ignore comments
        factory.setIgnoringComments(true);

        var document;
        var isvalid = true;
        try {
                document = factory.newDocumentBuilder().parse(urlStr);
        } catch (e) {
                isvalid = false;
                print("xml parse error:" + e + "\n");
        }

var xmlStr;
if (isvalid) {
// Convert document to string
var format = new Packages.org.apache.xml.serialize.OutputFormat(document);
var strOut = new Packages.java.io.StringWriter();
var XMLSerial = new Packages.org.apache.xml.serialize.XMLSerializer(strOut,format);
XMLSerial.serialize(document.getDocumentElement());
xmlStr = strOut.toString();
}


        return xmlStr;
}


Jonathan Spaeth wrote:
One simple way of accomplishing this is to simply, define pipeline to generate, transform, and serialize the xml. Then, in the flowscript, simply use the jaxp dom api to load the generated xml:

flow() {
var document = Packages.javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder().build(http://uri-to-xml-file);


...

        document.getDocumentElement();
        // it is now a dom
}


-----Original Message----- From: Simon Price [mailto:[EMAIL PROTECTED] Sent: Saturday, June 28, 2003 3:25 PM To: [EMAIL PROTECTED] Subject: reading xml from pipeline into a flow script

 From within a flow script, I would like to read (or pass in) xml
generated by a series of pipeline xslt transformations.

Please could someone give me a pointer on how to do this?

Cheers

Simon

-------------------------------------------------------------------
Simon Price
Institute for Learning and Research Technology
University of Bristol
8-10 Berkeley Square
Bristol BS8 1HH
United Kingdom

Direct: +44 (0)7071 226 720
Office: +44 (0)117 928 7193
Fax: +44 (0)117 928 7112
[EMAIL PROTECTED]
http://www.ilrt.bristol.ac.uk


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



--

-------------------------------------------------------------------
Simon Price
Institute for Learning and Research Technology
University of Bristol
8-10 Berkeley Square
Bristol BS8 1HH
United Kingdom

Direct: +44 (0)7071 226 720
Office: +44 (0)117 928 7193
Fax: +44 (0)117 928 7112
[EMAIL PROTECTED]
http://www.ilrt.bristol.ac.uk


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to