summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Include required headersJohn Mark Bell2007-09-221-0/+3
| | | | svn path=/trunk/dom/; revision=3567
* More notesJames Shaw2007-09-221-8/+51
| | | | svn path=/trunk/dom/; revision=3566
* Implement #defines for try/catchJames Shaw2007-09-221-0/+27
| | | | svn path=/trunk/dom/; revision=3565
* Use a typedef for the function pointers to comparison functions, add newline ↵Rob Kendrick2007-09-222-4/+6
| | | | | | at end of file svn path=/trunk/dom/; revision=3564
* s/malloc.h/stdlib.h/ (malloc.h is non-standard, though common)John Mark Bell2007-09-222-9/+22
| | | | | | | Sprinkle some assertions about so as to catch malloc failure at the earliest opportunity. Pedantic line length and brace position changes. svn path=/trunk/dom/; revision=3563
* Change to C-style commentsJames Shaw2007-09-221-3/+3
| | | | svn path=/trunk/dom/; revision=3562
* Assume that NULL dom_string pointers imply the empty string.John Mark Bell2007-09-221-0/+17
| | | | svn path=/trunk/dom/; revision=3561
* Implement list_contains_all()James Shaw2007-09-222-0/+15
| | | | svn path=/trunk/dom/; revision=3560
* Initial revision of linked list implementationJames Shaw2007-09-222-0/+99
| | | | svn path=/trunk/dom/; revision=3559
* Implement dom_node_remove_node()John Mark Bell2007-09-221-11/+46
| | | | | | | Make _dom_node_replace() handle DocumentFragments correctly. Ensure _dom_node_detach_range() clears range's previous/next pointers. svn path=/trunk/dom/; revision=3558
* Implement dom_node_replace_child()John Mark Bell2007-09-221-5/+83
| | | | svn path=/trunk/dom/; revision=3557
* If new_child is already in the tree ensure its parent is not read onlyJohn Mark Bell2007-09-221-2/+7
| | | | svn path=/trunk/dom/; revision=3556
* Fix misleading commentsJohn Mark Bell2007-09-221-13/+12
| | | | svn path=/trunk/dom/; revision=3555
* Move cardinality constraint checking for Document Element and DocumentType ↵John Mark Bell2007-09-221-89/+130
| | | | | | | | children to _dom_node_permitted_child(). Break tree insertion/removal code out from dom_node_insert_before() and into their own utility routines. svn path=/trunk/dom/; revision=3554
* Implement dom_node_get_node_name()John Mark Bell2007-09-201-12/+133
| | | | | | | | Implement dom_node_get_node_value() Implement dom_node_set_node_value() Implement utility routines to determine if a given node type is permitted as a child of a node and to detect if a given node is read only. svn path=/trunk/dom/; revision=3553
* Stop TestObject appending .xml to the filename -- the auto-generated ↵John Mark Bell2007-09-192-2/+2
| | | | | | | | testcases already have it appended. Fixup binding testcase appropriately. svn path=/trunk/dom/; revision=3552
* Begin implementation of DocumentType classJohn Mark Bell2007-09-197-87/+202
| | | | | | | | | | | | | | | 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
* More informational messagingJohn Mark Bell2007-09-181-6/+45
| | | | svn path=/trunk/dom/; revision=3550
* Implement dom_element_get_tag_name()John Mark Bell2007-09-181-8/+105
| | | | | | Implement dom_element_set_attribute_node() [still has some outstanding sanity checking] svn path=/trunk/dom/; revision=3549
* Implement sanity checking in dom_node_insert_before()John Mark Bell2007-09-181-18/+116
| | | | | | There's still a couple of outstanding issues here, marked as todos. svn path=/trunk/dom/; revision=3548
* More logging of failed DOM calls.John Mark Bell2007-09-171-4/+45
| | | | | | Fix segfault caused by failure to add attribute to element svn path=/trunk/dom/; revision=3547
* Partial implementation of dom_node_insert_before. This has utterly no sanity ↵John Mark Bell2007-09-171-5/+29
| | | | | | checking at present so will probably break, badly. svn path=/trunk/dom/; revision=3546
* Fix potential segfaultsJohn Mark Bell2007-09-171-2/+4
| | | | svn path=/trunk/dom/; revision=3544