﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema version="1.01" id="MicrochipRegistration" elementFormDefault="qualified" targetNamespace="http://www.vetxml.org/schemas/MicrochipRegistration" xmlns="http://www.vetxml.org/schemas/MicrochipRegistration" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="MicrochipRegistration">
    <xs:complexType>
      <xs:all>
        <xs:element name="Identification" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:all>
              <xs:element name="PracticeID" type="xs:string" minOccurs="0" />
              <xs:element name="DistributerID" type="xs:string" minOccurs="0" />
              <xs:element name="DatabaseID" type="xs:string" minOccurs="0" />
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="OwnerDetails" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:all>
              <xs:element name="Salutation" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="Forenames" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="Surname" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="Address" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Line" type="xs:string" minOccurs="1" maxOccurs="unbounded" />
                    <xs:element name="Postcode" type="xs:string" minOccurs="0" maxOccurs="1" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="DaytimePhone" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="EveningPhone" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="MobilePhone" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="OtherPhone" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="EmailAddress" type="xs:string" minOccurs="0" maxOccurs="1" />
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="PetDetails" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:all>
              <xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="Species" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="Breed" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="DateOfBirth" type="xs:date" minOccurs="0" maxOccurs="1" />
              <xs:element name="Gender" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="Colour" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="Markings" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="Neutered" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="NotableConditions" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="VaccinationCode" type="xs:string" minOccurs="0" maxOccurs="1" />
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="MicrochipDetails" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:all>
              <xs:element name="MicrochipNumber" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="ImplantDate" type="xs:date" minOccurs="0" maxOccurs="1" />
              <xs:element name="ImplanterName" type="xs:string" minOccurs="0" maxOccurs="1" />
              <xs:element name="Batch" type="xs:string" minOccurs="0" maxOccurs="1" />
            </xs:all>
          </xs:complexType>
        </xs:element>
      </xs:all>
      <xs:attribute name="version" type="xs:string" />
      <xs:attribute name="testmode" type="xs:string" />
    </xs:complexType>
  </xs:element>
</xs:schema>
