Test Data Webhook.xsd

Prev Next
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="Result" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
	<xs:element name="Result">
		<xs:complexType>
			<xs:all>
				<xs:element name="NodeName" type="String128" minOccurs="0"/>
				<xs:element name="TestDetail">
					<xs:complexType>
						<xs:all>
							<xs:element name="Name" type="String128" minOccurs="0"/>
							<xs:element name="MonitorTypeId">
								<xs:simpleType>
									<xs:restriction base="xs:unsignedByte">
										<!-- IE -->
										<xs:enumeration value="0"/>
										<!-- OBJECT -->
										<xs:enumeration value="2"/>
										<!-- EMULATED -->
										<xs:enumeration value="3"/>
										<!-- PING (ICMP) -->
										<xs:enumeration value="8"/>
										<!-- TRACERT (ICMP) -->
										<xs:enumeration value="9"/>
										<!-- DNS-TRAVERSAL -->
										<xs:enumeration value="10"/>
										<!-- PING-TCP -->
										<xs:enumeration value="11"/>
										<!-- DNS-EXP -->
										<xs:enumeration value="12"/>
										<!-- DNS-DIRECT -->
										<xs:enumeration value="13"/>
										<!-- TRACERT-UDP -->
										<xs:enumeration value="14"/>
										<!-- PORT-TCP -->
										<xs:enumeration value="15"/>
										<!-- FTP -->
										<xs:enumeration value="16"/>
										<!-- CHROME -->
										<xs:enumeration value="18"/>
										<!-- PLAYBACK -->
										<xs:enumeration value="19"/>
										<!-- PLAYBACK-MOBILE -->
										<xs:enumeration value="20"/>
										<!-- SMTP -->
										<xs:enumeration value="21"/>
										<!-- PORT-UDP -->
										<xs:enumeration value="22"/>
										<!-- PING-UDP -->
										<xs:enumeration value="23"/>
										<!-- STREAMING -->
										<xs:enumeration value="24"/>
										<!-- API -->
										<xs:enumeration value="25"/>
										<!-- MOBILE -->
										<xs:enumeration value="26"/>
										<!-- SFTP -->
										<xs:enumeration value="27"/>
										<!-- SSH -->
										<xs:enumeration value="28"/>
										<!-- TRACERT-TCP -->
										<xs:enumeration value="29"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="TypeId">
								<xs:simpleType>
									<xs:restriction base="xs:unsignedByte">
										<!-- Web -->
										<xs:enumeration value="0"/>
										<!-- Transaction -->
										<xs:enumeration value="1"/>
										<!-- HtmlCode -->
										<xs:enumeration value="2"/>
										<!-- Ftp -->
										<xs:enumeration value="3"/>
										<!-- Tcp -->
										<xs:enumeration value="4"/>
										<!-- Dns -->
										<xs:enumeration value="5"/>
										<!-- Ping -->
										<xs:enumeration value="6"/>
										<!-- Smtp -->
										<xs:enumeration value="7"/>
										<!-- Udp -->
										<xs:enumeration value="8"/>
										<!-- API -->
										<xs:enumeration value="9"/>
										<!-- Streaming -->
										<xs:enumeration value="10"/>
										<!-- Ssh -->
										<xs:enumeration value="11"/>
										<!-- TraceRoute -->
										<xs:enumeration value="12"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
						</xs:all>
					</xs:complexType>
				</xs:element>
				<xs:element name="Summary" type="Step"/>
				<xs:element name="Steps" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Step" minOccurs="0" maxOccurs="12" type="Step"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Diagnostic" minOccurs="0">
					<xs:complexType>
						<xs:all>
							<xs:element name="TraceRoute" type="TraceRoute" minOccurs="0"/>
						</xs:all>
					</xs:complexType>
				</xs:element>
			</xs:all>
			<!-- (external) -->
			<xs:attribute name="version" type="Version"/>
			<!-- (internal) -->
			<xs:attribute type="Version"/>
			<xs:attribute name="testId" type="Long" use="required"/>
			<xs:attribute name="reportWindow" type="TimestampWindow" use="required"/>
			<xs:attribute name="nodeId" type="Short" use="required"/>
			<xs:attribute name="divisionId" type="Integer" use="required"/>
			<xs:attribute name="clientId" type="Integer"/>
			<xs:attribute name="resellerId" type="Integer"/>
		</xs:complexType>
	</xs:element>
	<!-- Resuable Groups -->
	<xs:group name="StepGroup">
		<xs:all>
			<xs:element name="Request" type="String1024" minOccurs="0"/>
			<xs:element name="Timestamp" type="TimestampFull"/>
			<xs:element name="Address" type="String128" minOccurs="0"/>
			<xs:element name="Error" minOccurs="0">
				<xs:complexType>
					<xs:all>
						<xs:element name="Any" minOccurs="0"/>
						<xs:element name="Dns" minOccurs="0"/>
						<xs:element name="Connection" minOccurs="0"/>
						<xs:element name="Ssl" minOccurs="0"/>
						<xs:element name="NoResponse" minOccurs="0"/>
						<xs:element name="Response" minOccurs="0"/>
						<xs:element name="Load" minOccurs="0"/>
						<xs:element name="LoadObjects" minOccurs="0"/>
						<xs:element name="SystemLimit" minOccurs="0"/>
						<xs:element name="Timeout" minOccurs="0"/>
						<xs:element name="Transaction" minOccurs="0"/>
					</xs:all>
					<xs:attribute name="code" type="xs:integer"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="Action" minOccurs="0">
				<xs:complexType>
					<xs:all>
						<xs:element name="DebugPrimaryHost" minOccurs="0"/>
						<xs:element name="VerifyTest" minOccurs="0"/>
						<xs:element name="CookieCollection" minOccurs="0"/>
						<xs:element name="CaptureScreenshot" minOccurs="0"/>
						<xs:element name="CaptureHttpHeaders" minOccurs="0"/>
						<xs:element name="CaptureResponseContent" minOccurs="0"/>
					</xs:all>
				</xs:complexType>
			</xs:element>
			<!-- Unit = milliseconds -->
			<xs:element name="Timing">
				<xs:complexType>
					<xs:all>
						<xs:element name="Total" type="Integer"/>
						<!-- IE, CHROME, OBJECT, EMULATED, PLAYBACK, PLAYBACK-MOBILE, PORTTCP, *FTP, SMTP, STREAMING, MOBILE, SSH -->
						<xs:element name="Dns" type="Integer" minOccurs="0"/>
						<!-- IE, CHROME, OBJECT, EMULATED, PLAYBACK, PLAYBACK-MOBILE, PORTTCP, SMTP, STREAMING, MOBILE, SSH -->
						<xs:element name="Connect" type="Integer" minOccurs="0"/>
						<xs:element name="Wait" type="Integer" minOccurs="0"/>
						<!-- IE, CHROME, OBJECT, EMULATED, PLAYBACK, PLAYBACK-MOBILE, PORTTCP, SMTP, STREAMING, MOBILE -->
						<xs:element name="Send" type="Integer" minOccurs="0"/>
						<!-- IE, CHROME, OBJECT, EMULATED, PLAYBACK, PLAYBACK-MOBILE, PORTTCP, STREAMING, MOBILE -->
						<xs:element name="Load" type="Integer" minOccurs="0"/>
						<!-- IE, CHROME, OBJECT, EMULATED, PLAYBACK, PLAYBACK-MOBILE, STREAMING, MOBILE, SSH -->
						<xs:element name="Ssl" type="Integer" minOccurs="0"/>
						<xs:element name="ContentLoad" type="Integer" minOccurs="0"/>
						<!-- IE, CHROME, MOBILE -->
						<xs:element name="DocumentComplete" type="Integer" minOccurs="0"/>
						<xs:element name="DomLoad" type="Integer" minOccurs="0"/>
						<xs:element name="RenderStart" type="Integer" minOccurs="0"/>
						<!-- IE -->
						<xs:element name="TimeToTitle" type="Integer" minOccurs="0"/>
						<!-- IE, CHROME, OBJECT, EMULATED, PLAYBACK, PLAYBACK-MOBILE, MOBILE -->
						<xs:element name="Wire" type="Integer" minOccurs="0"/>
						<xs:element name="Client" type="Integer" minOccurs="0"/>
						<!-- FTP -->
						<xs:element name="Upload" type="Integer" minOccurs="0"/>
						<xs:element name="Get" type="Integer" minOccurs="0"/>
						<xs:element name="Download" type="Integer" minOccurs="0"/>
						<xs:element name="Delete" type="Integer" minOccurs="0"/>
						<!-- STREAMING -->
						<xs:element name="BufferingInit" type="Integer" minOccurs="0"/>
						<xs:element name="BufferingTotal" type="Integer" minOccurs="0"/>
						<xs:element name="Play" type="Integer" minOccurs="0"/>
						<xs:element name="StreamingWait" type="Integer" minOccurs="0"/>
						<!-- SMTP, SSH -->
						<xs:element name="Auth" type="Integer" minOccurs="0"/>
					</xs:all>
				</xs:complexType>
			</xs:element>
			<xs:element name="Byte" minOccurs="0">
				<xs:complexType>
					<xs:all>
						<xs:element name="Response" minOccurs="0">
							<xs:complexType>
								<xs:all>
									<!-- IE, CHROME, OBJECT, EMULATED, PLAYBACK, PLAYBACK-MOBILE, MOBILE -->
									<xs:element name="Content" type="Integer" minOccurs="0"/>
									<xs:element name="Headers" type="Integer" minOccurs="0"/>
									<!-- IE, CHROME, EMULATED, PLAYBACK, PLAYBACK-MOBILE, MOBILE -->
									<xs:element name="TotalContent" type="Integer" minOccurs="0"/>
									<xs:element name="TotalHeaders" type="Integer" minOccurs="0"/>
									<xs:element name="ContentType" minOccurs="0">
										<xs:complexType>
											<xs:all>
												<xs:element name="Image" type="UInteger" minOccurs="0"/>
												<xs:element name="Script" type="UInteger" minOccurs="0"/>
												<xs:element name="Html" type="UInteger" minOccurs="0"/>
												<xs:element name="Css" type="UInteger" minOccurs="0"/>
												<xs:element name="Xml" type="UInteger" minOccurs="0"/>
												<xs:element name="Flash" type="UInteger" minOccurs="0"/>
												<xs:element name="Media" type="UInteger" minOccurs="0"/>
												<xs:element name="Font" type="UInteger" minOccurs="0"/>
												<xs:element name="Other" type="UInteger" minOccurs="0"/>
											</xs:all>
										</xs:complexType>
									</xs:element>
								</xs:all>
							</xs:complexType>
						</xs:element>
						<!-- PORTTCP, SSH -->
						<xs:element name="Receive" type="Integer" minOccurs="0"/>
						<!-- FTP -->
						<xs:element name="Upload" type="Integer" minOccurs="0"/>
						<xs:element name="Get" type="Long" minOccurs="0"/>
						<xs:element name="Download" type="Integer" minOccurs="0"/>
						<!-- SMTP -->
						<xs:element name="Mail" type="Integer" minOccurs="0"/>
						<!-- SSH -->
						<xs:element name="Command" type="Integer" minOccurs="0"/>
					</xs:all>
				</xs:complexType>
			</xs:element>
			<xs:element name="Counter" minOccurs="0">
				<xs:complexType>
					<xs:all>
						<!-- IE, CHROME, OBJECT, EMULATED, PLAYBACK, PLAYBACK-MOBILE, FTP, PORTTCP, MOBILE -->
						<xs:element name="Tracepoints" type="Byte" minOccurs="0"/>
						<xs:element name="Indicators" type="Byte" minOccurs="0"/>
						<!-- SNB-IE, OBJECT, EMULATED, PLAYBACK, PLAYBACK-MOBILE, MOBILE -->
						<xs:element name="Connections" type="UShort" minOccurs="0"/>
						<!-- IE, CHROME, OBJECT, EMULATED, PLAYBACK, PLAYBACK-MOBILE, MOBILE -->
						<xs:element name="Hosts" type="UShort" minOccurs="0"/>
						<xs:element name="Requests" type="UShort" minOccurs="0"/>
						<xs:element name="FailedRequests" type="UShort" minOccurs="0"/>
						<xs:element name="Redirections" type="Byte" minOccurs="0"/>
						<!-- IE, CHROME, EMULATED, PLAYBACK, PLAYBACK-MOBILE, MOBILE -->
						<xs:element name="ContentType" minOccurs="0">
							<xs:complexType>
								<xs:all>
									<xs:element name="Image" type="Short" minOccurs="0"/>
									<xs:element name="Script" type="Short" minOccurs="0"/>
									<xs:element name="Html" type="Byte" minOccurs="0"/>
									<xs:element name="Css" type="Byte" minOccurs="0"/>
									<xs:element name="Xml" type="Byte" minOccurs="0"/>
									<xs:element name="Flash" type="Byte" minOccurs="0"/>
									<xs:element name="Media" type="Byte" minOccurs="0"/>
									<xs:element name="Font" type="Byte" minOccurs="0"/>
									<xs:element name="Other" type="Byte" minOccurs="0"/>
								</xs:all>
							</xs:complexType>
						</xs:element>
						<!-- IE -->
						<xs:element name="JsFailures" type="Byte" minOccurs="0"/>
						<!-- IE, STREAMING -->
						<xs:element name="FilmstripImages" type="Byte" minOccurs="0"/>
						<!-- IE, CHROME -->
						<xs:element name="Cached" type="Byte" minOccurs="0"/>
						<!-- STREAMING -->
						<xs:element name="Bandwidth" type="xs:float" minOccurs="0"/>
						<xs:element name="Buffering" type="Byte" minOccurs="0"/>
						<xs:element name="DroppedFrames" type="xs:float" minOccurs="0"/>
					</xs:all>
				</xs:complexType>
			</xs:element>
			<!-- IE, CHROME, OBJECT, EMULATED, PLAYBACK, PLAYBACK-MOBILE, PORTTCP, FTP, SMTP, MOBILE-->
			<xs:element name="Insight" minOccurs="0">
				<xs:complexType>
					<xs:all>
						<xs:element name="Indicators" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Indicator" nillable="true" minOccurs="0" maxOccurs="20">
										<xs:complexType>
											<xs:simpleContent msdata:ColumnName="Indicator_Text">
												<xs:extension base="xs:string">
													<xs:attribute name="id" type="Integer" use="required"/>
												</xs:extension>
											</xs:simpleContent>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Tracepoints" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Tracepoint" nillable="true" minOccurs="0" maxOccurs="5">
										<xs:complexType>
											<xs:simpleContent msdata:ColumnName="Indicator_Text">
												<xs:extension base="xs:string">
													<xs:attribute name="id" type="Integer" use="required"/>
												</xs:extension>
											</xs:simpleContent>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:all>
				</xs:complexType>
			</xs:element>
			<!-- IE, CHROME, OBJECT, EMULATED, PLAYBACK, PLAYBACK-MOBILE, PING, DNSEXP, DNSDIRECT, PORTTCP, FTP, SMTP, MOBILE -->
			<xs:element name="Ping" minOccurs="0">
				<xs:complexType>
					<xs:all>
						<xs:element name="PacketLossPct" type="FloatPercentage" minOccurs="0"/>
						<!-- Unit = milliseconds -->
						<xs:element name="RoundTripTimeAvg" type="Integer" minOccurs="0"/>
					</xs:all>
				</xs:complexType>
			</xs:element>
			<!-- IE, CHROME, EMULATED, PLAYBACK, PLAYBACK-MOBILE, MOBILE -->
			<xs:element name="Score" minOccurs="0">
				<xs:complexType>
					<xs:all>
						<xs:element name="PageSpeed" minOccurs="0">
							<xs:simpleType>
								<xs:restriction base="xs:unsignedByte">
									<xs:minInclusive value="0"/>
									<xs:maxInclusive value="100"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
					</xs:all>
				</xs:complexType>
			</xs:element>
			<!-- IE, CHROME, EMULATED, PLAYBACK, PLAYBACK-MOBILE, MOBILE -->
			<xs:element name="ContentZones" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="ContentZone" minOccurs="1" maxOccurs="65" type="ContentZone"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<!-- IE, CHROME, EMULATED, PLAYBACK, PLAYBACK-MOBILE, MOBILE -->
			<xs:element name="HostCollections" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="HostCollection" minOccurs="1" maxOccurs="65" type="HostCollection"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:all>
	</xs:group>
	<xs:group name="ContentZoneGroup">
		<xs:all>
			<!-- Unit = milliseconds -->
			<xs:element name="Timing">
				<xs:complexType>
					<xs:all>
						<xs:element name="StartToEnd" type="Integer"/>
						<xs:element name="Impact" type="Integer" minOccurs="0"/>
					</xs:all>
				</xs:complexType>
			</xs:element>
			<xs:element name="Counter">
				<xs:complexType>
					<xs:all>
						<xs:element name="Request" type="Short"/>
						<xs:element name="Failure" type="Byte" minOccurs="0"/>
						<xs:element name="Connection" type="Byte" minOccurs="0"/>
						<xs:element name="ResponseBytes" type="Integer" minOccurs="0"/>
						<xs:element name="Host" type="Byte" minOccurs="0"/>
					</xs:all>
				</xs:complexType>
			</xs:element>
		</xs:all>
	</xs:group>
	<xs:group name="HostCollectionGroup">
		<xs:all>
			<!-- Unit = milliseconds -->
			<xs:element name="Timing">
				<xs:complexType>
					<xs:all>
						<xs:element name="StartToEnd" type="Integer"/>
						<xs:element name="Impact" type="Integer" minOccurs="0"/>
						<xs:element name="Dns" type="IntegerTiming"/>
						<xs:element name="Connect" type="IntegerTiming"/>
						<xs:element name="Ssl" type="IntegerTiming" minOccurs="0"/>
						<xs:element name="Wait" type="IntegerTiming"/>
						<xs:element name="Load" type="IntegerTiming"/>
					</xs:all>
				</xs:complexType>
			</xs:element>
			<xs:element name="Counter">
				<xs:complexType>
					<xs:all>
						<xs:element name="Request" type="Short"/>
						<xs:element name="Failure" type="Byte" minOccurs="0"/>
						<xs:element name="Connection" type="Byte" minOccurs="0"/>
						<xs:element name="ResponseBytes" type="Integer" minOccurs="0"/>
					</xs:all>
				</xs:complexType>
			</xs:element>
		</xs:all>
	</xs:group>
	<xs:group name="PingGroup">
		<xs:all>
			<xs:element name="Address" type="String64" minOccurs="0"/>
			<xs:element name="Host" type="String255" minOccurs="0"/>
			<xs:element name="Asn" type="String32" minOccurs="0"/>
			<xs:element name="BufferSize" type="Short"/>
			<xs:element name="FailureStatus" type="ShortUnbounded" minOccurs="0"/>
			<xs:element name="FromDebugPrimaryHost" minOccurs="0"/>
			<!-- Unit = milliseconds -->
			<xs:element name="Duration" type="Integer" minOccurs="0"/>
			<!-- Unit = milliseconds (version since Aug-2011) -->
			<xs:element name="RoundTripTimes" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="RoundTripTime" type="String8" minOccurs="1" maxOccurs="5"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<!-- Unit = milliseconds (version prior to Aug-2011) -->
			<xs:element name="PacketsSent" minOccurs="0">
				<xs:complexType>
					<xs:all>
						<xs:element name="Total" type="Byte"/>
						<xs:element name="Failed" type="Byte" minOccurs="0"/>
						<xs:element name="RoundTripTime" minOccurs="0">
							<xs:complexType>
								<xs:all>
									<xs:element name="Avg" type="Integer"/>
									<xs:element name="Max" type="Integer"/>
									<xs:element name="Min" type="Integer"/>
								</xs:all>
							</xs:complexType>
						</xs:element>
					</xs:all>
				</xs:complexType>
			</xs:element>
		</xs:all>
	</xs:group>
	<xs:group name="TraceRouteGroup">
		<xs:all>
			<xs:element name="Address" type="String64" minOccurs="0"/>
			<xs:element name="Host" type="String255" minOccurs="0"/>
			<xs:element name="ErrorCode" type="Byte" minOccurs="0"/>
			<xs:element name="Timestamp" type="TimestampFull" minOccurs="0"/>
			<xs:element name="FromDebugPrimaryHost" minOccurs="0"/>
			<!-- Unit = milliseconds -->
			<xs:element name="Duration" type="Integer" minOccurs="0"/>
			<xs:element name="Hops" minOccurs="0">
				<xs:complexType>
					<xs:sequence maxOccurs="30">
						<xs:element name="Hop" type="Ping"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:all>
	</xs:group>
	<!-- Reusable Types (complex) -->
	<xs:complexType name="Step">
		<xs:group ref="StepGroup"/>
		<!-- (internal) -->
		<xs:attribute type="Version"/>
	</xs:complexType>
	<xs:complexType name="ContentZone">
		<xs:group ref="ContentZoneGroup"/>
		<!-- (internal) -->
		<xs:attribute type="Version"/>
		<xs:attribute name="id" type="Integer"/>
		<xs:attribute name="error" type="Integer"/>
	</xs:complexType>
	<xs:complexType name="HostCollection">
		<xs:group ref="HostCollectionGroup"/>
		<!-- (internal) -->
		<xs:attribute type="Version"/>
		<xs:attribute name="name" type="String64"/>
		<xs:attribute name="error" type="Integer"/>
	</xs:complexType>
	<xs:complexType name="Ping">
		<xs:group ref="PingGroup"/>
		<!-- (internal) -->
		<xs:attribute type="Version"/>
	</xs:complexType>
	<xs:complexType name="TraceRoute">
		<xs:group ref="TraceRouteGroup"/>
		<!-- (internal) -->
		<xs:attribute type="Version"/>
	</xs:complexType>
	<!-- Reusable Types (simple) -->
	<xs:simpleType name="Version">
		<xs:restriction base="xs:unsignedByte">
			<xs:minExclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Byte">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="FloatPercentage">
		<xs:restriction base="xs:float">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="100"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Integer">
		<xs:restriction base="xs:integer">
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="IntegerTiming">
		<xs:restriction base="xs:integer">
			<xs:minInclusive value="-1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="UInteger">
		<xs:restriction base="xs:unsignedInt">
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Long">
		<xs:restriction base="xs:long">
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Short">
		<xs:restriction base="xs:short">
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ShortUnbounded">
		<xs:restriction base="xs:short"> </xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="UShort">
		<xs:restriction base="xs:unsignedShort">
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="String8">
		<xs:restriction base="xs:string">
			<xs:maxLength value="8"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="String32">
		<xs:restriction base="xs:string">
			<xs:maxLength value="32"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="String64">
		<xs:restriction base="xs:string">
			<xs:maxLength value="64"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="String128">
		<xs:restriction base="xs:string">
			<xs:maxLength value="128"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="String255">
		<xs:restriction base="xs:string">
			<xs:maxLength value="255"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="String1024">
		<xs:restriction base="xs:string">
			<xs:maxLength value="1024"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TimestampWindow">
		<xs:restriction base="xs:string">
			<xs:length value="12"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TimestampFull">
		<xs:restriction base="xs:string">
			<xs:length value="17"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>