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] Expert's advice needed about XML Schema and defining some

[ Lists Home | Date Index | Thread Index ]

Your solution seems pretty clever.  However, it imposes some processing
constraints:
   1.  You have to add a new person to the persons document and save it
before you can open the publications document in order to add a reference to
a new person.  (That is, if you validated the publications document with the
old persons document, you cannot validly add a reference to a person added
subsequently, unless you can reparse the XSLT-produced schema for the
persons document after adding the person.)
   2.  Similarly, you must delete publication doc references to a person you
are going to subsequently delete from the persons doc.

If you do either of these things in the wrong order, the publications
document will not be validatable for editing until you undo the change to
the persons file.  If all the changes are made by programs you can probably
manage this successfully, but if humans are involved they will probably get
frustrated by making mistakes in the order of editing.

Another possible approach is to use XSLT to combine the persons and
publications document, and use the XML Schema key constraints, validating
only the combined document when it is used -- the publications doc would not
be independently validated.

I know almost nothing about XInclude, but it might provide a way of giving
access to the persons document within the publications document.  It might
also be worth investigating XQuery (about which I am also ignorant).

Jeff.

----- Original Message ----- 
From: "Peter Glantschnig" <justice@sbox.tugraz.at>
To: <xml-dev@lists.xml.org>
Sent: Thursday, December 04, 2003 5:00 AM
Subject: [xml-dev] Expert's advice needed about XML Schema and defining some
kind of relation

... Let's say you have two XML
files. One stores publications and the other one stores some names of
persons. Now each person is responsible for a couple of publications.
Now I want to make sure that this relation is always true by using XML
Schema. So when you enter a new publication, you should not be able to
assign a person to that publication, which can not be found in the
persons XML file. So at least when you validate the publications XML
file you should get an error.

Now what I need in the publications XML Schema is something like that:
"for the type persons only values are allowed which can be found in a
certain field in the persons XML file".

...

I made a XSL Transformation which transforms the persons XML file into a
XML Schema data type, which allows only certain values. This generated
XML Schema file I included into the XML Schema file of the publications.
So you enter the persons, then you make the XSL Transformation and then
you can enter some publications and validate the XML file. You are sure,
that all assigned person appear in the persons XML file!





 

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

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