1. Document factory is just as important as element factory.
Document factory should be registry-based, possibly taking advantage of the
Java Activation Framework.
2. Document factory and element factory should not be combined.
Docuverse DOM SDK does combine them into a single interface (DOMFactory) and
it turns out that there is little benefit and troublesome to combine the two
factories.
3. It should be possible to have multiple element factories.
This is needed when the user wants to augment the element factory provided
by the document factory.
4. Class.newInstance is very slow and should be avoided if possible.
Docuverse DOM SDK handles element-specific class instatiation using the
Prototype design pattern. For each element type, you provide an instance to
the PrototypeFactory and each factory method clones the prototype. This is
considerably faster than newInstance. It also allows you to have your own
default attribute values as well as 'default' children (i.e. all table
elements can have tbody, thead, tfoot elements pre-inserted).
Anyway, I am preparing to redesigning the factory framework in the DOM SDK
so this SOX effort is very timely for me.
Don Park
Docuverse