Projects / VTD-XML

VTD-XML

Virtual Token Descriptor for eXtensible Markup Language (VTD-XML) refers to a collection of efficient XML processing technologies centered around a non-extractive XML parsing technique called Virtual Token Descriptor (VTD). Depending on the perspective, VTD-XML can be viewed as either an XML parser, a native XML indexer or a file format that uses binary data to enhance the text XML, an incremental XML content modifier, an XML slicer/splitter/assembler, or an XML editor/eraser.

Tags
Licenses
Implementation

Recent releases

  •  06 Sep 2012 07:11

    Release Notes: Full XPath node() support was added, and XPath text is supported. Sophisticated XPath rewrite features were added for performance optimization. Internal caching is now supported, and for certain complex expressions 1000x improvements are possible. A more permissive deletion condition was added to XMLModifier. Bugs in getElementFragment() and getContentFragment() were fixed.

    •  25 Feb 2011 02:39

      Release Notes: The Core VTD-XML API was expanded. Support was added for a 5-level location cache for both navigation and indexing. This is intended for performance tuning for XML documents of various depth. Support was added for document content manipulation for empty element nodes. For Java, support for processing gzipped and zipped XML files was added, and support for HTTP URL based XML processing was enhanced. For C, the thread-safe version and non-thread-safe version were merged to create a single thread-safe version using thread local storage. A full featured C++ version of VTD-XML has been released.

      •  10 Aug 2010 03:27

        Release Notes: Performance tuning for small files, strict XML Namespace conformance, an expanded core API with getPrefixString(), compareNormalizedTokenString2(), and toNormalizedString2(), expanded cutting/slicing capability that can get sibling fragments, a fix for a bug with reading huge XML documents on some platforms, and other important bugfixes.

        •  12 Apr 2010 09:23

          Release Notes: The core VTD-XML API was expanded. Support for capturing white spaces was added to VTDGen. Support for getContentFragment(), recoverNode() and cloneNav() was added to VTDNav. Support for updating and reparsing a feature was added to XMLModifier. Support for retrieving all attributes was added to AutoPilot. BookMark was enhanced. In XPath, comment and processing instruction support for nodes, namespace axis support, and round-half-to-even() were added. A number of bug fixes and code enhancements were done.

          •  03 Oct 2009 03:45

            Release Notes: TD-XML's Core API was expanded. VTDNav now has toStringUpperCase, toStringLowerCase, contains(), endsWith(), and startsWith(). Extended VTD now has in-memory buffer support. Xpath was improved and the following XPath 2.0 functions were added: abs(), ends-with(), upper-case(), and lower-case(). Support for variable reference was added. Internal performance tuning was undertaken and bugs were fixed. Warning messages were fixed in the C version and a memory leak during Xpath expression parsing was fixed.

            Recent comments

            30 Jun 2007 01:53 jzhang2005

            Re: Memory efficient?!
            Looks interesting :-)

            but it will still require schema -- a tall order for many cases

            >

            > % SAX is too low level, and difficult to

            > use

            >

            >

            > Yes; I wrote a tool to make the life

            > simpler:

            > http://freshmeat.net/projects/xcc/

            29 Jun 2007 13:42 fnevgeny

            Re: Memory efficient?!


            > SAX is too low level, and difficult to use

            Yes; I wrote a tool to make the life simpler: http://freshmeat.net/projects/xcc/

            29 Jun 2007 13:23 jzhang2005

            Re: Memory efficient?!
            SAX is too low level, and difficult to use

            for vast majority of XML data...

            http://www.javaworld.com/javaworld/jw-03-2006/jw-0327-simplify.html

            >

            > % can you run xpath over SAX?

            >

            >

            > In principle, one can build an

            > xpath-capable parser atop of SAX (people

            > did it e.g. with expat). Don't know

            > about the completeness or efficiency of

            > the implementation, though. But how does

            > it relate to my comment?

            24 Jun 2007 22:21 fnevgeny

            Re: Memory efficient?!


            > can you run xpath over SAX?

            In principle, one can build an xpath-capable parser atop of SAX (people did it e.g. with expat). Don't know about the completeness or efficiency of the implementation, though. But how does it relate to my comment?

            24 Jun 2007 16:47 jzhang2005

            Re: Memory efficient?!


            > > VTD-XML [...] goes beyond DOM and

            > SAX in terms of performance, memory use,

            > and ease [...] consuming only 1.3-1.5

            > times the size of an XML document.

            >

            > The memory consumption of SAX parsers is

            > usually small, _independent_ of the

            > document size.

            >

            >

            can you run xpath over SAX?

            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.