This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

xml as parameter from servlet


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]