Daniel Cazzulino pointed to the problem of XInclude versus WXS here:

http://weblogs.asp.net/cazzu/archive/2005/01/10/XsdAndXInclude.aspx

Microsoft ended up with quite the gnarly hack for the problem:

http://blogs.msdn.com/xmlteam/archive/2005/05/11/416639.aspx

This is just another example of such common schema problems.  These days
you pretty much have to write content models that explicitly allow all
xml:* attributes, XInclude, etc.  I think this is just as much a problem
with RELAX NG, although NVDL could help a bit.

In a comment to the original article Rick Jelliffe says:

This is another case that highlights the differences between the people
"with a markup mentality (that free annotatability is the architectural
core of XML: i.e., extensibility) and the people with a data storage
mentality (that the purpose of schemas is to let you store your
documents as efficiently as possible.) 

"A markup person would say "Of course you want to be able to add any
attribute in any other namespace if you want to" while a storage person
would say "Yikes, we cannot allow that every simple type could take
extra attributes: think of the storage costs!" 

"The idea of xml:lang is that natural language data 
always belongs to a language: if you like, that language is a type-facet
of prose. XML built this awareness in, and XML Schemas pushed it out in
order to cater to people with the data storage requirement or, at least,
that mentality. 

"Another way to look at this XInclude issue is that it shows the gap our
current standards have to deal with inherited data values, for example
an attribute value on a parent whose efectivity reaches its
descendents."

I'd guess that he's hinting that the closed grammar schema approach will
always be susceptible to such problems, and I think he's right.  (Cue
the Schematron advocacy here).  I wanted to touch off a discussion of
how RELAX NG or DSDL overall can meet typical schema needs without
falling into such traps or requiring severe back-bends by schema
authors.  At a minimum, could RELAX NG grow a pragma to always allow
xml:* attributes?

I think there might be an opportunity to once again show the superior
flexibility and expressiveness of RELAX NG and DSDL.


-- 
Uche Ogbuji                               Fourthought, Inc.
http://uche.ogbuji.net                    http://fourthought.com
http://copia.ogbuji.net                   http://4Suite.org
Articles: http://uche.ogbuji.net/tech/publications/



------------------------ Yahoo! Groups Sponsor --------------------~--> 
Get Bzzzy! (real tools to help you find a job). Welcome to the Sweet Life.
http://us.click.yahoo.com/A77XvD/vlQLAA/TtwFAA/2U_rlB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/rng-users/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to