[xquery-talk] [ANN] nux-1.1 release

Wolfgang Hoschek whoschek at lbl.gov
Fri Apr 8 15:04:37 PDT 2005


The nux-1.1 release has been uploaded to

	http://dsd.lbl.gov/nux/

Nux is a small, natural, straightforward and surprisingly effective 
open-source extension of the  XOM and Saxon XML libraries.

Nux is geared towards versatile embedded integration and interchange, 
in particular for high-throughput server container environments (e.g. 
high-speed real-time data streaming applications, large-scale 
Peer-to-Peer messaging network infrastructures over high-bandwidth 
networks, scalable message oriented middleware, etc). But its 
simplicity also makes it useful for client side XML 
query/transformation workflow pipelines.


Features include:

	• 	 Seamless W3C XQuery and XPath support for XOM.
	• 	 Efficient and flexible pools and factories for documents, 
XQueries, XSL Transforms, as well as document Builders that validate 
against various schema languages, including W3C XML Schemas, DTDs, 
RELAX NG, Schematron, etc.
	• 	 Optional serialization and deserialization of XOM XML documents to 
and from  an efficient and compact custom binary XML data format (bnux  
format), without loss or change of any information.  Serialization and 
deserialization is much faster than with the standard textual XML 
format, and the resulting binary data is more compressed than textual 
XML.
	• 	 For simple and complex continuous queries and/or transformations 
over very large or infinitely long XML input,  a convenient streaming 
path filter API combines full XQuery and XPath support with 
straightforward filtering.
	• 	 Glue for integration with JAXB and for queries over ill-formed 
HTML.
	• 	 Well documented API.


Changelog:

	• 	nux.xom.pool: Added a configurable XML caching framework. Classes 
DocumentFactory, DocumentPool, DocumentMap and PoolConfig enable 
efficient compact thread-safe pooling/caching of XOM document objects.  
Usage is safe: It survives stress tests looking for memory leaks, race 
conditions, etc.  Plugins for dependency chain invalidation could be 
added in the future, but for the moment this isn't explicitly 
supported. Comments on this or any other Nux aspect are always welcome. 
See API: http://dsd.lbl.gov/nux/api/nux/xom/pool/package-summary.html.
	• 	nux.xom.pool.*: All pools and ThreadLocals now internally use 
SoftReferences to allow for automatic garbage collection of cached 
objects in low-memory situations.
	• 	nux.xom.pool:*: All pools now have a constructor that takes a 
PoolConfig object.
	• 	XQuery/XPath: Now requires saxon-8.4 (bundled with the download). 
See the Saxon documentation for the changelog.  In particular note that 
the namespace axis is nomore supported in XQuery.
	• 	XQuery/XPath: Various performance improvements (preceding axis, 
variables with large node lists, etc.).
	• 	XQuery/XPath: On output, now auto-converts any Saxon NodeInfo 
implementation (e.g. TinyTree, StandardTree, JDOM, DOM) while fully 
preserving node identities, even in the presence of documentless nodes. 
This required some minor refactoring internal to NodeWrapper.
	• 	XQuery/XPath: Better documentation on how to use extension 
functions and modules.
	• 	Added XOMUtil.Normalizer with standard XML algorithms for text and 
whitespace normalization of trees.
	• 	Deprecated XQueryUtil.normalizeTexts(). The same functionality is 
now available through XOMUtil.Normalizer.PRESERVE.normalize().




More information about the talk mailing list