summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* First cut at a port to the new buildsystem.John Mark Bell2009-03-254-238/+14
| | | | | | DOMTS stuff currently disabled. svn path=/trunk/dom/; revision=6883
* Make code more readable.Bo Yang2009-03-241-1/+1
| | | | svn path=/trunk/dom/; revision=6836
* Convert Text to use vtable structure. Now the whole libdom is compiled ↵Bo Yang2009-03-242-6/+47
| | | | | | successfully again. svn path=/trunk/dom/; revision=6833
* Convert NodeList and ProcessingInstruction. Bo Yang2009-03-243-12/+13
| | | | svn path=/trunk/dom/; revision=6830
* Modify NamedNodeMap, note that there is no vtable for this type because it ↵Bo Yang2009-03-238-43/+49
| | | | | | is not in the DOM inherit hierarchy. And the internal API used between different DOM parts should use struct dom_node_internal instead of struct dom_node. svn path=/trunk/dom/; revision=6821
* Convert EntityReference interface to use vtable structure.Bo Yang2009-03-211-2/+2
| | | | svn path=/trunk/dom/; revision=6812
* Fix the spelling initialize -> initialise.Bo Yang2009-03-205-7/+7
| | | | svn path=/trunk/dom/; revision=6809
* Convert DOMElement interface to use vtable structure.Bo Yang2009-03-202-69/+217
| | | | svn path=/trunk/dom/; revision=6808
* Convert DOMFragment to use vtable structure.Bo Yang2009-03-191-2/+18
| | | | svn path=/trunk/dom/; revision=6806
* Convert DocumentType to use vtable structure.Bo Yang2009-03-192-9/+50
| | | | svn path=/trunk/dom/; revision=6804
* Convert DOM document interface to use vtable structure.Bo Yang2009-03-194-59/+192
| | | | svn path=/trunk/dom/; revision=6802
* Fix the last commit, hook up the vtable for dom_characterdata.Bo Yang2009-03-151-2/+1
| | | | svn path=/trunk/dom/; revision=6788
* Convert the dom_characterdata to use vtable.Bo Yang2009-03-155-22/+79
| | | | svn path=/trunk/dom/; revision=6787
* Change the our dom to use vtable method. The first step: Bo Yang2009-03-124-132/+328
| | | | | | | convert the dom_node/dom_attr. And, this is my first commit. Great && Exciting! svn path=/trunk/dom/; revision=6780
* Make hubbub parser binding build trees correctly (credit: Bo Yang)John Mark Bell2009-03-052-32/+67
| | | | 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-0312-1318/+158
| | | | | | | | | 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
* Fix typoJohn Mark Bell2008-04-071-1/+1
| | | | svn path=/trunk/dom/; revision=4074
* 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-032-29/+404
| | | | | | | | | | | | | 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-039-278/+653
| | | | | | | | 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-3011-21/+831
| | | | | | | | | | | | | | | | | | 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-291-5/+23
| | | | | | | | 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-298-75/+372
| | | | | | | | | 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
* 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
* 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
* 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
* 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
* Assume that NULL dom_string pointers imply the empty string.John Mark Bell2007-09-221-0/+17
| | | | svn path=/trunk/dom/; revision=3561
* 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