This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Passing variable number of parameters to xsl file
- From: "Hunsberger, Peter" <Peter dot Hunsberger at stjude dot org>
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Date: Thu, 21 Mar 2002 09:46:46 -0600
- Subject: RE: [xsl] Passing variable number of parameters to xsl file
- Reply-to: xsl-list at lists dot mulberrytech dot com
> 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