<?xml version="1.0" encoding="UTF-8"?>
<!-- 
Licensed Materials - Property of IBM 
BI and PM: UDA 
(C) Copyright IBM Corp. 2005, 2009 
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
--> 
<xs:schema xmlns:d="http://developer.cognos.com/schemas/xmldata/1/" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://developer.cognos.com/schemas/xmldata/1/" elementFormDefault="qualified">
	<xs:element name="dataset">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Fault" type="xs:string" minOccurs="0" maxOccurs="1"/>
				<xs:element name="metadata" type="d:metadataType"/>
				<xs:element name="data" type="d:dataType"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="metadataType">
		<xs:sequence>
			<xs:element name="item" type="d:itemType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="itemType">
		<xs:attribute name="name" type="xs:token" use="required"/>
		<xs:attribute name="type" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:NMTOKEN">
					<xs:enumeration value="xs:ENTITIES"/>
					<xs:enumeration value="xs:ENTITY"/>
					<xs:enumeration value="xs:ID"/>
					<xs:enumeration value="xs:IDREF"/>
					<xs:enumeration value="xs:IDREFS"/>
					<xs:enumeration value="xs:NCName"/>
					<xs:enumeration value="xs:NMTOKEN"/>
					<xs:enumeration value="xs:NMTOKENS"/>
					<xs:enumeration value="xs:NOTATION"/>
					<xs:enumeration value="xs:Name"/>
					<xs:enumeration value="xs:QName"/>
					<xs:enumeration value="xs:anyURI"/>
					<xs:enumeration value="xs:base64Binary"/>
					<xs:enumeration value="xs:boolean"/>
					<xs:enumeration value="xs:byte"/>
					<xs:enumeration value="xs:date"/>
					<xs:enumeration value="xs:dateTime"/>
					<xs:enumeration value="xs:decimal"/>
					<xs:enumeration value="xs:double"/>
					<xs:enumeration value="xs:duration"/>
					<xs:enumeration value="xs:float"/>
					<xs:enumeration value="xs:gDay"/>
					<xs:enumeration value="xs:gMonth"/>
					<xs:enumeration value="xs:gMonthDay"/>
					<xs:enumeration value="xs:gYear"/>
					<xs:enumeration value="xs:gYearMonth"/>
					<xs:enumeration value="xs:hexBinary"/>
					<xs:enumeration value="xs:int"/>
					<xs:enumeration value="xs:integer"/>
					<xs:enumeration value="xs:language"/>
					<xs:enumeration value="xs:long"/>
					<xs:enumeration value="xs:negativeInteger"/>
					<xs:enumeration value="xs:nonNegativeInteger"/>
					<xs:enumeration value="xs:nonPositiveInteger"/>
					<xs:enumeration value="xs:normalizedString"/>
					<xs:enumeration value="xs:positiveInteger"/>
					<xs:enumeration value="xs:short"/>
					<xs:enumeration value="xs:string"/>
					<xs:enumeration value="xs:time"/>
					<xs:enumeration value="xs:token"/>
					<xs:enumeration value="xs:unsignedByte"/>
					<xs:enumeration value="xs:unsignedInt"/>
					<xs:enumeration value="xs:unsignedLong"/>
					<xs:enumeration value="xs:unsignedShort"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="length" type="xs:int" use="optional"/>
		<xs:attribute name="scale" type="xs:int" use="optional"/>
		<xs:attribute name="precision" type="xs:int" use="optional"/>
		<!--precision is usually tied to decimal type (xs:decimal), but it is also used specify the interval qualifier for interval type (xs:duration).  In this case the following values represent different interval qualifier: 0 for unknown, 1 for second, 2 for minute, 3 for minute to second, 4 for hour, 6 for hour to minute, 7 for hour to second, 8 for day, 12 for day to hour, 14 for day to minute, 15 for day to second, 16 for month, 32 for year, 48 for year to month.-->
	</xs:complexType>
	<xs:complexType name="dataType">
		<xs:sequence>
			<xs:element ref="d:row" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="row">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="value" nillable="true" maxOccurs="unbounded">
					<xs:complexType mixed="true">
						<xs:simpleContent>
							<xs:extension base="xs:string">
								<xs:attribute name="currency"/>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>