OpenTop contains a native C++ XML Parser.
At first glance, parsing XML appears to be a trivial
matter. However, in reality, correctly parsing XML documents is a demanding
task - so much so that many of the advanced networking, Unicode and
features built into OpenTop originate from requirements generated
by the XML parser project.
The OpenTop XML parser is fast, efficient and fully conformant with the
W3C XML Recommendation.
This is regularly verified using the
OASIS/NIST XML Conformance Test Suite.
The OpenTop SAX Interface
The primary interface to OpenTop's validating XML parser is based on
the de-facto industry-standard
SAX 2.0 interface.
Apart from being a well-documented and widely adopted standard, one of the
main attractions of SAX is that it is extremely efficient,
taking minimal memory or processor resources.
The SAX specification originated in the Java world, so there is no official C++
definition. However, OpenTop provides a true implementation of SAX
and only deviates from the Java interfaces where the C++ language offers
a more efficient solution.
In common with the rest of OpenTop, this is a professionally supported
product and the full source code is supplied.
OASIS XML Catalog
Applications which use XML external entities (such as DTDs or
sub-document inclusion) rely on the XML parser resolving
the entity's system name into an available resource. For some
documents, such as XHTML, this can lead to the XML parser
needing to access resources from the network.
OASIS XML Catalogs specification
defines a way for applications to override the declarations within an
XML document to point the processor at an alternative (local or remote)
resource. Applications typically use this feature to redirect
network resources to a locally cached copy.
OpenTop was one of the fist commercial libraries to fully
implement the XML Catalog specification.