Package org.apache.commons.digester.substitution
Provides for manipulation of xml attributes and element body text before
the data is processed by any Rule objects.
VariableExpander | An Interface describing a class capable of expanding strings which
may contain variable references. |
MultiVariableExpander | Expands variable references from multiple sources. |
VariableAttributes | Wrapper for an org.xml.sax.Attributes object which expands any
"variables" referenced in the attribute value via ${foo} or similar. |
VariableSubstitutor | Substitutor implementation that support variable replacement
for both attributes and body text. |
Provides for manipulation of xml attributes and element body text before
the data is processed by any Rule objects.
The class org.apache.commons.digester.Substitutor defines an abstract
interface for mechanisms which manipulate xml attributes and body text.
The Digester method setSubstitutor can be used to define a concrete
substitutor that will be applied to the data before it is passed to the
matching rules.
This package provides some useful concrete implementations of the abstract
Substitutor class. In particular, it provides an implementation that allows
the application to define "variables" which the input data can reference
using a syntax such as "${user.name}".
Here's an example of setting up the VariableSubstitutor:
// set up the variables the input xml can reference
Map vars = new HashMap();
vars.put("user.name", "me");
vars.put("os", "Linux");
// map ${varname} to the entries in the var map
MultiVariableExpander expander = new MultiVariableExpander();
expander.addSource("$", vars);
// allow expansion in both xml attributes and element text
Substitutor substitutor = new VariableSubstitutor(expander);
Digester digester = new Digester();
digester.setSubstitutor(substitutor);
Copyright 2001-2005 The Apache Software Foundation.