<?xml version="1.0" 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="Resources.xsd" version="v1.2.0">
	<!-- dependencies -->
	<xs:include schemaLocation="BaseTypes.xsd"/>

	<xs:complexType name="AUTHORED_RESOURCE" abstract="true">
		<xs:sequence>
			<xs:element name="original_language" type="TERMINOLOGY_CODE"/>
			<xs:element name="is_controlled" type="xs:boolean" minOccurs="0"/>
			<xs:element name="description" type="RESOURCE_DESCRIPTION" minOccurs="0"/>
			<xs:element name="translations" type="TRANSLATION_DETAILS" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="uid" type="UUID" minOccurs="0"/>
			<xs:element name="annotations" type="RESOURCE_ANNOTATIONS" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RESOURCE_ANNOTATIONS">
		<xs:sequence>
			<xs:element name="documentation" type="AnnotationLangSet" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AnnotationLangSet">
		<xs:sequence>
			<xs:element name="items" type="AnnotationPathSet" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>
	</xs:complexType>
	<xs:complexType name="AnnotationPathSet">
		<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="TRANSLATION_DETAILS">
		<xs:sequence>
			<xs:element name="language" type="TERMINOLOGY_CODE"/>
			<xs:element name="author" type="StringDictionaryItem" maxOccurs="unbounded"/>
			<xs:element name="accreditation" type="xs:string" minOccurs="0"/>
			<xs:element name="other_details" type="StringDictionaryItem" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="version_last_translated" type="xs:string" minOccurs="0"/>
			<xs:element name="other_contributors" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>
	</xs:complexType>
	<xs:complexType name="RESOURCE_DESCRIPTION">
		<xs:sequence>
			<xs:element name="original_author" type="StringDictionaryItem" maxOccurs="unbounded"/>
			<xs:element name="other_contributors" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="lifecycle_state" type="TERMINOLOGY_CODE"/>
			<xs:element name="resource_package_uri" type="xs:string" minOccurs="0"/>
			<xs:element name="other_details" type="StringDictionaryItem" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="details" type="RESOURCE_DESCRIPTION_ITEM" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="parent_resource" type="AUTHORED_RESOURCE" minOccurs="0"/>
			<xs:element name="original_namespace" type="xs:string" minOccurs="0"/>
			<xs:element name="original_publisher" type="xs:string" minOccurs="0"/>
			<xs:element name="custodian_namespace" type="xs:string" minOccurs="0"/>
			<xs:element name="custodian_organisation" type="xs:string" minOccurs="0"/>
			<xs:element name="copyright" type="xs:string" minOccurs="0"/>
			<xs:element name="licence" type="xs:string" minOccurs="0"/>
			<xs:element name="ip_acknowledgements" type="StringDictionaryItem" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="references" type="StringDictionaryItem" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="conversion_details" type="StringDictionaryItem" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RESOURCE_DESCRIPTION_ITEM">
		<xs:sequence>
			<xs:element name="language" type="TERMINOLOGY_CODE"/>
			<xs:element name="purpose" type="xs:string"/>
			<xs:element name="keywords" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="use" type="xs:string" minOccurs="0"/>
			<xs:element name="misuse" type="xs:string" minOccurs="0"/>
			<xs:element name="original_resource_uri" type="StringDictionaryItem" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="other_details" type="StringDictionaryItem" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>
	</xs:complexType>
	<xs:simpleType name="InternetId">
		<xs:restriction base="xs:string">
			<xs:pattern value="\w+(\.\w+)*"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
