<?xml version="1.0" encoding="UTF-8"?>

<!-- 
  Variations/FRBR Project schema release 1.0
-->

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"

            xmlns="http://vfrbr.info/frbr/1.0"
            targetNamespace="http://vfrbr.info/frbr/1.0"
            elementFormDefault="qualified"
            attributeFormDefault="unqualified"
            >

  <!--
    include common association types
    -->
  <xsd:include schemaLocation="http://vfrbr.info/schemas/1.0/frbr-commonRelationTypes.xsd"/>

  <!--
    XML element definitions
    for the FRBR Other relationships sub-elements
    -->

  <!-- workToWork -->
  <xsd:element name="hasSuccessor"
               type="CategoriedHasType"
               />
  <xsd:element name="hasSupplement"
               type="CategoriedHasType"
               />
  <xsd:element name="hasComplement"
               type="CategoriedHasType"
               />
  <xsd:element name="hasSummary"
               type="CategoriedHasType"
               />
  <xsd:element name="hasAdaptation"
               type="CategoriedHasType"
               />
  <xsd:element name="hasTransformation"
               type="CategoriedHasType"
               />
  <xsd:element name="hasImitation"
               type="CategoriedHasType"
               />
  <xsd:element name="hasDependentPart"
               type="CategoriedHasType"
               />
  <xsd:element name="hasIndependentPart"
               type="CategoriedHasType"/>

  <!-- expressionToExpression -->
  <xsd:element name="hasAbridgement"
               type="CategoriedHasType"
               />
  <xsd:element name="hasRevision"
               type="CategoriedHasType"
               />
  <xsd:element name="hasTranslation"
               type="CategoriedHasType"
               />
  <xsd:element name="hasArrangement"
               type="CategoriedHasType"/>
  <!-- already defined
   xsd:element
    name="hasSuccessor"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasSupplement"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasComplement"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasSummary"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasAdaptation"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasTransformation"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasImitation"
    type="CategoriedHasType"/-->
  <!-- whole/part -->
  <!-- already defined
   xsd:element
    name="hasDependentPart"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasIndependentPart"
    type="CategoriedHasType"/-->

  <!-- expressionToWork -->
  <!-- already defined
   xsd:element
    name="hasSuccessor"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasSupplement"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasComplement"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasSummary"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasAdaptation"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasTransformation"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasImitation"
    type="CategoriedHasType"/-->

  <!-- manifestationToManifestation -->
  <xsd:element name="hasReproduction"
               type="CategoriedHasType"
               />
  <xsd:element name="hasAlternate"
               type="CategoriedHasType"
               />
  <xsd:element name="hasPart"
               type="CategoriedHasType"/>

  <!-- manifestationToItem -->
  <!-- already defined
   xsd:element
    name="hasReproduction"
    type="CategoriedHasType"/-->

  <!-- itemToItem -->
  <xsd:element name="hasReconfiguration"
               type="CategoriedHasType"/>
  <!-- already defined
   xsd:element
    name="hasReproduction"
    type="CategoriedHasType"/-->
  <!-- already defined
   xsd:element
    name="hasPart"
    type="CategoriedHasType"/-->

</xsd:schema>
