docx4j v3.3.1 Release Notes

  • Contents lists are now of type ArrayListWml, in which parent is automatically set correctly

    ๐Ÿ“ฆ org.docx4j.anon: new package which converts a docx to lorem ipsum latin, and removes ๐Ÿ‘ other sensitive info, so the docx can safely be shared eg for tech support.
    For this to work, you'll need to add a new dependency: http://search.maven.org/#artifactdetails%7Ccom.thedeanda%7Clorem%7C2.0%7Cjar

    ๐ŸŽ OpenDoPE: Two separate performance optimizations which substantially speed up large XML binding jobs. By traversing the XML data, manually calculate and cache XPaths (tested with 500,000 entries). Our strategy is to try the cache first (if enabled), then if there is a cache miss, use org.apache.xpath.CachedXPathAPI (the second optimization - CachedXPathAPI is quicker than default javax.xml.xpath.XPath implementations)

    Dedicated parts for w15 CommentsExtended and People

    ๐Ÿ‘Œ Support anchor attributes wp14:anchorId and wp14:editId; children wp14:sizeRelH, wp14:sizeRelV

    ๐Ÿ‘Œ Support w:bdo and w:dir from ECMA 376 4ed

    โ†ช workaround for MOXy issue triggering pre-processing from binder: http://stackoverflow.com/questions/37225221/moxy-validationevents-triggered-by-unmarshaller-but-not-binder

    0๏ธโƒฃ JAXB event handler: make shouldContinue false by default, mc Content pre-processing works in MOXy (for unmarshalling anyway, as distinct from binder)

    unmarshall input stream: do mc pre-processing if necessary

    ๐Ÿ†• New property docx4j.jaxb.marshal.canonicalize: 0๏ธโƒฃ Whether to canonicalize during marshalling (defaults to false); this is for aesthetic purposes: the Sun/Oracle JAXB reference implementation writes a lot of unnecessary namespaces (each one in the JAXB context?).

    Dependency Changes

    โž• Added com.thedeanda:lorem:jar:2.0; only required if you want to use org.docx4j.anon (see above)