[jdom-interest] xni builder
    rpcee 
    rpcee at operamail.com
       
    Thu Nov  8 02:02:39 PST 2001
    
    
  
I've been recasting the XNIBuilder in Java and fixing the bugs/missing bits 
(namespace handling) by following the SAXBuilder stuff, and come across a few 
questions:
1. SAXHandler DTD processing
      PIs in the external or internal DTD become part of the Document. Is it 
legal for PIs to appear in DTDs? Xerces 2 accepts them. Should PIs in the 
internal subset become part of the doc, copied as String to the internal 
subset, or both?
      Comments in the external DTD are copied to the internal DTD subset. I 
can prevent this in XNIBuilder - should I? Can/should SAXHandler
      NOTATIONs in the internal DTD subset are copied as a String minus the 
publicId
      NOTATIONs in the external DTD are copied to the internal DTD subset 
(again minus public Id)
      If there is no internal DTD subset in the source document, the JDOM 
internal subset is set to the empty string and appears when the document is 
serialised, ie
         <!DOCTYPE personnel SYSTEM "personal.dtd" [
         ]>
      Is this by design, should the subset be set to null, or should the 
outputter not output blank internal subsets?
2. XNI Builder
      Building the internal DTD means I have copied all the buffer.append() in 
SAXHandler. I've moved this into a BuilderHelper class which just contains 
static methods to append the string representation of comments etc to a 
buffer.
      NOTATIONs don't appear to be represented in JDOM? (No Notation class)
      Here's my current list of todos.
         complete internal DTD subset stuff.
         error handling
         add all the build() methods from SAXBuilder
         accessor methods for ignorablewhite space etc as per SAX builder
         split Builder/Handler
         possibly just add the handlers to a XNI parser configuration (no need 
to extend XMLDocumentParser according to andy clark)
         factories
         javadoc
      How can I test this? For the first stab I'm aiming to build pretty much 
what SAX builder does. Is there a document comparison app that will compare in 
detail two JDOM documents? Then I could build with SAXBuilder, build with 
XNIBuilder, compare the resulting Documents.
How was it envisaged access to the xml decl would be acheived - attributes on 
Document? an XMLDecl class which is an attribute on Document? What happens 
when a JDOM doc is built from SAXBuilder or by hand - default values or null 
values. What would be the logic for outputters to generate the xml decl?
Also, was there an intention to provide access to attribute datatypes?
    
    
More information about the jdom-interest
mailing list