<?xml version="1.1" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
		   xmlns="http://schemas.openehr.org/v2" targetNamespace="http://schemas.openehr.org/v2" elementFormDefault="qualified"
		   id="ArchetypeCommon.xsd" version="v2.0.6"
		   xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" vc:minVersion="1.1">
	<!-- dependencies -->
	<xs:include schemaLocation="../../BASE/latest/BaseTypes.xsd"/>
	<xs:include schemaLocation="../../BASE/latest/Resource.xsd"/>

	<xs:complexType name="ARCHETYPE_TERM">
		<xs:sequence>
			<xs:element name="text" type="xs:string"/>
			<xs:element name="description" type="xs:string" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>
	</xs:complexType>

	<xs:complexType name="SIBLING_ORDER" >
		<xs:sequence>
			<xs:element name="sibling_node_id" type="xs:string"/>
		</xs:sequence>			
		<xs:attribute name="is_before" type="xs:boolean"/>
	</xs:complexType>

	<xs:simpleType name="DateConstraintPattern">
		<xs:restriction base="xs:string">
			<xs:pattern value="[yY][yY][yY][yY]-[mM?X][mM?X]-[dD?X][dD?X]"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="DateTimeConstraintPattern">
		<xs:restriction base="xs:string">
			<xs:pattern value="[yY][yY][yY][yY]-[mM?][mM?]-[dD?X][dD?X][T][hH?X][hH?X]:[mM?X][mM?X]:[sS?X][sS?X]"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="TimeConstraintPattern">
		<xs:restriction base="xs:string">
			<xs:pattern value="[hH][hH]:[mM?X][mM?X]:[sS?X][sS?X]"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="DurationConstraintPattern">
		<xs:restriction base="xs:string">
			<xs:pattern value="(P[yY]?[mM]?[wW]?[dD]?T[hH]?[mM]?[sS]?)|(P[yY]?[mM]?[wW]?[dD]?)"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="CodeDefinitionSet">
		<xs:sequence>
			<xs:element name="items" type="ARCHETYPE_TERM" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>
	</xs:complexType>
	
	<xs:complexType name="TermBindingSet">
		<xs:sequence>
			<xs:element name="items" type="StringDictionaryItem" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>
	</xs:complexType>

	
	<xs:complexType name="VALUE_SET">
		<xs:sequence>
			<xs:element name="members" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>
	</xs:complexType>
</xs:schema>
