﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
        <xs:import namespace="http://www.w3.org/XML/1998/namespace"/>
  <xs:simpleType name="guid">
    <xs:restriction base="xs:string">
      <xs:pattern value="\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}"/> 
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="cleansingRules" nillable="true" type="CleansingRules" />
  <xs:complexType name="CleansingRules">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="unbounded" name="cleansingRule" type="CleansingRule" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CleansingRule">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="unbounded" name="cleansingStep" type="CleansingStep" />
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" />
    <xs:attribute name="id" xmlns:q1="http://microsoft.com/wsdl/types/" type="guid" use="required" />
    <xs:attribute name="productType" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="[Hh][Aa][Rr][Dd][Ww][Aa][Rr][Ee]|[Ss][Oo][Ff][Tt][Ww][Aa][Rr][Ee]" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="chunkSize" type="xs:unsignedByte" />
    <xs:attribute name="startTime" type="xs:dateTime" />
    <xs:attribute name="stopTime" type="xs:dateTime" />
    <xs:attribute name="language" type="xs:unsignedShort" />
    <xs:attribute name="locale" type="xs:unsignedInt" />
    <xs:attribute name="dataSource" type="xs:string"/>
    <xs:attribute name="newdata" type="xs:unsignedByte" />
    <xs:attribute name="overWrite" type="xs:unsignedByte" use="required" />
  </xs:complexType>
  <xs:complexType name="CleansingStep">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="heuristics" type="RuleHeuristics" />
    </xs:sequence>
    <xs:attribute name="attribute" type="xs:string" />
    <xs:attribute name="description" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="RuleHeuristics">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="unbounded" name="heuristic" type="RuleHeuristic" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RuleHeuristic">
    <xs:attribute name="id" xmlns:q2="http://microsoft.com/wsdl/types/" type="guid" use="required" />
    <xs:attribute name="description" type="xs:string" />
  </xs:complexType>
</xs:schema>