XML DOM Java library based on dom4j
This is my attempt to rewrite dom4j xml library for newer version of java (1.8 and above). I have renamed it to eliminate some licensing issues.
My intent is to keep this library simple in design and use. I am using dom4j in many my projects, but it is now too old and whithout maintentnace
Main goals
- I am focusing on simple traversal API based on java.util Collections framework and on Visitor pattern ( as in dom4j )
- I have (and will) remove some parts of former dom4j that are not necessary and that only added some dependencies. I will maybe - if asked for - create some separate modules for theese parts. (Swing, Datatype, Xpp, etc)
Allready done
- All code is refactored and reorganised, nearly all code duplications are removed
- Added API for NodeList for better manipulation with collections of Nodes
- Branch (and all container nodes) now implements Iterable
- Added some new APIs that are more functional and are compatible with java 1.8 lambdas.
- Extended implementation of visitor pattern - which is one of top features of former dom4j library
- Done some benchmarks (based on JMH) against original dom4j, neoxml performs better in some cases and nearly same in other scenarios, whole library is optimised for XML documents with many nodes without subnodes or with only one subnode
Current state
I am now focusing on JUnit test coverage and bug fixes. JUnit tests from original dom4j library are fully functional.
You can download latest release here: neoxml-1.0.jar