OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Best Practice - beyond schema

[ Lists Home | Date Index | Thread Index ]

I would say there are at least six alternatives:

1) Make alternative schemas in each locale, using <redefine> or
just copying and pasting.  So you have many "standard" schemas for the
same namespace floating around the world.

2) Make a general schema and then use Schematron (perhaps
embedded in <appinfo> elements) for different additional
constraints.  You could use Schematron's phase mechanism
to model the particular constraints applicable in each locale.
You could use the document() function to retrieve a list maintained
seperately from the schema giving parameters for the local
profile, perhaps from a well-known site.

3) Use a different schema language (i.e. RELAX NG) that 
can change its content models depending on an attribute value.
(However, I note that if you have constraints where the
attribute is high up in the document and the variation is low
down, I think you will need to duplicate all the intermediate

4) Augment the schema language, such as with Francis'
<stage> element, then generate particular schemas through
a preprocessor.  <ifdef>

5) Use different namespace for any elements that may
be unused in different locales.  Then your basic schema
always holds. This does not model if some optional 
elements are required elsewhere.

But why do you need to make a centralized decision?

If each locale localizes the schema as it sees fit, why
not delegate the decision on which technology fits to
them, or even allow them to use alternatives within
the same locale, depending on quality of the tools 
and their levels of expertise for example?

Perhaps best practise is 6) to not force standardization
where none is needed.  For example, you might
provide an open XSD schema with all alternatives
available, which can validate any locale's documents
to a certain extent, then give an example Schematron schema 
for a sample profile, to demonstrate nice layering and 
co-occurrence constraint checking.  But then tell members that
they are free to just take your XSD schema and
hack that to taste, either using just an editor
or <redefine>. 

Rick Jelliffe


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS