Version | Date | Description |
---|---|---|
1.1.19 | 2015-12-27 | XPath |
1.1.18 | 2014-01-22 | Converters, Parsing |
1.1.17 | 2013-09-07 | ParseUtil, Converters |
1.1.16 | 2013-08-28 | DomUtil, Converters |
1.1.15 | 2013-06-30 | Converters |
1.1.14 | 2013-06-15 | Converters, Asserts |
1.1.13 | 2012-08-01 | DOM, parsing, build |
1.1.12 | 2012-05-17 | XPath |
1.1.11 | 2011-12-20 | Converters, Parsing, XPath |
1.1.10 | 2011-09-21 | Converters, XPath |
1.1.9 | 2011-05-11 | Converters, refactoring |
1.1.8 | 2010-12-04 | JsonConverter, Json2XmlConverter |
1.1.7 | 2010-11-18 | Converters |
1.1.6 | 2010-08-04 | XmlUtil |
1.1.5 | 2010-04-19 | DomUtil, Xml2BeanConverter |
1.1.4 | 2010-03-04 | BeanConverter |
1.1.3 | 2010-01-15 | CollectionConverter, DomUtil, XmlUtil, XPathWrapper |
1.1.2 | 2009-12-31 | DomUtil, NodeListIterator |
1.1.1 | 2009-12-30 | SimpleXMLReader, XMLFilterImplBridge |
1.1.0 | 2009-11-30 | Conversion Utilities |
1.0.5 | 2009-09-15 | DomAsserts, DomUtil |
1.0.4 | 2009-09-10 | NodeListIterator |
1.0.3 | 2009-07-14 | XmlUtil |
1.0.2 | 2009-04-27 | OutputUtil, XmlBuilder |
1.0.1 | 2009-04-25 | XmlUtil |
1.0.0 | 2009-01-14 | First production release |
Type | Changes | By |
---|---|---|
AbstractStringFunction: a base class for writing XPath functions that accept strings | kdgregory | |
Add examples for use of XPathWrapper | kdgregory | |
Fix default conversion functions for non-US locales | kdgregory |
Type | Changes | By |
---|---|---|
Bean conversion: add options to convert byte arrays using either base-64 or hex encoding | kdgregory | |
ParseUtil.parse(InputStream): yet another parsing variant | kdgregory |
Type | Changes | By |
---|---|---|
Bean conversion: add options to convert enums using their string value | kdgregory | |
Bean Conversion: converter-specific attributes are only namespaced if caller defines a namespace for conversion result (ie, the only time it matters is when the caller needs to separate application elements from the rest of the world) | kdgregory | |
ParseUtil.parseFromClasspath() now defaults to context classloader | kdgregory | |
Support explicit Xalan serializer | kdgregory |
Type | Changes | By |
---|---|---|
DomUtil.adoptChild(): moves a child from one DOM to another and attaches it to a new parent | kdgregory | |
Bean conversion: support subclasses of java.util.Date (as long as they have a constructor that takes a long) | kdgregory | |
Bean conversion: revise format of Calendar conversion; include milliseconds | kdgregory |
Type | Changes | By |
---|---|---|
Bean2XmlConverter: add option to call setAccessible(true) on accessor methods; handles case where object graph has a private class with public methods | kdgregory | |
Bean2XmlConverter/Xml2BeanConverter: add option to capture exceptions rather than throw them; useful when working with data types that the converter can't handle | kdgregory |
Type | Changes | By |
---|---|---|
DomAsserts: add assertNotExists() | kdgregory | |
Bean2XmlConverter: recognize circular references; throw by default, optionally skip | kdgregory |
Type | Changes | By |
---|---|---|
DomUtil: add removeAllChildren() | kdgregory | |
ParseUtil: add parseFromClasspath() | kdgregory | |
Add dependency on KDGCommons; deprecate StringUtils | kdgregory | |
Change Central Repository deployment | kdgregory |
Type | Changes | By |
---|---|---|
FunctionResolver: add clone(), toString() | kdgregory | |
XPathWrapperFactory: creates XPathWrapperss with same config | kdgregory | |
XPathWrapper.bindDefaultNamespace(): deprecated due to uselessness | kdgregory |
Type | Changes | By |
---|---|---|
BeanConverter: ConversionExceptions always contain location | kdgregory | |
BeanConverter: handle nexted collections | kdgregory | |
ParseUtil: add parse(File) | kdgregory | |
XPathWrapper: add evaluateAsElement() | kdgregory | |
XPathWrapper: evaluate(Node, Class) now applies a filter, not a cast | kdgregory |
Type | Changes | By |
---|---|---|
BeanConverter: convert additional JDK data types (Calendar, Class, File, Locale, TimeZone) | kdgregory | |
XPathWrapper now supports a shallow clone(), that can be used to produce thread-local copies | kdgregory |
Type | Changes | By |
---|---|---|
Xml2JsonConverter: Add option to convert attributes as well as elements (tracker ID 3279326) | kdgregory | |
OutputUtil: extract transformer creation code (which may contain implementation-dependent cruft) into a helper class | kdgregory |
Type | Changes | By |
---|---|---|
Add conversion methods that append JSON content to an existing DOM | kdgregory |
Type | Changes | By |
---|---|---|
Bugfix (tracker ID 3102316): Introspector was reporting getter/setter methods with wrong number of params (which made converter fail) | kdgregory |
Type | Changes | By |
---|---|---|
Bugfix: parseXsdDatetime() was throwing incorrect exception | kdgregory |
Type | Changes | By |
---|---|---|
DomUtil: getAttributes(), getLocalName(Attr) | kdgregory | |
Xml2BeanConverter: support conversion of attributes (outbound only) | kdgregory |
Type | Changes | By |
---|---|---|
CollectionConverter | kdgregory | |
DomUtil: newDocument(QName), hasChildren(), hasElementChildren(), hasTextChildren() | kdgregory | |
XmlUtil: parseXsdDatetime() wasn't handling "Z" timezone | kdgregory | |
XPathWrapper: evaluateAsStringList(), evaluate(Node,Class) | kdgregory |
Type | Changes | By |
---|---|---|
NodeListIterator: now supports filtering of list by superclass | kdgregory | |
DomUtil: use NodeListIterator for getChildren() | kdgregory | |
NodeListIterator: recognize when NodeList is actually a Node (and traverse using nextSibling links if it is) | kdgregory |
Type | Changes | By |
---|---|---|
SimpleXMLReader: a subclass of XMLFilterImpl that implements parse() via configured or provided SAX parser (base class delegates) | kdgregory | |
XMLFilterImplBridge: used to link SAXParser output to XMLFilterImpl, enabling filter overrides | kdgregory |
Type | Changes | By |
---|---|---|
net.sf.practicalxml.converter package, with BeanConverter and JsonConverter as static front-end classes | kdgregory | |
OutputUtil: overloads of compact() and indent() that take arbitrary Source and Result params | kdgregory | |
XmlUtil: formatXsdBoolean(), parseXsdBoolean() | kdgregory |
Type | Changes | By |
---|---|---|
DomUtil: filter() | kdgregory | |
DomAsserts: XPath assertions now take any node as initial context | kdgregory | |
DomUtil: appendText() now returns the created node | kdgregory | |
DomUtil: getChildren(), getChild(), trimTextRecursive(), and removeEmptyTextRecursive() now take any Node (so you can pass Document as well as Element) | kdgregory |
Type | Changes | By |
---|---|---|
NodeListIterator: wrapper for a NodeList that provides full iterator functionality | kdgregory |