summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make hubbub parser binding build trees correctly (credit: Bo Yang)John Mark Bell2009-03-056-140/+731
| | | | svn path=/trunk/dom/; revision=6711
* Omitted to remove this yesterday.John Mark Bell2009-03-041-19/+0
| | | | svn path=/trunk/dom/; revision=6694
* Rationalise dom_string (some consideration is required as to what happens ↵John Mark Bell2009-03-0319-1407/+202
| | | | | | | | | wrt interning -- lwc_strings should probably be used) Purge charset handling -- a) documents are always converted to utf-8 b) use parserutils for utf-8 handling Fix Hubbub binding to compile. svn path=/trunk/dom/; revision=6682
* Use pkg-config for hubbub cflags/librariesJohn Mark Bell2009-03-032-6/+2
| | | | svn path=/trunk/dom/; revision=6681
* Fix typoJohn Mark Bell2008-04-071-1/+1
| | | | svn path=/trunk/dom/; revision=4074
* Make TestObject support both HTML and XML documents and auto-detect which ↵John Mark Bell2007-11-047-38/+520
| | | | | | | | | | parser to use. Make binding testcase attempt to load an HTML document. Hubbub parser binding constructor takes Aliases file path as a parameter. Hubbub parser binding's token handler now spews debug at stdout. svn path=/trunk/dom/; revision=3648
* Fix TestObject after xml binding error changesJohn Mark Bell2007-11-041-4/+5
| | | | svn path=/trunk/dom/; revision=3647
* Beginnings of a hubbub binding to libdomJohn Mark Bell2007-11-047-0/+408
| | | | | | | | | | | | Currently comprises a stubbed-out parser wrapper Todo: 1) Complete parser wrapper, such that it actually creates a DOM tree 2) Provide a hubbub-backed DOMImplementationSource svn path=/trunk/dom/; revision=3646
* Fix up names of xml binding error enum valuesJohn Mark Bell2007-11-043-14/+14
| | | | svn path=/trunk/dom/; revision=3645
* Fix up bindings buildsystem to permit multiple bindings to be built -- quite ↵John Mark Bell2007-11-0410-202/+168
| | | | | | | | | 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
* Implement dom_text_split_text()John Mark Bell2007-11-032-4/+48
| | | | svn path=/trunk/dom/; revision=3642
* Add, and implement, dom_string_insert() and dom_string_replace() APIJohn Mark Bell2007-11-033-29/+414
| | | | | | | | | | | | | 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
* Add notes about casting/temp variables for asserts, control structures, ↵James Shaw2007-10-051-1/+73
| | | | | | attribute gets/sets and method calls svn path=/trunk/dom/; revision=3624
* Sketch out some implementation ideas:James Shaw2007-10-041-54/+215
| | | | | | | 'throw' variable propagated in same way to 'vardefs' 'condition-before' allows the creation of temporary DOMStrings before they're needed svn path=/trunk/dom/; revision=3623
* Make the dom string class more useful.John Mark Bell2007-10-0310-282/+675
| | | | | | | | 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
* Add better docs for <var>James Shaw2007-10-021-1/+10
| | | | svn path=/trunk/dom/; revision=3618
* DOM Strings are now capable of containing either UTF-8 or UTF-16 encoded data.John Mark Bell2007-09-3016-26/+856
| | | | | | | | | | | | | | | | | | 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
* Implement dom_characterdata_get_data()John Mark Bell2007-09-291-6/+21
| | | | | | Implement dom_characterdata_set_data() svn path=/trunk/dom/; revision=3610
* Implement dom_namednodemap_get_named_item_ns()John Mark Bell2007-09-291-14/+110
| | | | | | | Implement dom_namednodemap_set_named_item_ns() Implement dom_namednodemap_remove_named_item_ns() svn path=/trunk/dom/; revision=3609
* Implement dom_element_get_attribute_ns()John Mark Bell2007-09-291-29/+259
| | | | | | | | | | Implement dom_element_set_attribute_ns() Implement dom_element_remove_attribute_ns() Implement dom_element_get_attribute_node_ns() Implement dom_element_set_attribute_node_ns() Implement dom_element_has_attribute_ns() svn path=/trunk/dom/; revision=3608
* dom_initialise() and dom_finalise() are now completely public, rather than ↵John Mark Bell2007-09-295-27/+51
| | | | | | | | 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
* Add finalisation method to libxml-libdom.John Mark Bell2007-09-293-2/+32
| | | | | | Ensure testcases clean up after themselves by calling xml_dom_binding_finalise() svn path=/trunk/dom/; revision=3605
* Introduce global initialistaion/finalisation for DOM library. This should be ↵John Mark Bell2007-09-2910-75/+387
| | | | | | | | | 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
* Stub out all test templates. Remove all previous tests.James Shaw2007-09-2818-1527/+243
| | | | svn path=/trunk/dom/; revision=3602
* Implement dom_document_create_element_ns().John Mark Bell2007-09-271-13/+113
| | | | | | | | Implement dom_document_create_attribute_ns(). These need more sanity checking. svn path=/trunk/dom/; revision=3600
* Modify dom_node_initialise() API to permit specification of namespace URI ↵John Mark Bell2007-09-2712-33/+54
| | | | | | | | and prefix. Fix up everything else to cope. svn path=/trunk/dom/; revision=3599
* Replace implementation of dom_attr_get_name() with call to ↵John Mark Bell2007-09-261-9/+3
| | | | | | dom_node_get_node_name(), which implements the gory details. svn path=/trunk/dom/; revision=3597
* Begin to cater for XML namespaces.John Mark Bell2007-09-264-56/+113
| | | | | | | | | | | The localname member of Node has been removed. The name member already caters for this. Fix NodeList to cope with this and add some pointer vs NULL comparisons for sanity. Replace implementation of dom_element_get_tag_name() with a simple call to dom_node_get_node_name(), which is where the gory details lie. Add the QName building stuff to dom_node_get_node_name() (as per previous implementation of dom_element_get_tag_name()). Implement dom_node_set_prefix(). Ensure dom_node_get_local_name() returns NULL for nodes created by non-namespace-aware methods (nodes must also be Elements or Attributes) svn path=/trunk/dom/; revision=3596
* Update test suite docsJames Shaw2007-09-261-21/+71
| | | | svn path=/trunk/dom/; revision=3595
* Alter assert_equals signature, stub out assert_uri_equalsJames Shaw2007-09-262-10/+34
| | | | svn path=/trunk/dom/; revision=3594
* Add library-internal accessor to the head of an Element's attribute list ↵John Mark Bell2007-09-253-19/+171
| | | | | | | | | | | | | | (dom_element_get_first_attribute()) Implement dom_namednodemap_get_length() Implement dom_namednodemap_get_named_item() Implement dom_namednodemap_set_named_item() Implement dom_namednodemap_remove_named_item() Implement dom_namednodemap_item() All dom_namednodemap_*() still require support for maps of Entity and Notation nodes to be added (this requires DocumentType to gain support for these nodes). svn path=/trunk/dom/; revision=3591
* Move attributes field to struct dom_element as it doesn't apply to other ↵John Mark Bell2007-09-244-22/+69
| | | | | | node types. svn path=/trunk/dom/; revision=3590
* Implement dom_nodelist_get_length()John Mark Bell2007-09-241-9/+111
| | | | | | Implement dom_nodelist_item() svn path=/trunk/dom/; revision=3589
* Add dom_entity_reference_get_textual_representation() as an internal library ↵John Mark Bell2007-09-233-3/+142
| | | | | | | | function. Implement dom_attr_get_value() svn path=/trunk/dom/; revision=3588
* Fix compilation errors. It helps if you compile things before committing them...John Mark Bell2007-09-231-4/+5
| | | | svn path=/trunk/dom/; revision=3583
* Partial implementation of dom_attr_get_name()John Mark Bell2007-09-231-15/+56
| | | | | | | Implement dom_attr_set_value() Rework dom_attr_get_owner() to make use of base class' parent pointer rather than having an explicit owner pointer (the base class' parent pointer would be unused, otherwise, and the Node class is aware that attributes have no parent, so this is safe) svn path=/trunk/dom/; revision=3582
* Fix dom_node_{get,set}_value() to handle Attr nodes correctly -- now ↵John Mark Bell2007-09-231-0/+10
| | | | | | delegates value accesses to the Attr-specific functions. svn path=/trunk/dom/; revision=3581
* Fix dom_element_set_attribute() to use dom_attr_set_value() to replace the ↵John Mark Bell2007-09-231-5/+4
| | | | | | value of an existing attribute -- attribute values are stored as a tree of child nodes, not as a string attached to the nodeValue pointer. svn path=/trunk/dom/; revision=3580
* Fix dom_node_get_parent_node(), dom_node_get_previous_sibling() and ↵John Mark Bell2007-09-231-0/+18
| | | | | | dom_node_get_next_sibling() to return NULL for Attr nodes. svn path=/trunk/dom/; revision=3579
* Note the need for handling of defaulted attributes in ↵John Mark Bell2007-09-221-0/+4
| | | | | | dom_element_remove_attribute{_node} svn path=/trunk/dom/; revision=3578
* Implement dom_element_get_attribute()John Mark Bell2007-09-221-36/+154
| | | | | | | | | | | | | Implement dom_element_set_attribute() Implement dom_element_remove_attribute() Implement dom_element_get_attribute_node() Make dom_element_set_attribute_node() ensure that the element is writable Implement dom_element_remove_attribute_node() Implement dom_element_get_elements_by_tag_name() Implement dom_element_get_elements_by_tag_name_ns() Implement dom_element_has_attribute() svn path=/trunk/dom/; revision=3577
* Make _dom_node_readonly() accessible to library internalsJohn Mark Bell2007-09-222-1/+4
| | | | svn path=/trunk/dom/; revision=3576
* Remove accidental commit of binaryJames Shaw2007-09-221-0/+0
| | | | svn path=/trunk/dom/; revision=3575
* Extend list implementation, add test-list.c to test some of it.James Shaw2007-09-222-0/+56
| | | | svn path=/trunk/dom/; revision=3574
* Extend list implementation, add test-list.c to test some of it.James Shaw2007-09-229-20/+160
| | | | svn path=/trunk/dom/; revision=3573
* Implement dom_document_get_implementation()John Mark Bell2007-09-221-14/+13
| | | | | | | Implement dom_document_get_elements_by_tag_name() Implement dom_document_get_elements_by_tag_name_ns() svn path=/trunk/dom/; revision=3572
* Rename testcase utility library to libdomtest -- libdebug made no senseJohn Mark Bell2007-09-222-3/+3
| | | | svn path=/trunk/dom/; revision=3571
* Implement dom_node_get_child_nodes()John Mark Bell2007-09-221-8/+21
| | | | | | Implement dom_node_get_attributes() svn path=/trunk/dom/; revision=3570
* Whitespace changesJohn Mark Bell2007-09-222-1/+3
| | | | svn path=/trunk/dom/; revision=3569
* Create a library of utility functions for the testsuite to useJohn Mark Bell2007-09-2213-187/+379
| | | | | | Make test/binding.c include stdio.h itself rather than relying on other things to include it. svn path=/trunk/dom/; revision=3568