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

RE: Conditional Levels of a Schema

From: Dieter Menne <dieter.menne@menne-biomed.de>
Date: Tue, 7 Apr 2009 06:41:10 -0700 (PDT)
Message-ID: <22929208.post@talk.nabble.com>
To: xmlschema-dev@w3.org
RE: Conditional Levels of a Schema

In case someone is going to need it, here is Pete's suggestion:

The Master Schema

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="0.3"
   xmlns:hrm="http://www.hrmconsensus.org/layers">
	<xs:element name="xhrm">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="device" type="xs:string"/>
				<xs:element minOccurs="0" maxOccurs="1" name="patient" 
				   type="xs:string" hrm:patientInfo="1"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>


Use xsl to convert it to a another xsd where patient info is required. I
tried to use result-document with it, but could not get the syntax correct. 

<?xml version="1.0"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:hrm="http://www.hrmconsensus.org/layers">
  <xsl:output method="xml" indent="no"/>
  <xsl:template match="node()|@*">
    <xsl:copy>
      <xsl:apply-templates select="@*"/>
      <xsl:apply-templates/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="@hrm:patientInfo">
    <xsl:attribute name="minOccurs">
      <xsl:value-of select="1"/>
    </xsl:attribute>
  </xsl:template>
</xsl:stylesheet>


-- 
View this message in context: http://www.nabble.com/Conditional-Levels-of-a-Schema-tp22905179p22929208.html
Sent from the w3.org - xmlschema-dev mailing list archive at Nabble.com.
Received on Tuesday, 7 April 2009 13:41:46 GMT

Subscribe to the Stylus Scoop newsletter for helpful XML tips and tutorials.
Email
First Name
Last Name
Company

Download Stylus Studio 6 XML Enterprise Edition

Subscribe in XML format
RSS 2.0
Atom 0.3
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-2007 All Rights Reserved.