xml-commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Neil Graham" <ne...@ca.ibm.com>
Subject Re: [ANN] XInclude processor for xml-commons
Date Mon, 28 Apr 2003 23:09:28 GMT
Hi Joerg,

This is very interesting.  A few of us in the Xerces-J community have been
tossing the idea of adding an XInclude implementation to the parser--seems
something of a natural fit since inclusion is, in some sense at least, done
at the physical level where we operate.

So this raises a few questions for us:

- At what stage during the processing of a document should XInclude
processing occur?  Should it occur before DTD validation, namespace
processing, or after schema validation (if a document is schema-validated).
Abstractly, one could ask whether XInclude operates on a document's infoset
or on its PSVI.  Does the spec say anything about this point, or does it
leave the question open, to be dealt with when a spec describing a
canonical XML processing model is created?  By using SAX, one is at least
in some measure biasing oneself to a position on this:  SAX provides a
version of the infoset, no PSVI.

This was one of the reasons we had thought that an XInclude processor
written to XNI (Xerces way of enabling parser components to talk to one
another) might be a good idea, since it would allow an XInclude component
to conceptually fit in pretty much anywhere during document processing that
it was wanted.

- In terms of the suitability of xml-commons as a home for a project like
this, can one imagine such a component being readily used as a utility,
independent of a parser?  I haven't thought much about this so I don't
know; just hoping to have the subject put on the table; I'm just trying to
get a handle on how many users of such a beast wouldn't use Xerces as well.

- You also wrote "It supports text and XML parsing"; I can't tell whether
the word "parsing" distributes over the conjunction.  :)  i.e., does this
mean it supports text parsing?  What would that mean in terms of the
XInclude spec?

Cheers!
Neil
Neil Graham
XML Parser Development
IBM Toronto Lab
Phone:  905-413-3519, T/L 969-3519
E-mail:  neilg@ca.ibm.com




|---------+---------------------------->
|         |           "J.Pietschmann"  |
|         |           <j3322ptm@yahoo.d|
|         |           e>               |
|         |                            |
|         |           04/28/2003 01:55 |
|         |           PM               |
|         |                            |
|---------+---------------------------->
  >---------------------------------------------------------------------------------------------------------------------------------------------|
  |                                                                                      
                                                      |
  |       To:       commons-dev@xml.apache.org, cocoon-dev@xml.apache.org                
                                                      |
  |       cc:                                                                            
                                                      |
  |       Subject:  [ANN] XInclude processor for xml-commons                             
                                                      |
  |                                                                                      
                                                      |
  |                                                                                      
                                                      |
  >---------------------------------------------------------------------------------------------------------------------------------------------|



Hi all,
sorry for crossposting.
I'm about to commit a nucleus for an XInclude processor to XML commons.

Any opinions for/against it?
Any rules to observe? Votes to take?

The processor is currently a SAX filter with some configuration
possiblities, namely the possiblity to resolve hrefs similar to
TrAX. It supports text and XML parsing and works recursively
unless the user prevents it. Fallback is also supported.

There is also still a lot of work, after all, I barely worked
two days on it:
- add the XPointer fragment stuff
- inclusion loop detection
- more robust detection of invalid XInclude content models
- nested XInclude (i.e. xi:include within xi:fallback)
- clean up lots of small problems with text includes.

Comments?

J.Pietschmann





Mime
View raw message