<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="RESOURCE_PROFILE">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="HEADER"/>
                <xs:element ref="BODY"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="HEADER">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="RESOURCE_IDENTIFIER"/>
                <xs:element ref="RESOURCE_TYPE"/>
                <xs:element ref="RESOURCE_KIND"/>
                <xs:element ref="RESOURCE_URI"/>
                <xs:element ref="DATE_OF_CREATION"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="RESOURCE_IDENTIFIER">
        <xs:complexType>
            <xs:attribute name="value" use="required"/>
        </xs:complexType>
    </xs:element>
    <xs:element name="RESOURCE_TYPE">
        <xs:complexType>
            <xs:attribute name="value" use="required" type="xs:NCName"/>
        </xs:complexType>
    </xs:element>
    <xs:element name="RESOURCE_KIND">
        <xs:complexType>
            <xs:attribute name="value" use="required" type="xs:NCName"/>
        </xs:complexType>
    </xs:element>
    <xs:element name="RESOURCE_URI">
        <xs:complexType>
            <xs:attribute name="value" use="required"/>
        </xs:complexType>
    </xs:element>
    <xs:element name="DATE_OF_CREATION">
        <xs:complexType>
            <xs:attribute name="value" use="required"/>
        </xs:complexType>
    </xs:element>
    <xs:element name="BODY">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="CONFIGURATION"/>
                <xs:element ref="STATUS"/>
                <xs:element ref="SECURITY_PARAMETERS"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="CONFIGURATION">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="context"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="context">
        <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element maxOccurs="unbounded" minOccurs="0" ref="param"/>
                <xs:element maxOccurs="unbounded" minOccurs="0" ref="category"/>
            </xs:choice>
            <xs:attribute name="id" use="required" type="xs:string"/>
            <xs:attribute name="label" use="required" type="xs:string"/>
            <xs:attribute name="type" use="required" type="xs:string"/>
        </xs:complexType>
    </xs:element>
    <xs:element name="category">
        <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element ref="param" maxOccurs="unbounded" minOccurs="0"/>
                <xs:element maxOccurs="unbounded" minOccurs="0" ref="concept"/>
            </xs:choice>
            <xs:attribute name="claim" use="required" type="xs:boolean"/>
            <xs:attribute name="id" use="required" type="xs:string"/>
            <xs:attribute name="label" use="required"/>
        </xs:complexType>
    </xs:element>
    <xs:element name="STATUS">
        <xs:complexType/>
    </xs:element>
    <xs:element name="SECURITY_PARAMETERS">
        <xs:complexType/>
    </xs:element>
    <xs:element name="concept">
        <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element ref="concept"/>
                <xs:element ref="param"/>
            </xs:choice>
            <xs:attribute name="claim" use="optional" type="xs:boolean"/>
            <xs:attribute name="id" use="required" type="xs:string"/>
            <xs:attribute name="label" use="required"/>
        </xs:complexType>
    </xs:element>
    <xs:element name="param">
        <xs:complexType mixed="true">
            <xs:attribute name="name" use="required" type="xs:string"/>
        </xs:complexType>
    </xs:element>
</xs:schema>
