Lists Home |
Date Index |
From: "Roger L. Costello" <firstname.lastname@example.org>
> XLink, XInclude seem to be in the same predicament as XML Schemas, i.e.,
> they state that XML Base can be used but there is no requirement.
> This lack of clear direction will kill interoperability.
I was glad to see in the current W3C (World Wide Web Consortium) TAG
(Technical Architecture Group) teleconference notes that they are discussing
ISO DSDL (Document Schema Definition Language) is an effort to
move beyond DTDs and allow a more modular and flexible approach to
document processing. Where it takes the various schema languages that
have so far found industry acceptance (e.g., two criteria might be
implementations from different sources, and active user communities)
and put the ISO rubber stamp on them.
One important part is Part 1, which talks about specifying the processing
pipeline. It mentions RELAX Namespaces which might provide a divide-and-conquer
facility, and I think the recent W3C Note on XML Pipelines looks a nice contribution.
Anyone who has opinions or ideas that relate to Part 1, please feel free to send
comments or make suggestions to this list (and to TAG). Speaking unofficially,
Writing privately, I am sure that the ISO Working Group 34 would very much like to
find out what people have implemented privately in this regard (does everyone just use
Ant?) so that we can reflect or codify proven practices. If W3C is going
to move in this area, I think that might be a good reason to defer DSDL Part 1
to wait to see if W3C's solution is suitable.
I think Roger is completely correct in seeing the need for this. Either you go the
DTD route, which is providing a fixed 80/20 order for various functions (e.g.
inclusion and defaulting before validation) or you provide some way to specify
how functions that have been factored-out should layer with each other.
In other words, merely factoring out functionality from DTDs is not "layering".
Layering happens when all the functions have real specifications
and the order of their application can be specified or defaulted.
Layering certainly does not happen by either factoring out existing
functionality to be taken care of by potential specifications (= vapor-layers)
or by treating processing order as irrelevant.