<?xml version="1.0" encoding="UTF-8"?>
<Schema name="StatsReportSchema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">

	<!-- The document -->
	<ElementType name="StatsReport" model="closed" content="eltOnly" order="seq">
		<element type="NodeStatistics" minOccurs="0" maxOccurs="1"/>
		<element type="ProtocolStatistics" minOccurs="0" maxOccurs="1"/>
		<element type="SummaryStatistics" minOccurs="0" maxOccurs="1"/>
		<element type="GraphStatistics" minOccurs="0" maxOccurs="*"/>
	</ElementType>

	<!-- Global ElementTypes -->
	<ElementType name="TimeSaved" model="closed" content="textOnly" dt:type="dateTime"/>
	<ElementType name="Packets" model="closed" content="textOnly" dt:type="number"/>
	<ElementType name="Bytes" model="closed" content="textOnly" dt:type="number"/>
	<ElementType name="NodeCount" model="closed" content="textOnly" dt:type="ui4"/>
	<ElementType name="ProtocolCount" model="closed" content="textOnly" dt:type="ui4"/>
	<ElementType name="Units" model="closed" content="textOnly" dt:type="string"/>
	<ElementType name="StartDate" model="closed" content="textOnly" dt:type="string"/>
	<ElementType name="StartTime" model="closed" content="textOnly" dt:type="time.tz"/>
	<ElementType name="Duration" model="closed" content="textOnly" dt:type="string"/>
	<ElementType name="Broadcast" model="closed" content="textOnly" dt:type="number"/>
	<ElementType name="Multicast" model="closed" content="textOnly" dt:type="number"/>
	<ElementType name="AvgUtil" model="closed" content="empty"/>

	<ElementType name="Type" model="closed" content="textOnly" dt:type="string"/>
	<ElementType name="Color" model="closed" content="textOnly" dt:type="string"/>
	<ElementType name="Protocol" model="closed" content="textOnly" dt:type="string"/>
	<ElementType name="Indent" model="closed" content="textOnly" dt:type="ui4"/>

	<!-- StatsReport\*\Summary -->
	<ElementType name="Summary" model="closed" content="mixed">
		<element type="TimeSaved" minOccurs="0" maxOccurs="1"/>
		<element type="Packets" minOccurs="0" maxOccurs="1"/>
		<element type="Bytes" minOccurs="0" maxOccurs="1"/>
		<element type="NodeCount" minOccurs="0" maxOccurs="1"/>
		<element type="ProtocolCount" minOccurs="0" maxOccurs="1"/>
		<element type="Units" minOccurs="0" maxOccurs="1"/>
		<element type="StartDate" minOccurs="0" maxOccurs="1"/>
		<element type="StartTime" minOccurs="0" maxOccurs="1"/>
		<element type="Duration" minOccurs="0" maxOccurs="1"/>
	</ElementType>

	<!-- StatsReport\*\Stats -->
	<ElementType name="Stats" model="closed" content="eltOnly" order="one">
		<element type="NodeStat" minOccurs="1" maxOccurs="*"/>
		<element type="ProtoStat" minOccurs="1" maxOccurs="*"/>
		<element type="Snapshot" minOccurs="1" maxOccurs="*"/>
	</ElementType>

	<!-- StatsReport\NodeStatistics -->
	<ElementType name="Addr" model="closed" content="textOnly" dt:type="string"/>
	<ElementType name="BytesOut" model="closed" content="textOnly" dt:type="number"/>
	<ElementType name="PktsOut" model="closed" content="textOnly" dt:type="number"/>
	<ElementType name="BytesIn" model="closed" content="textOnly" dt:type="number"/>
	<ElementType name="PktsIn" model="closed" content="textOnly" dt:type="number"/>

	<ElementType name="NodeStatistics" model="closed" content="eltOnly" order="seq">
		<AttributeType name="Version" dt:type="fixed.14.4" required="yes"/>
		<attribute type="Version"/>
		<element type="Summary" minOccurs="1" maxOccurs="1"/>
		<element type="Stats" minOccurs="1" maxOccurs="1"/>
	</ElementType>

	<ElementType name="NodeStat" model="closed" content="eltOnly" order="seq">
		<element type="Addr" minOccurs="1" maxOccurs="1"/>
		<element type="Type" minOccurs="1" maxOccurs="1"/>
		<element type="Color" minOccurs="1" maxOccurs="1"/>
		<element type="BytesOut" minOccurs="1" maxOccurs="1"/>
		<element type="PktsOut" minOccurs="1" maxOccurs="1"/>
		<element type="BytesIn" minOccurs="1" maxOccurs="1"/>
		<element type="PktsIn" minOccurs="1" maxOccurs="1"/>
		<element type="NodeStat" minOccurs="0" maxOccurs="*"/>
	</ElementType>

	<!-- StatsReport\ProtocolStatistics -->
	<ElementType name="ProtocolStatistics" model="closed" content="eltOnly" order="seq">
		<AttributeType name="Version" dt:type="fixed.14.4" required="yes"/>
		<attribute type="Version"/>
		<element type="Summary" minOccurs="1" maxOccurs="1"/>
		<element type="Stats" minOccurs="1" maxOccurs="1"/>
	</ElementType>

	<ElementType name="ProtoStat" model="closed" content="eltOnly" order="seq">
		<element type="Protocol" minOccurs="1" maxOccurs="1"/>
		<element type="Indent" minOccurs="1" maxOccurs="1"/>
		<element type="Type" minOccurs="1" maxOccurs="1"/>
		<element type="Color" minOccurs="1" maxOccurs="1"/>
		<element type="Bytes" minOccurs="1" maxOccurs="1"/>
		<element type="Packets" minOccurs="1" maxOccurs="1"/>
	</ElementType>

	<!-- StatsReport\SummaryStatistics -->
	<ElementType name="Name" model="closed" content="textOnly" dt:type="string"/>
	<ElementType name="BytesValue" model="closed" content="textOnly" dt:type="string"/>
	<ElementType name="PacketsValue" model="closed" content="textOnly" dt:type="string"/>
	<ElementType name="BytesPerSec" model="closed" content="textOnly" dt:type="string"/>
	<ElementType name="PktsPerSec" model="closed" content="textOnly" dt:type="string"/>
	<ElementType name="PctOfBytes" model="closed" content="textOnly" dt:type="string"/>
	<ElementType name="PctOfPkts" model="closed" content="textOnly" dt:type="string"/>

	<ElementType name="SummaryStatistics" model="closed" content="eltOnly" order="seq">
		<AttributeType name="Version" dt:type="fixed.14.4" required="yes"/>
		<attribute type="Version"/>
		<element type="Summary" minOccurs="1" maxOccurs="1"/>
		<element type="Stats" minOccurs="1" maxOccurs="1"/>
	</ElementType>

	<ElementType name="Snapshot" model="closed" content="eltOnly">
		<AttributeType name="Name" dt:type="string" required="yes"/>
		<attribute type="Name"/>
		<element type="Group" minOccurs="1" maxOccurs="*"/>
	</ElementType>

	<ElementType name="Group" model="closed" content="eltOnly">
		<AttributeType name="Name" dt:type="string" required="yes"/>
		<attribute type="Name"/>
		<element type="SummaryStat" minOccurs="0" maxOccurs="*"/>
	</ElementType>

	<ElementType name="SummaryStat" model="closed" content="mixed">
		<element type="Name" minOccurs="1" maxOccurs="1"/>
		<element type="BytesValue" minOccurs="0" maxOccurs="1"/>
		<element type="PacketsValue" minOccurs="0" maxOccurs="1"/>
		<element type="BytesPerSec" minOccurs="0" maxOccurs="1"/>
		<element type="PktsPerSec" minOccurs="0" maxOccurs="1"/>
		<element type="PctOfBytes" minOccurs="0" maxOccurs="1"/>
		<element type="PctOfPkts" minOccurs="0" maxOccurs="1"/>
	</ElementType>
	
	<ElementType name="GraphStatistics" model="closed" content="eltOnly">
		<AttributeType name="Name" dt:type="string" required="no"/>
		<attribute type="Name"/>
		<AttributeType name="Version" dt:type="string" required="no"/>
		<attribute type="Version"/>
		<element type="StatisticList" minOccurs="1" maxOccurs="1"/>
		<element type="Sample" minOccurs="0" maxOccurs="*"/>
	</ElementType>

	<ElementType name="StatisticList" model="closed" content="eltOnly">
		<element type="Statistic" minOccurs="0" maxOccurs="*"/>
	</ElementType>

	<ElementType name="Statistic" model="closed" content="textOnly" dt:type="string"/>

	<ElementType name="Sample" model="closed" content="mixed">
		<AttributeType name="Time" dt:type="string" required="yes"/>
		<attribute type="Time"/>
		<element type="Value" minOccurs="0" maxOccurs="*"/>
	</ElementType>

	<ElementType name="Value" model="closed" content="textOnly" dt:type="string"/>
</Schema>
