XMLC To-Do List
Immediate
- Create getText for all PCDATA.
- Ceate cleaner way to manage DOMFormatter (DOMWriter???)
- Add option to expand entity references on formatting.
- xHTML support.
- Finish tests based on the OASIS XML parse conformance tests
- Upgrade Tidy parser.
- Create LazyDOM version of WML DOM.
- Straighten out relationship between DOM factory and W3C DOMImplementaion
created documents.
- Add test for compiling file with a schema.
- Include WML 1.2 and 1.3 DTDs.
- LazyHTMLDocument should consider templates when doing getHead(), getBody(), etc.
- JAXP support for DOMParser object.
- Need to do performance analysis of Lazy DOM.
- Recompilation needs to be awayre of SSI.
- Need to do performance analysis of compile.
- Review use of HashTable; convert some to HashMap and some to HashSet.
- URL rewriting only works when the XMLC document object is passed
to the formatter. Passing the contained document or any other
node results in no URL rewriting. This restriction is caused
by the inability to get back to the XMLObject from the DOM.
- Should ignorable whitespace be preserved by XMLC?
- HTML formatter should preserve DOCTYPE declaration.
- When using the metadata API, the source file for HTML can't contain
file: and the XML files must contain file: (per PM).
- Create WML Lazy DOM.
- It should be possible to compile a file just specifying a metadata
file.
- It appears that disabling entity reference expansion for XML parsing
causes character entity to be reference nodes, which is painful
- Need options to control entity reference expansion.
- The DOMFormatter supports formatting HTML as XHTML and XHTML as HTML,
however the preformatted text of the arguments will output the wrong
arguments. Also, how should XHTML character entities be handled?
Bugs
- Default attributes in XML files don't work.
- The Xerces parser does not have a way to get attribute values with
entity references unexpanded. In a future release, this will be
changed to leave attribute-value entity references unexpanded.
- XML document that generate org.apache.xerces.dom.ElementNS
node generate invalid org.w3c interface names.
- HTML 4.0 character entities are not supported by the browsers.
Everything after yuml does not work. These are not currently
used, but need some way to use them.
- Figure out another workaround for the I.E. <SPAN> ID attribute
bug.
- XML DOM can have attributes with child nodes, this doens't currently
work.
- Encoding is not correct for -docout on XML files.
- Tidy parser does not understand onfocus attribute.
- html test-5.9 causes the tidy parser to hang.
- The -methods option may not work any more. Should also print
constants.
- An illegal <xxx/> tag in HTML is reported to cause XMLC to
hang (see test-4.5).
- LazyDOM needs a Document.getElementsByTagName and getElementById that does not cause
expansion of intermediate nodes. Need to resolve differences between HTML and XML
versions of these methods.
Possible Enhancements and Missing Functionality
- Add support for define the attributes that are to be treated in as
HTML-style classes in a XML document. Allow wildcard for
element name, or maybe just use different options, such as
-class-attr attrname
and
-class-tag-attr elementname attrname
.
- Add an option to copy elements from a source XMLC object to the
one being compiled. Support libraries of source XMLC objects.
These could be used for sources of javascript code, etc.
- Need a way go do URL mapping in XML.
- Integrate Andy's XMLC object verification.
- Define a XML DTD for *.xmlc files. This contains options,
verification information, english descriptions of fields, etc.
A general meta-data file to associate with an XML file.
- Add ability to generate interfaces for localizations, page recompilation.
this will need the ability to restrict the ids that have access methods
generated
- The HTML Tidy parse deletes empty SPAN tags. Its not necessarly
desired and it might not even be the right thing for tidy to do in
general. This needs investigated.
- JTidy handles only a few, compiled in encodings. This could use the
Java string encoding/decoding facility.
- Add optional handling of server-side include syntax.
- Allow Parser to take input streams instead of disk files.
Use SAX InputSource for this.
- Several methods, such as URL attributes, need to be moved to the
XMLCDomFactory to allow for more flexable documents. Maybe some sort
of handling callback, which would get ride of HTMLDocBuilder and
would allow document builders to do special hacks.
- Need to set the encoding for HTML files.
- Add support for XHTML.
- The xmlc command should be extensible with other classes, being
able to add in new options. This requires extensible metadata.
- Add control over error handling on XMLC recompilation. Include
an option to cause it to just log an error and fall back to the
old class.
- Add support for subdocument classes (as proposed by kunze@opus5.de)
and other features required to support skins.
- A way to associate MIME type with document from command line.
- Added support for calling the javac compiler directly in the same
JVM, rather than execing.
- Added support for compiling multiple documents in a single invocation
of XMLC.
- Build tests for Chinese support using: http://www.ascc.net/xml/test/
- libxml (ftp://ftp.gnome.org/pub/GNOME/stable/sources/libxml/) has a
test suite that look really great and could be used for XMLC.
- Add metaconfig for chosing DOM factory based on public or system
id.
- Might be better to drop parser.DOMBuilder and use native DOMParser;
however this might prevent the use of different DOM impls.