6 Appendix A: XML Schema
The XSD for XML namespace http://schemas.microsoft.com/windows/2007/01/BITS/ContentDiscovery is reproduced as follows:
[XML]
-
<?xml version="1.0"?> <schema targetNamespace="http://schemas.microsoft.com/windows/2007/01/BITS/ContentDiscovery" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:cd="http://schemas.microsoft.com/windows/2007/01/BITS/ContentDiscovery" elementFormDefault="qualified"> <!-- request types --> <simpleType name="guid"> <restriction base="string"> <pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0- 9a-fA-F]{12}" /> </restriction> </simpleType> <simpleType name="url"> <restriction base="string"> <maxLength value="2200" /> </restriction> </simpleType> <!-- request format --> <complexType name="searchRequest"> <sequence> <element name="OriginUrl" type="cd:url"/> <element name="FileModificationTime" type="dateTime" /> <element name="FileSize" type="unsignedLong" minOccurs="0"/> <element name="FileEtag" type="string" minOccurs="0" /> <element name="MaxRecords" type="positiveInteger" minOccurs="0" default="1" /> <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/> </sequence> </complexType> <!-- response types --> <simpleType name="searchStatus"> <restriction base="string"> <enumeration value="Success"/> <enumeration value="CertificateNotFound"/> <enumeration value="ContentNotFound"/> <enumeration value="AccessDenied"/> <enumeration value="OutOfResources"/> <enumeration value="InvalidSearch"/> </restriction> </simpleType> <complexType name="fileRange"> <sequence> <element name="Offset" type="unsignedLong"/> <element name="Length" type="unsignedLong"/> </sequence> </complexType> <complexType name="cacheRecord"> <sequence> <element name="Id" type="cd:guid"/> <element name="CreationTime" type="dateTime"/> <element name="ModificationTime" type="dateTime"/> <element name="LastAccessTime" type="dateTime"/> <element name="OriginUrl" type="cd:url"/> <element name="LocalUrl" type="cd:url"/> <element name="FileModificationTime" type="dateTime"/> <element name="FileSize" type="unsignedLong"/> <element name="FileEtag" type="string" minOccurs="0" /> <element name="ContentRange" type="cd:fileRange" maxOccurs="unbounded"/> <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/> </sequence> </complexType> <!-- response format --> <complexType name="searchResponse"> <sequence> <element name="Status" type="cd:searchStatus" /> <element name="CacheRecord" type="cd:cacheRecord" minOccurs="0" maxOccurs="unbounded"/> <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/> </sequence> </complexType> <element name="SearchRequest" type="cd:searchRequest"/> <element name="SearchResults" type="cd:searchResponse"/> </schema>