Subject: java-xsl - functional(?) URIResolver
From: Robert Koberg <rob@xxxxxxxxxx>
Date: Fri, 29 Feb 2008 17:01:34 -0500
|
Hi,
Maybe some of you already do this, but I am finding anonymous
URIResolvers incredibly useful. You can use private method variables,
instance variables, instance methods, etc from the same class that you
call the transform. In the past I usually passed objects to the
URIResolver constructor, but this seems much better (example below).
Anybody see any problems with this approach?
Transformer transformer = xslTemplates.newTransformer();
transformer.setURIResolver(new URIResolver() {
public Source resolve(String href, String base) {
if ("page-data".equals(href)) {
return new StreamSource(
new StringReader(
resolvePageData(handler)));
} else if ("message-keys".equals(href)) {
return new StreamSource(
new StringReader(
resolveMessageKeys(handler)));
} else {
return new StreamSource(
new StringReader(
resolveNotHandled(href)));
}
}
});
best,
-Rob
|