<Schemas>
  <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/">
    <xs:element name="anyType" nillable="true" type="xs:anyType"/>
    <xs:element name="anyURI" nillable="true" type="xs:anyURI"/>
    <xs:element name="base64Binary" nillable="true" type="xs:base64Binary"/>
    <xs:element name="boolean" nillable="true" type="xs:boolean"/>
    <xs:element name="byte" nillable="true" type="xs:byte"/>
    <xs:element name="dateTime" nillable="true" type="xs:dateTime"/>
    <xs:element name="decimal" nillable="true" type="xs:decimal"/>
    <xs:element name="double" nillable="true" type="xs:double"/>
    <xs:element name="float" nillable="true" type="xs:float"/>
    <xs:element name="int" nillable="true" type="xs:int"/>
    <xs:element name="long" nillable="true" type="xs:long"/>
    <xs:element name="QName" nillable="true" type="xs:QName"/>
    <xs:element name="short" nillable="true" type="xs:short"/>
    <xs:element name="string" nillable="true" type="xs:string"/>
    <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte"/>
    <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt"/>
    <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong"/>
    <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort"/>
    <xs:element name="char" nillable="true" type="tns:char"/>
    <xs:simpleType name="char">
      <xs:restriction base="xs:int"/>
    </xs:simpleType>
    <xs:element name="duration" nillable="true" type="tns:duration"/>
    <xs:simpleType name="duration">
      <xs:restriction base="xs:duration">
        <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?"/>
        <xs:minInclusive value="-P10675199DT2H48M5.4775808S"/>
        <xs:maxInclusive value="P10675199DT2H48M5.4775807S"/>
      </xs:restriction>
    </xs:simpleType>
    <xs:element name="guid" nillable="true" type="tns:guid"/>
    <xs:simpleType name="guid">
      <xs:restriction base="xs:string">
        <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}"/>
      </xs:restriction>
    </xs:simpleType>
    <xs:attribute name="FactoryType" type="xs:QName"/>
    <xs:attribute name="Id" type="xs:ID"/>
    <xs:attribute name="Ref" type="xs:IDREF"/>
  </xs:schema>
  <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="MuseumObject">
      <xs:sequence>
        <xs:element minOccurs="0" name="AccessionNumber" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="Credit" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="Headline" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="Image" nillable="true" type="MuseumImage"/>
        <xs:element minOccurs="0" name="InterpretativeDate" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="InterpretativePlace" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="LinkedCelestialBodies" nillable="true" type="ArrayOfCelestialBody"/>
        <xs:element minOccurs="0" name="LinkedPeople" nillable="true" type="ArrayOfPerson"/>
        <xs:element minOccurs="0" name="LinkedPlaces" nillable="true" type="ArrayOfPlace"/>
        <xs:element minOccurs="0" name="MadeDateEnd" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="MadeDateStart" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="Materials" nillable="true" type="ArrayOfMaterial"/>
        <xs:element minOccurs="0" name="Measurements" nillable="true" type="ArrayOfMeasurement"/>
        <xs:element minOccurs="0" name="MultiMediaItems" nillable="true" type="ArrayOfMultimedia"/>
        <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="PeriodName" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="PermanentURI" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="PlaceMade" nillable="true" type="Place"/>
        <xs:element minOccurs="0" name="Text" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="YearMade" nillable="true" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="MuseumObject" nillable="true" type="MuseumObject"/>
    <xs:complexType name="MuseumImage">
      <xs:sequence>
        <xs:element minOccurs="0" name="Credit" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="Id" type="xs:int"/>
        <xs:element minOccurs="0" name="Source" nillable="true" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="MuseumImage" nillable="true" type="MuseumImage"/>
    <xs:complexType name="ArrayOfCelestialBody">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="CelestialBody" nillable="true" type="CelestialBody"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="ArrayOfCelestialBody" nillable="true" type="ArrayOfCelestialBody"/>
    <xs:complexType name="CelestialBody">
      <xs:sequence>
        <xs:element minOccurs="0" name="AlternativeName" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="AstronomicalName" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="CommonName" nillable="true" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="CelestialBody" nillable="true" type="CelestialBody"/>
    <xs:complexType name="ArrayOfPerson">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="Person" nillable="true" type="Person"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="ArrayOfPerson" nillable="true" type="ArrayOfPerson"/>
    <xs:complexType name="Person">
      <xs:sequence>
        <xs:element minOccurs="0" name="Biography" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="Id" type="xs:int"/>
        <xs:element minOccurs="0" name="Image" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="Links" nillable="true" type="ArrayOfLink"/>
        <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="Relationship" nillable="true" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="Person" nillable="true" type="Person"/>
    <xs:complexType name="ArrayOfLink">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="Link" nillable="true" type="Link"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="ArrayOfLink" nillable="true" type="ArrayOfLink"/>
    <xs:complexType name="Link">
      <xs:sequence>
        <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="URI" nillable="true" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="Link" nillable="true" type="Link"/>
    <xs:complexType name="ArrayOfPlace">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="Place" nillable="true" type="Place"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="ArrayOfPlace" nillable="true" type="ArrayOfPlace"/>
    <xs:complexType name="Place">
      <xs:sequence>
        <xs:element minOccurs="0" name="Id" type="xs:int"/>
        <xs:element minOccurs="0" name="PlaceName" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="Relationship" nillable="true" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="Place" nillable="true" type="Place"/>
    <xs:complexType name="ArrayOfMaterial">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="Material" nillable="true" type="Material"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="ArrayOfMaterial" nillable="true" type="ArrayOfMaterial"/>
    <xs:complexType name="Material">
      <xs:sequence>
        <xs:element minOccurs="0" name="Component" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="Material" nillable="true" type="Material"/>
    <xs:complexType name="ArrayOfMeasurement">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="Measurement" nillable="true" type="Measurement"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="ArrayOfMeasurement" nillable="true" type="ArrayOfMeasurement"/>
    <xs:complexType name="Measurement">
      <xs:sequence>
        <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="PartMeasured" nillable="true" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="Measurement" nillable="true" type="Measurement"/>
    <xs:complexType name="ArrayOfMultimedia">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="Multimedia" nillable="true" type="Multimedia"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="ArrayOfMultimedia" nillable="true" type="ArrayOfMultimedia"/>
    <xs:complexType name="Multimedia">
      <xs:sequence>
        <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="SourceFile" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="Type" nillable="true" type="xs:string"/>
        <xs:element minOccurs="0" name="XmlSource" nillable="true" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="Multimedia" nillable="true" type="Multimedia"/>
  </xs:schema>
</Schemas>
