XIncProc Framework
The XIncProc Frameword provides an almost complete implementation of W3C XML Inclusions (XInclude) Version 1.1.
Althougt XInclude is supported into Jaxp implementation since Java 1.5, this support is very incomplete.
XIncProc brings a most powerfull support including xpointer, element, xpath, xmlns and fragid schemes.
How to use
API Usage
// Open a stream
final FileInputStream source = new FileInputStream(urlTest.getPath());
// Parse it
final ByteArrayOutputStream output = new ByteArrayOutputStream();
XIncProcEngine.parse(source, urlTest.toExternalForm(), output);
// That's all !
final String result = output.toString("UTF-8");
Just have a look to XInclude Specs for more samples and to XPointer specs for more details about xpointer resolution.
Line command
If you to use XInclude resolution in batch mode, you can call the engine through CLI interface :
java -jar xincproc.jar -if sample.xml -of output.xml
Maven Usage
Just add this in your pom.xml:
<dependency>
<groupId>org.etourdot</groupId>
<artifactId>xinclude</artifactId>
<version>1.1.0</version>
</dependency>
Specifications and conformance
XIncProc conformance is tested against the official Xinclude Test Suite
See conformance here
Issue Tracking
You can create issues on Github here: https://github.com/etourdot/xincproc/issues
License
Copyright 2013 Emmanuel Tourdot
The XIncProc frameword is released under version 3.0 of the LGPL Licence