zongaro 2003/10/20 11:36:54
Modified: java/src/org/apache/xalan/client XSLTProcessorApplet.java
Log:
Patch from Christine Li ([EMAIL PROTECTED]) for Bugzilla bug report 19823.
Added code to use a Hashtable to keep track of parameters set for an applet.
The old implementation allowed just one parameter to be specified for the
transformation.
Revision Changes Path
1.20 +17 -10
xml-xalan/java/src/org/apache/xalan/client/XSLTProcessorApplet.java
Index: XSLTProcessorApplet.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/client/XSLTProcessorApplet.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- XSLTProcessorApplet.java 17 Oct 2003 20:59:31 -0000 1.19
+++ XSLTProcessorApplet.java 20 Oct 2003 18:36:54 -0000 1.20
@@ -64,6 +64,8 @@
import java.io.StringWriter;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.Hashtable;
+import java.util.Enumeration;
import javax.xml.transform.Templates;
import javax.xml.transform.Transformer;
@@ -239,6 +241,9 @@
// styleURL: Parameter description
//----------------------------------------------------------------------
param = getParameter(PARAM_styleURL);
+
+ // stylesheet parameters
+ m_parameters = new Hashtable();
if (param != null)
setStyleURL(param);
@@ -392,14 +397,14 @@
}
/**
- * Stylesheet parameter key
+ * Stylesheet parameter keys
*/
- transient String m_key;
+ private Enumeration m_keys;
/**
- * Stylesheet parameter value
+ * Stylesheet parameter key/value pair stored in a hashtable
*/
- transient String m_expression;
+ transient Hashtable m_parameters;
/**
* Submit a stylesheet parameter.
@@ -410,8 +415,7 @@
*/
public void setStylesheetParam(String key, String expr)
{
- m_key = key;
- m_expression = expr;
+ m_parameters.put(key, expr);
}
/**
@@ -692,10 +696,13 @@
Transformer transformer = m_tfactory.newTransformer(xslSource);
- if (null != m_key)
- transformer.setParameter(m_key, m_expression);
-
- transformer.transform(xmlSource, result);
+ m_keys = m_parameters.keys();
+ while (m_keys.hasMoreElements()){
+ Object key = m_keys.nextElement();
+ Object expression = m_parameters.get(key);
+ transformer.setParameter((String) key, expression);
+ }
+ transformer.transform(xmlSource, result);
}
catch (TransformerConfigurationException tfe)
{
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]