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]

RE: Passing variable number of parameters to xsl file


> You will have to write your own tool (or modify the source from Xalan's)
to 
> accept the parameters from the command line and use them to create a 
> node-set.  I'm not sure exactly how to do this

The code would look something like the following, here I pull all the
request parameters out of a Java servlet HTTP request and pass (non-blank)
ones into Xalan as a single nodeset:


	static DocumentBuilderFactory _docFactory =
DocumentBuilderFactory.newInstance();
		.
		.
		.
      DocumentBuilder builder = _docFactory.newDocumentBuilder();
      Document parmDoc = builder.newDocument();
	DocumentFragment root = parmDoc.createDocumentFragment();
      for( Enumeration pr = request.getParameterNames();
pr.hasMoreElements(); ) {                        
      	String prn = (String)pr.nextElement();                          
            String pv = request.getParameterValues( prn )[0];
            if ( !"".equals( pv ) ) {
           		Element parmE = parmDoc.createElement( prn );  
                  Text parmV = parmDoc.createTextNode( pv );
                  parmE.appendChild( parmV );
                  root.appendChild( parmE );
            }
       }
       transformer.setParameter( "request-parms", new
org.apache.xpath.NodeSet( root ) );      

 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]