VTD-XML Home
|
1.Goals
and Features
(Separate code-only
VTD-XML tutorials are available in
C,Java
and
C#)
Design Goal
VTD-XML is designed for the
following purposes:
-
To prove that non-extractive
XML processing works for the intended classes of XML
-
To demonstrate the benefits of
VTD (performance, memory, persistence, incremental update, etc.)
-
For many applications, we
feel it can be immediately useful.
Features of Current Implementation
-
DTD support: DTD is
processed and parsed. The content of DTD is returned as a VTD token. VTD-XML doesn't attempt to resolve entity reference declared in DTD.
-
Character Encoding:
Current implementation supports ASCII, UTF-8, ISO-8859-1, UTF-16BE and
UTF-16LE, ISO--8859-{2~10}, Windows {1250~1258}
-
White spaces handling: All insignificant white spaces are ignored.
-
Persistence support: This
feature is available since version 2.0.
-
Programming Language
support: VTD-XML is available in C, C# and Java.
-
Namespace: The
current implementation supports namespace similar to DOM level-2. However,
in this version, we don't really check the correctness of the namespace
usage.
-
Well-formedness and
validity: Support everything except External references defined in DTD.
Support for schema validation will be added in the future.
-
XML Version: The
current implementation supports XML version 1.0.
-
Performance and Memory
Usage: The processing Performance is typically 1.5x~2x of SAX with NULL
content handler; Memory usage:
1.3x~1.6x typical cases (benchmark available
vtd-xml.sf.net/benchmark.html)
-
Parser Pooling: Our
observation is that the parser instantiation is quite light-weight, meaning
that in many cases one doesn't have to pre-instantiate parser instances.
-
Read/Write: We
categorize our XML API to be read and "special" write (by using
XMLModifier) because of its
incremental
update capability. Remember: XML document is not taken apart.
|