summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Fix up bindings buildsystem to permit multiple bindings to be built -- quite ↵John Mark Bell2007-11-041-0/+20
| | | | | | | | | why this wasn't done in the first place is currently beyond me. Tidy up XML binding -- ensure all public API is prefixed dom_xml_ to avoid confusion, remove xml_alloc (it's pointless), and move xml_msg to <dom/functypes.h> (as dom_msg, as it's more useful there) Fix up testobject to compile once more svn path=/trunk/dom/; revision=3643
* Add, and implement, dom_string_insert() and dom_string_replace() APIJohn Mark Bell2007-11-031-0/+10
| | | | | | | | | | | | | Fix dom_string_substr() to have correct length limits when calling _dom_utf{8,16}_next() Fix dom_string_substr() to calculate correct length of output string when creating from ptr Implement dom_characterdata_get_length() Implement dom_characterdata_substring_data() Implement dom_characterdata_append_data() Implement dom_characterdata_insert_data() Implement dom_characterdata_delete_data() Implement dom_characterdata_replace_data() svn path=/trunk/dom/; revision=3641
* Make the dom string class more useful.John Mark Bell2007-10-031-4/+22
| | | | | | | | Purge all trace of dom_string_get_data() from outside the dom string implementation. Port affected code to new, more useful, APIs. This also fixes the interned node name strings mentioned in the previous commit. svn path=/trunk/dom/; revision=3621
* DOM Strings are now capable of containing either UTF-8 or UTF-16 encoded data.John Mark Bell2007-09-303-4/+18
| | | | | | | | | | | | | | | | | | The charset used for strings within a document is specified at document creation time. Whilst it is possible to mix charsets within a document, it's not recommended. Things that need fixing: + dom_string_get_data() doesn't return the charset. Better would be to permit the client to request a charset for the data to be returned in. + Interned node name strings will break if the document is UTF-16 (dom_document_create()). In fact, these could quite happily be globals, rather than allocating a set for each document. + Other usage of dom string constructors need checking for sanity + DOM Strings need to gain more utility APIs (such as getting the character length of a string, string concatenation etc). svn path=/trunk/dom/; revision=3614
* dom_initialise() and dom_finalise() are now completely public, rather than ↵John Mark Bell2007-09-292-10/+21
| | | | | | | | hidden away in a header only meant for inclusion by bindings. Client applications are responsible for initialisation and finalisation of the dom library. This must happen before/after (respectively) any call to a dom library or dom binding library function. The reason for this change is that, if multiple bindings are required, then the dom library should still only be initialised/finalised once. Only the client can enforce this sensibly. svn path=/trunk/dom/; revision=3606
* Introduce global initialistaion/finalisation for DOM library. This should be ↵John Mark Bell2007-09-291-0/+10
| | | | | | | | | used to initialise any parts of the library before they are used. Mostly, this will comprise of static initialisers. Finalisation cleans up afterwards. This API is only exposed to language-specific binding libraries -- they should expose their own global initialisation/finalisation routines which call the core libdom ones. Introduce new utility code for namespace and qname processing. Port dom_document_create_element_ns() and dom_document_create_attribute_ns() to this new code. Make libdom-libxml's initialiser initialise libdom itself first of all. svn path=/trunk/dom/; revision=3604
* Begin implementation of DocumentType classJohn Mark Bell2007-09-191-3/+9
| | | | | | | | | | | | | | | Remove dom_document_set_doctype() -- dom_node_insert_before() (and thus _append_child()) can be used to achieve the same effect. DocumentType node is now a child of the Document node (as it should have been) rather than a hidden field. Make dom_node_destroy() aware of DocumentType nodes potentially having no owner. Make dom_node_finalise() aware of it, too. Make dom_node_get_owner_document() return NULL for Document nodes, as per the spec. Fix bug in dom_node_insert_before() -- previously it failed to catch attempts to insert a second root element. Make dom_node_insert_before() handle DocumentType nodes appropriately. Implement XML binding's dom_implementation_create_document_type() function. Fix XML binding's dom_implementation_create_document() implementation to cope with changed API relating to doctype insertion. Fix up XML parser wrapper to cater for new doctype insertion mechanism. Also sprinkle some NULL about for paranoia purposes. svn path=/trunk/dom/; revision=3551
* Rename dom_named_node_map to dom_namednodemap to be consistent with the rest ↵James Shaw2007-08-081-2/+2
| | | | | | of the code svn path=/trunk/dom/; revision=3489
* Fix structure name dom_nodelistJames Shaw2007-08-031-2/+2
| | | | svn path=/trunk/dom/; revision=3474
* Comment fixesJohn Mark Bell2007-07-291-3/+3
| | | | svn path=/trunk/dom/; revision=3470
* Add Document constructorJohn Mark Bell2007-07-281-0/+4
| | | | svn path=/trunk/dom/; revision=3466
* Sort out somewhat messy object construction.John Mark Bell2007-07-281-5/+12
| | | | | | We now have explicit types for all classes (rather than using the parent class for those which inherit but add no extra data content). svn path=/trunk/dom/; revision=3465
* Implement type-specific node constructors and veneer the appropriate ↵John Mark Bell2007-07-261-1/+4
| | | | | | Document APIs onto them. svn path=/trunk/dom/; revision=3463
* Add ability to set a document's doctype after the document has been createdJohn Mark Bell2007-07-261-0/+7
| | | | svn path=/trunk/dom/; revision=3462
* Add omitted dom_document_create_comment APIJohn Mark Bell2007-07-221-0/+3
| | | | svn path=/trunk/dom/; revision=3459
* More name changes for consistency with specJames Shaw2007-07-211-6/+6
| | | | svn path=/trunk/dom/; revision=3455
* rename dom_document_get_element() to dom_document_get_document_element()James Shaw2007-07-211-1/+1
| | | | svn path=/trunk/dom/; revision=3453
* Add email addressJames Shaw2007-07-191-1/+1
| | | | svn path=/trunk/dom/; revision=3442
* Stub out remainder of DocumentType API.John Mark Bell2007-07-161-4/+19
| | | | | | Minor other changes. svn path=/trunk/dom/; revision=3424
* Stub implementation of of dom_document_type methodsJames Shaw2007-07-162-0/+22
| | | | svn path=/trunk/dom/; revision=3422
* Rename to dom_node_get_owner_document() in line with specJames Shaw2007-07-151-1/+1
| | | | svn path=/trunk/dom/; revision=3414
* Populate dom.hJohn Mark Bell2007-07-141-4/+24
| | | | | | Beginnings of xmlparser SAX handling. svn path=/trunk/dom/; revision=3413
* LibXML 2 binding for libdom.John Mark Bell2007-07-141-0/+17
| | | | | | This is mostly stub, at present svn path=/trunk/dom/; revision=3412
* Add extra dom_string constructor that permits strings to be manufactured in ↵John Mark Bell2007-07-141-0/+5
| | | | | | | | the situation where there exists no document. This should only be used in order to create dom_strings for use by DocumentType and Document constructors -- in any other situation, a suitable document already exists. svn path=/trunk/dom/; revision=3411
* Modify node value, type and name functions to match w3c specJames Shaw2007-07-141-4/+4
| | | | svn path=/trunk/dom/; revision=3409
* Add DOMImplementation, DOMImplementationListJohn Mark Bell2007-07-124-0/+348
| | | | | | | | | Add DOMImplementationRegistry Define DOMImplementationSource and provide API to allow their registration This little lot should permit some kind of sensible DOM bootstrapping. svn path=/trunk/dom/; revision=3403
* Add Element.John Mark Bell2007-07-112-1/+79
| | | | | | Fix Attr's get_schema_type_info to have the right name. svn path=/trunk/dom/; revision=3400
* Fix TypeInfo -> type_info conversionJohn Mark Bell2007-07-111-3/+3
| | | | svn path=/trunk/dom/; revision=3399
* Make CharacterData struct public (within library)John Mark Bell2007-07-111-0/+28
| | | | | | Add Text. svn path=/trunk/dom/; revision=3398
* Add CharacterDataJohn Mark Bell2007-07-111-0/+35
| | | | svn path=/trunk/dom/; revision=3397
* Add NamedNodeMap.John Mark Bell2007-07-101-0/+43
| | | | | | Minor fix for NodeList unref function; ensure it unrefs the owner document after it has finished using it. svn path=/trunk/dom/; revision=3395
* Add NodeList and string comparison APIJohn Mark Bell2007-07-102-0/+30
| | | | svn path=/trunk/dom/; revision=3394
* Purge all trace of the ballache that was dom_ctx.John Mark Bell2007-07-066-188/+145
| | | | | | Document the functions in document.c svn path=/trunk/dom/; revision=3385
* Import DOM library.John Mark Bell2007-07-066-0/+412
This is mainly stub functions atm (and is missing a number of key interfaces). svn path=/trunk/dom/; revision=3384