[xsl] xml as parameter from servlet

Subject: [xsl] xml as parameter from servlet
From: Robert Koberg <rob@xxxxxxxxxx>
Date: Sun, 07 Apr 2002 08:01:16 -0800
hi,

I have been trying to get a Saxon(6.5.1) transformation to accept xml as a parameter. I am sending it to this list because I don't know if my problem is Saxon specific. I get an error when I access the parameter with XSLT saying 'The value is not a nodeset.' The code looks something like:

StringBuffer xml_param_str = new StringBuffer("<?xml version='1.0'?><order id='");
xml_param_str.append(_controller.getHttpServletRequest().getParameter("folder_idref"));
xml_param_str.append("'>");
for (int i = 0; i < order_list.length; i++) {
xml_param_str.append("<item id='");
xml_param_str.append(order_list[i]);
xml_param_str.append("'/>");
}
xml_param_str.append("</order>");
System.out.println("xml_param_str: " + xml_param_str); /*
prints something like:
<?xml version='1.0'?><order id='f123'><item id='p234'/><item id='p345'/><item id='p456'/></order>
*/
StringReader sr = new StringReader(xml_param_str.toString());
StreamSource ss = new StreamSource(sr);
Transformer t = TransformerFactory.newInstance().newTransformer();
DOMResult xml_param_tree = new DOMResult();
t.transform(ss, xml_param_tree);
DocumentInfo root = (DocumentInfo)xml_param_tree.getNode();


System.out.println("root: " + root); /*
prints out the id for com.icl.tinytree.TinyDocumentImpl
*/


real_transformer.setParameter("folder_nav_order", root);

/* and then I perform the 'real' transformation */


TIA, -Rob



XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list


Current Thread