<?xml version="1.0"?> <xs:schema targetNamespace="urn:ddb:expandingpulley" xmlns='urn:ddb:expandingpulley' xmlns:xs="http://www.w3.org/2001/XMLSchema" > <xs:include schemaLocation="commonDefs.xs" /> <xs:element name="Data"> <xs:complexType> <xs:sequence> <xs:element ref="Instance" /> <xs:element ref="Command"/> <xs:element ref="Autoload" minOccurs="0" maxOccurs="unbounded" /> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:sequence> <xs:element ref="RawData" /> <xs:element ref="Strings" /> <xs:element ref="PerformanceInformation" /> </xs:sequence> <xs:element ref="Error" /> </xs:choice> <xs:choice> <xs:element ref="Success" /> <xs:element ref="Failure" /> </xs:choice> <xs:element ref="Error" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name='RawData' type="feStringElementWithTimestamp"> </xs:element> <xs:element name='Strings'> <xs:complexType> <xs:sequence> <xs:element ref="String" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name='lptimestamp' type='xs:dateTime' use='required'/> </xs:complexType> </xs:element> <xs:element name='PerformanceInformation'> <xs:complexType> <xs:sequence> <xs:element ref="ObjectType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name='lptimestamp' type='xs:dateTime' use='required'/> <xs:attribute name='perfFreq' type='xs:nonNegativeInteger' use='required'/> <xs:attribute name='perfTime' type='xs:nonNegativeInteger' use='required'/> <xs:attribute name='perfTime100nSec' type='xs:nonNegativeInteger' use='required'/> <xs:attribute name='systemName' type='xs:string' use='required'/> <xs:attribute name='targetSet' type='xs:nonNegativeInteger' use='required'/> </xs:complexType> </xs:element> <xs:element name="String"> <xs:complexType> <xs:simpleContent> <xs:extension base='xs:string'> <xs:attribute name='id' type='xs:nonNegativeInteger' use='required'/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="ObjectType"> <xs:complexType> <xs:sequence> <xs:element ref="Name" minOccurs="0"/> <xs:element ref="Help" minOccurs="0" /> <xs:choice minOccurs="0"> <xs:sequence> <xs:element ref="Counter" maxOccurs="unbounded"/> </xs:sequence> <xs:sequence> <xs:element name="Instance" maxOccurs="unbounded" form="qualified"> <xs:complexType> <xs:sequence> <xs:element ref="Counter" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="id" type="xs:integer" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="parentInstance" type="xs:integer" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:choice> </xs:sequence> <xs:attribute name='objectHelpTitleIndex' type='xs:nonNegativeInteger' use='required'/> <xs:attribute name='objectNameTitleIndex' type='xs:nonNegativeInteger' use='required'/> </xs:complexType> </xs:element> <xs:element name='Name' type="xs:string"/> <xs:element name='Help' type="xs:string"/> <xs:element name="Counter"> <xs:complexType> <xs:sequence> <xs:element ref="Name" minOccurs="0"/> <xs:element ref="Help" minOccurs="0"/> <xs:element ref="Value"/> </xs:sequence> <xs:attribute name='helpIndex' type='xs:nonNegativeInteger' use='required'/> <xs:attribute name='nameIndex' type='xs:nonNegativeInteger' use='required'/> </xs:complexType> </xs:element> <xs:element name="Value"> <xs:complexType> <xs:simpleContent> <xs:extension base='feEmptyElement'> <xs:attribute name='suffix' type='xs:string' use='optional'/> <xs:attribute name='type' type='xs:string' use='required'/> <xs:attribute name='value' type='xs:string' use='required'/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name='Directory'> <xs:complexType> <xs:sequence> <xs:element ref='File' minOccurs='0' maxOccurs='unbounded'/> </xs:sequence> <xs:attribute name='path' type='xs:string' use='required'/> <xs:attribute name='denied' type='xs:boolean' use='optional'/> <xs:attribute name='lptimestamp' type='xs:dateTime' use='required'/> </xs:complexType> </xs:element> <xs:element name='File'> <xs:complexType> <xs:sequence> <xs:element ref='FileTime' minOccurs='3' maxOccurs='3'/> <xs:choice minOccurs='0' maxOccurs='unbounded'> <xs:element ref='FileAttributeDirectory'/> <xs:element ref='FileAttributeArchive'/> <xs:element ref='FileAttributeCompressed'/> <xs:element ref='FileAttributeEncrypted'/> <xs:element ref='FileAttributeHidden'/> <xs:element ref='FileAttributeOffline'/> <xs:element ref='FileAttributeReadonly'/> <xs:element ref='FileAttributeSystem'/> <xs:element ref='FileAttributeTemporary'/> </xs:choice> </xs:sequence> <xs:attribute name='name' type='xs:string' use='required'/> <xs:attribute name='short' type='xs:string' use='required'/> <xs:attribute name='size' type='xs:unsignedLong' use='required'/> </xs:complexType> </xs:element> <xs:element name='FileAttributeDirectory'/> <xs:element name='FileAttributeArchive'/> <xs:element name='FileAttributeCompressed'/> <xs:element name='FileAttributeEncrypted'/> <xs:element name='FileAttributeHidden'/> <xs:element name='FileAttributeOffline'/> <xs:element name='FileAttributeReadonly'/> <xs:element name='FileAttributeSystem'/> <xs:element name='FileAttributeTemporary'/> <xs:element name='FileTime'> <xs:complexType> <xs:simpleContent> <xs:extension base='xs:dateTime'> <xs:attribute name='type' type='timeType' use='required'/> <xs:attribute name='locale' type='localeType' use='required'/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <!-- Types --> <xs:simpleType name='localeType'> <xs:restriction base='xs:string'> <xs:enumeration value='remotelocal'/> </xs:restriction> </xs:simpleType> <xs:simpleType name='timeType'> <xs:restriction base='xs:string'> <xs:enumeration value='modified'/> <xs:enumeration value='created'/> <xs:enumeration value='accessed'/> </xs:restriction> </xs:simpleType> </xs:schema>