~hudson-ubuntu/+junk/hudson-dom4j

« back to all changes in this revision

Viewing changes to TODO.txt

  • Committer: James Page
  • Date: 2010-11-18 13:20:23 UTC
  • Revision ID: james.page@canonical.com-20101118132023-puz3z975327yu8ib
Initial release of hudson variant

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
TO DO LIST
 
2
==========
 
3
 
 
4
By all means help yourself to any of these tasks if you fancy
 
5
rolling your sleeves up and doing some development, tuning, testing or 
 
6
documentation. Any contributions will be greatly received.
 
7
 
 
8
 
 
9
 
 
10
Development Tasks
 
11
=================
 
12
 
 
13
* As suggested by Robert Lebowitz, consider the pretty printing
 
14
  and OutputFormat to allow very large text nodes to wrap their
 
15
  text at (say) 80 characters per line.
 
16
 
 
17
* Implement a Saxon adapter so that the SAxon XSLT engine can work
 
18
  natively on top of dom4j.
 
19
 
 
20
* implement a Locator Element that maintains the column & line number that 
 
21
  errors may occur on for better debugging.
 
22
 
 
23
* implement a proper lazy tree parsing mechanism using the XPP pull parser.
 
24
 
 
25
* JDBC ResultSet implementation of an Element so that XPath and XSLT can be
 
26
easily done on a JDBC result set.
 
27
 
 
28
* Integrate Dennis Sosnoski's XML-Stream work for the default serialization 
 
29
mechansism
 
30
 
 
31
* Support XPath and XSLT patterns in the ElementHandler mechansim
 
32
 
 
33
* As suggested by Kesav Kumar Kolla, implement a better, mutable Swing TreeModel
 
34
  possibly along with an optional document event mechansim
 
35
 
 
36
* get the DOM implementation to pass the DOM conformance tests at
 
37
  http://xmlconf.sourceforge.net/
 
38
 
 
39
* a persistent dom4j implementation using XMLDB or some other persistence 
 
40
  mechansim
 
41
 
 
42
* investigate the generation of more optimal Element implementations based on 
 
43
  a schema definition, which could still take additional extra schema adjuncts if necessary
 
44
  but would by default use instance member variables for attributes. e.g.
 
45
  <customer id="123" name="James" location="UK"/>
 
46
 
 
47
  could generate
 
48
   
 
49
  public class CustomerElement extends DefaultElement {
 
50
      private String id;
 
51
      private String name;
 
52
      private String location;
 
53
      ...
 
54
  }
 
55
 
 
56
  So the performance benefit of using a bean would remain yet the XPath, XML, SAX benefits would
 
57
  remain, indeed the use of the 'bean' would be invisible.
 
58
 
 
59
  Though this might well be similar to using the BeanElement.
 
60
 
 
61
 
 
62
 
 
63
Documentation
 
64
=============
 
65
 
 
66
* make cookbook fit for dom4j 1.2
 
67
 
 
68
* adding UML diagramms into cookbook
 
69
 
 
70
* add a easier instruction for programmers that starts to use xml and
 
71
  a instruction for programmers that came form jdom world
 
72
 
 
73
* add the test-suite html output created by junit-report to project page.
 
74
 
 
75
* improve FOp output for source code samples
 
76
 
 
77
Test completed
 
78
==============
 
79
 
 
80
These features have been developed but require more testing to
 
81
determine that they are complete...
 
82
 
 
83
* support for setExpandEntities(true) to expand entities, so that
 
84
  text using "&amp;" could just be treated as a String. So
 
85
    <foo>A &amp; B</foo>
 
86
  could be treated as a single Element with a Text node containing a String
 
87
  "A & B"
 
88
 
 
89
* merging adjacent text nodes; use an internal StringBuffer to add multiple 
 
90
  characters() SAX events together.
 
91
 
 
92
* whilespace removal option.
 
93
  Without access to a schema or DTD its hard to do proper whitespace 
 
94
  removal thanks to mixed content, however a simple option for 
 
95
  data-related XML applications, to ignoring all whieespace-only nodes 
 
96
  such that
 
97
 
 
98
  <customer>
 
99
    <name>James</name>
 
100
  </customer>
 
101
  would only contain 1 child <name> element and not 2 whilespace nodes.
 
102
 
 
103
* support of XMLDB native database (org.dom4j.persistence)