summaryrefslogtreecommitdiff
path: root/bindings/xml/README
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2007-07-14 17:37:09 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2007-07-14 17:37:09 +0000
commite51f8104f4e2b27051ac12fc8ed0fb998f50894f (patch)
treed4a79516fa1d76fa9fe7c614f1d2fbdf5f395220 /bindings/xml/README
parent328df08330d95047d6235d8322507866f1c3cb11 (diff)
downloadlibdom-e51f8104f4e2b27051ac12fc8ed0fb998f50894f.tar.gz
libdom-e51f8104f4e2b27051ac12fc8ed0fb998f50894f.tar.bz2
LibXML 2 binding for libdom.
This is mostly stub, at present svn path=/trunk/dom/; revision=3412
Diffstat (limited to 'bindings/xml/README')
-rw-r--r--bindings/xml/README35
1 files changed, 35 insertions, 0 deletions
diff --git a/bindings/xml/README b/bindings/xml/README
new file mode 100644
index 0000000..0e427c7
--- /dev/null
+++ b/bindings/xml/README
@@ -0,0 +1,35 @@
+LibXML binding for libdom
+=========================
+
+Overview
+--------
+
+ This is an example binding of libxml2 to libdom. It consists of two,
+ orthogonal, parts:
+
+ 1) libxml push parser wrapper
+ 2) libxml-specific DOMImplementationSource for libdom
+
+Push parser wrapper
+-------------------
+
+ This is a wrapper around libxml's push parser API, to facilitate
+ construction of a libdom DOM tree. The basic premise is that the wrapper
+ intercepts the SAX events emitted by libxml's tokeniser then invokes
+ libxml's own SAX handlers, wrapping the results up in libdom-specific
+ data structures.
+
+ The tree created is thus a tree of libdom nodes, each of which is linked
+ to the libxml node that backs it. This allows the binding to process the
+ DOM tree using libxml api, should it need to (e.g. for normalization
+ purposes).
+
+DOMImplementationSource
+-----------------------
+
+ The DOMImplementationSource exposes the APIs needed to create a new
+ document based upon the libxml binding. It also provides the utility
+ functions that libdom uses when performing some operations (such as
+ document normalization). This is needed as libdom is document language
+ agnostic; therefore, it requires support from the binding to perform
+ some operations.