Lists Home |
Date Index |
It was only scary because I didn't think anybody else would be doing it
that way and I'll probably have to refactor some other schemas to make
it easier to do this, otherwise it sounds like a good approach.
How do you handle versioning in that case? Or, rather, how do you
decide when you have created a new version of a schema? Does it make
sense to ask that??
> The key is that we have a formal means of
> annotating the relationship between the master and the derived.
I'd be interested to know a bit more about this as I could see it being
useful for my company's client.
Many thanks for providing such a clear and concise answer.
Uche Ogbuji wrote:
>On Mon, 2005-04-04 at 11:53 +1200, Fraser Crichton wrote:
>>Thanks for getting back so quickly. Maybe I should clarify -
>>The people submitting documents to my system are free to create
>>documents as they wish so long as they validate against xCIL, so they
>>can create a document with OrganisationInfo elements but my system can
>>only deal with documents with PersonInfo elements. As far as my system
>>is concerned the xCIL schema hasn't constrained the document
>>So do I use business logic code to validate against this situation or
>>do I create a more constrained schema in the same namespace (a scary
>Why is that scary?
>In a current client project, involving a large diversity of documents
>form a diversity of sources, we use this basic pattern. We have a
>master schema (like xCIL in your case) and a derived schema (like your
>more constrained version). The key is that we have a formal means of
>annotating the relationship between the master and the derived. In this
>way we can design our processing pipeline to deal with whatever
>constraints are appropriate at any stage. As long as people follow the
>business rule that the universe of valid documents for any derived
>schema is a subset of the universe of valid documents for the
>corresponding master schema, it all works very well indeed. The problem
>is that code review is the only way we have to enforce this rule. There
>have been discussions of schema algebra on this list that might allow
>for automated proofs, but I've never been able to boil the theories down
>to running code, even though we use RELAX NG language in our project
>(RELAX NG has the advantage of very clean semantics).
SolNet Solutions Limited
L12, SolNet House, 70 The Terrace
PO Box 397, Wellington, Aotearoa / New Zealand
This email may contain information intended for the sole use of
the original recipient. Please respect this when sharing or
disclosing this email's contents with any third party. If you
believe you have received this email in error, please delete it
and notify the sender or firstname.lastname@example.org as
soon as possible. The content of this email does not necessarily
reflect the views of SolNet Solutions Ltd.