Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.x
-
None
Description
There have always been those interested in a general tool to read and utilize XML content in templates. Various approaches to this have been taken. Though i've yet to need this myself, i thought it would be prudent to gather ideas and links to relevant discussion and implementations here, in case someone gets the itch or we want to come up with ideas for something like the GHOP contest.
Here's a XmlTool that Christoph Reck posted to the mailing list:
http://velocity.markmail.org/search/?q=XmlTool#query:XmlTool+page:1+mid:rpogtxshsqqoiph7+state:results
Philippe Collignon created XmlGen (http://xmlgen.sourceforge.net/), which offers a very simple API for walking XML docs in a template. There was talk of contributing the whole project, but that fizzled. As it is ASL 2 licensed, we could easily adopt relevant portions or, better, find a way to collaborate and keep the portions we're both interested in in one place.
DVSL has some useful node selection/handling code that uses Dom4j:
http://svn.apache.org/repos/asf/velocity/dvsl/trunk/src/java/org/apache/dvsl/dom4j/Dom4jNodeImpl.java
Anakia, of course, also has some useful xpath/xml handling code:
http://svn.apache.org/repos/asf/velocity/anakia/trunk/src/java/org/apache/anakia/
It may also prove useful to somehow combine or connect XML reading with the XML writing stuff proposed in VELTOOLS-97 (https://issues.apache.org/jira/browse/VELTOOLS-97)
And of course, there's probably a lot of other useful XML handling code out there. At this point, my favorite API by far is XmlGen's which is very Velocity-ish and intuitive to me. Since XmlGen is a Texen extension and i hope eventually to get around to making VelocityTools integrate naturally into Texen (as well as DVSL and Anakia), it may be that XmlGen's xml reading API(s) could migrate wholly to VelocityTools.