W3C home > Mailing lists > Public > xmlschema-dev@w3.org > April 2009

Conditional Levels of a Schema

From: Dieter Menne <dieter.menne@menne-biomed.de>
Date: Thu, 2 Apr 2009 11:05:55 -0700 (PDT)
Message-ID: <22842334.post@talk.nabble.com>
To: xmlschema-dev@w3.org
Hi,

we are currently defining a format for medical data storage
(hrmconsensus.org). The full version is available 
http://hrmconsensus.org/media/hrm/xhrm/xhrm02/xhrm0_2.xsd here .

In the simplified example below, we have the always mandatory deviceTyp. For
patientsType, we would like to have a global conditional switch so that
three flavors are possible

-- minOccurs = "0" for internal clinical use
-- minOccurs = "1" for archiving, must contain patient info
-- minOccurs = "never" anonymized, must not contain patient info

I know that the latter is not possible, that conditionals are not supported
in XSL, and that Schematron would be an alternative.  Note that the
conditionals occur in several nesting levels, so that we cannot easily
combine versions of a master element with details, but they are always of
the type "may", "must", "must not".

We would like to avoid having several xsd files and prefer a common file
with branching. Any ideas or references to ideas are appreciated.

Dieter Menne 
on behalf of the hrmconsensus group.


<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="0.2">
	<xs:element name="xhrm">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="device" type="deviceType"/>
				<xs:element name="patients" type="patientsType" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
		</xs:element>
</xs:schema>

-- 
View this message in context: http://www.nabble.com/Conditional-Levels-of-a-Schema-tp22842334p22842334.html
Sent from the w3.org - xmlschema-dev mailing list archive at Nabble.com.
Received on Monday, 6 April 2009 09:28:15 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:15:11 GMT