[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Expert's advice needed about XML Schema and defining some


peter glantschnig
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@s...>
To: <xml-dev@l...>
Sent: Thursday, December 04, 2003 5:00 AM
Subject:  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!


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.