Re: Expert's advice needed about XML Schema and defining some
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!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format