01: // Params.java - Read stylesheet parameters in Xalan
02:
03: package com.nwalsh.xalan;
04:
05: import org.apache.xpath.objects.XObject;
06: import org.apache.xpath.XPathContext;
07: import org.apache.xalan.extensions.ExpressionContext;
08: import org.apache.xml.utils.QName;
09:
10: import javax.xml.transform.TransformerException;
11:
12: public class Params {
13:
14: public static String getString(ExpressionContext context,
15: String varName) {
16: try {
17: XObject var = context
18: .getVariableOrParam(new QName(varName));
19: if (var != null) {
20: return var.toString();
21: } else {
22: System.out.println("$" + varName
23: + " is not a defined parameter.");
24: return "";
25: }
26: } catch (TransformerException te) {
27: System.out
28: .println("Transformer exception getting value of $"
29: + varName);
30: return "";
31: }
32: }
33:
34: public static int getInt(ExpressionContext context, String varName) {
35: String stringValue = getString(context, varName);
36: if (stringValue != null) {
37: try {
38: int value = Integer.parseInt(stringValue);
39: return value;
40: } catch (NumberFormatException e) {
41: System.out.println("$" + varName
42: + " is not an integer.");
43: }
44: }
45: return 0;
46: }
47:
48: public static boolean getBoolean(ExpressionContext context,
49: String varName) {
50: String stringValue = getString(context, varName);
51: if (stringValue != null) {
52: if (stringValue.equals("0") || stringValue.equals("")) {
53: return false;
54: } else {
55: return true;
56: }
57: } else {
58: return false;
59: }
60: }
61: }
|