-- XSD schema extracted from ITU-T H.812.3 (07/2016)
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://hl7.org/schemas/hdata/2013/08/hrf" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:hrf="http://hl7.org/schemas/hdata/2013/08/hrf">
<xs:element type="xs:string" name="id"/>
<xs:element type="xs:float" name="version"/>
<xs:element type="xs:dateTime" name="created"/>
<xs:element type="xs:dateTime" name="lastModified"/>
<xs:element type="xs:string" name="name"/>
<xs:element type="xs:anyURI" name="uri"/>
<xs:element type="xs:string" name="email"/>
<xs:element type="xs:string" name="reference"/>
<xs:element type="xs:string" name="path"/>
<xs:element type="xs:string" name="profileID"/>
<xs:element type="xs:boolean" name="resourcePrefix"/>
<xs:element type="xs:string" name="resourceTypeID"/>
<xs:element type="xs:boolean" name="metadataSupport"/>
<xs:element type="xs:string" name="mediaType"/>
<xs:element type="xs:string" name="validator"/>
<xs:group name="extensionElement">
<xs:sequence>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##local" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:element name="author">
<xs:complexType>
<xs:sequence>
<xs:element ref="hrf:name"/>
<xs:element ref="hrf:uri" minOccurs="0"/>
<xs:element ref="hrf:email" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="profile">
<xs:complexType>
<xs:sequence>
<xs:element ref="hrf:id"/>
<xs:element ref="hrf:reference"/>
<xs:group ref="hrf:extensionElement" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="section">
<xs:complexType>
<xs:sequence>
<xs:element ref="hrf:path"/>
<xs:element ref="hrf:profileID" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="hrf:resourcePrefix" minOccurs="0"/>
<xs:element ref="hrf:resourceTypeID" minOccurs="0"/>
<xs:element ref="hrf:metadataSupport" minOccurs="0"/>
<xs:group ref="hrf:extensionElement" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="hrf:section" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="representation">
<xs:complexType>
<xs:sequence>
<xs:element ref="hrf:mediaType"/>
<xs:element ref="hrf:validator" minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref="hrf:extensionElement" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="resourceType">
<xs:complexType>
<xs:sequence>
<xs:element ref="hrf:id"/>
<xs:element ref="hrf:reference"/>
<xs:element ref="hrf:representation" minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref="hrf:extensionElement" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element ref="hrf:id"/>
<xs:element ref="hrf:version"/>
<xs:element ref="hrf:created"/>
<xs:element ref="hrf:lastModified"/>
<xs:element ref="hrf:profile" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="hrf:section" maxOccurs="unbounded"/>
<xs:element ref="hrf:resourceType" minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref="hrf:extensionElement" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:key name="PKResourceType">
<xs:selector xpath="hrf:resourceType/hrf:id"/>
<xs:field xpath="."/>
</xs:key>
<xs:keyref name="FKSectionToResourceType" refer="hrf:PKResourceType">
<xs:selector xpath="hrf:section/hrf:resourceTypeID"/>
<xs:field xpath="."/>
</xs:keyref>
<xs:key name="PKProfile">
<xs:selector xpath="hrf:profile/hrf:id"/>
<xs:field xpath="."/>
</xs:key>
<xs:keyref name="FKSectionToProfile" refer="hrf:PKProfile">
<xs:selector xpath="hrf:section/hrf:profileID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
</xs:schema>