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

How to defined multiple flavors for

From: Dieter Menne <dieter.menne@menne-biomed.de>
Date: Mon, 6 Apr 2009 09:11:58 +0200
To: <xmlschema-dev@w3.org>
Message-ID: <000001c9b686$f99193b0$ecb4bb10$@menne@menne-biomed.de>
Hi,

(apologies if this should have been posted already, I  have not seen it yet
after trying twice.)

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

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, but the overhead of the
latter seems a large.  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>
Received on Monday, 6 April 2009 09:23:05 GMT

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