<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.dehora.net/r/2004/07/" xmlns:r="http://www.dehora.net/r/2004/07/">
  <xs:element name="rdf">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="r:graph"/>
      </xs:sequence>
      <xs:attribute name="version" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="20040718"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="quoted">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="graph">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="r:description"/>
        <xs:element minOccurs="0" ref="r:context"/>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="r:statement"/>
      </xs:sequence>
      <xs:attribute name="quoted">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="description" type="xs:string"/>
  <xs:element name="context">
    <xs:complexType>
      <xs:attributeGroup ref="r:uri"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="statement">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="r:context"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="r:subject"/>
          <xs:element ref="r:property"/>
          <xs:group ref="r:value"/>
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="subject">
    <xs:complexType>
      <xs:attribute name="bnode" type="xs:NMTOKEN"/>
      <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="property">
    <xs:complexType>
      <xs:attributeGroup ref="r:uri"/>
    </xs:complexType>
  </xs:element>
  <xs:group name="value">
    <xs:choice>
      <xs:group ref="r:valueURI"/>
      <xs:group ref="r:valueBNODE"/>
      <xs:group ref="r:valueTYP"/>
      <xs:group ref="r:valueTYPXML"/>
    </xs:choice>
  </xs:group>
  <xs:group name="valueURI">
    <xs:sequence>
      <xs:element name="value">
        <xs:complexType>
          <xs:attributeGroup ref="r:uri"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:group>
  <xs:group name="valueBNODE">
    <xs:sequence>
      <xs:element name="value">
        <xs:complexType>
          <xs:attributeGroup ref="r:bnode"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:group>
  <xs:group name="valueTYP">
    <xs:sequence>
      <xs:element name="value">
        <xs:complexType mixed="true">
          <xs:attribute name="type" type="xs:anyURI"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:group>
  <xs:group name="valueTYPXML">
    <xs:sequence>
      <xs:element name="value">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="r:ANY">
              <xs:attribute name="type" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="http://www.dehora.net/r/2004/07/type/xml"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:group>
  <xs:complexType name="ANY">
    <xs:sequence>
      <xs:any processContents="skip"/>
    </xs:sequence>
  </xs:complexType>
  <xs:attributeGroup name="quoted">
    <xs:attribute name="quoted" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="yes"/>
          <xs:enumeration value="no"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
  <xs:attributeGroup name="uri">
    <xs:attribute name="uri" use="required" type="xs:anyURI"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="bnode">
    <xs:attribute name="bnode" use="required" type="xs:NMTOKEN"/>
  </xs:attributeGroup>
</xs:schema>
