forked from astro/libxml-ruby
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTODO
70 lines (48 loc) · 2.43 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
==== ENHANCEMENTS
* Add warnings to each of the xpath functions if xpath isn't compiled
in.
* Flush out XML::XPath::Context to more closely mirror the
_xmlXPathContext(libxml/xpath.h) structure.
* Add XML::Node#sibling= to add siblings to an XML document
* Cleanup the variable naming schemes and standardize on one. Ideas:
* All VALUE encapsulated objects are prefixed with the character
'r'. rnode, rdoc, rctxt, rxpath, rxnset, rxns.
* Their unwrapped C equiv drops the 'r'. Since operating with
libxml isn't context less, this should help catch the cases
where having routines that are libxml derived (ex: xmlNodePtr)
and ruby-libxml derived (ex: ruby_xml_node) should collide in
the same name space convention. This will act as a reminder
and deterrant against haphazardly returning and using libxml
objects when they should be passed in. ruby-libxml is a set
of tools, not and end result. Put the power and options in
the hands of the user and don't confine or constrain anything
within reason. Just because someone can't think of a use for
it doesn't mean it's not possible or useful to someone. It's
the weird shit that makes a library powerful.
rnode -> node
rdoc -> doc
rctxt -> ctxt
rxpath -> xpath
* Should sweep through the code and remove all instances of
'return(Qnil)' with exceptions if 'return(Qnil)' is being used for
signaling an error or inability to process the document.
* Need to add the ability to create namespace objects and modify them
accordingly.
* Need to figure out how to easily apply a namespace object to either a
document or a node.
* Add an XML::DTD class.
* Add ability to dynamically create DTD's.
* Add ability to set auto-parse on XML::Parser classes.
* Add ability to set auto-set on XML::XPath classes.
* What's the counter part to XML::Node#sibling= ? XML::Node#next ??
There's a certain degree of othogonality that I'm missing in the API
at the moment and it's picking away at my brain like a bad Dan Quale
quote.
* Add a way of inspecting an XML::Node so that it can be serialized.
* Have XML::Node#child= accept ChildNodeLists.
* Add ability to append hashes and arrays via the XML::Node#<< method.
* Node (etc.) #[] should support symbol keys.
* Make nodes comparable (on qualified name?)
==== Data Serialization
* Need to define DTD for basic ruby types that have been XML serialized
and deserialized.