cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Price <simon.pr...@bristol.ac.uk>
Subject [summary] reading xml from pipeline into a flow script
Date Mon, 30 Jun 2003 07:44:50 GMT
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:simon.price@bristol.ac.uk]
> Sent: Saturday, June 28, 2003 3:25 PM
> To: cocoon-users@xml.apache.org
> 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
> Simon.Price@bristol.ac.uk
> http://www.ilrt.bristol.ac.uk
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cocoon-users-unsubscribe@xml.apache.org
> For additional commands, e-mail: cocoon-users-help@xml.apache.org
> 


-- 

-------------------------------------------------------------------
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
Simon.Price@bristol.ac.uk
http://www.ilrt.bristol.ac.uk


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-users-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-users-help@xml.apache.org


Mime
View raw message