﻿<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns="http://www.ieee.org/schema/efeed/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ieee.org/schema/efeed/1.0">
	<!-- 
	The following are basic data types for date parts.
	-->
	<xsd:simpleType name="xrefYear">
		<xsd:restriction base="xsd:integer">
			<xsd:maxInclusive value="2200"/>
			<xsd:minInclusive value="0000"/>
			<xsd:totalDigits value="4"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="xrefMonth">
		<xsd:restriction base="xsd:integer">
			<xsd:maxInclusive value="12"/>
			<xsd:minInclusive value="00"/>
			<xsd:totalDigits value="2"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="xrefDay">
		<xsd:restriction base="xsd:integer">
			<xsd:maxInclusive value="31"/>
			<xsd:minInclusive value="00"/>
			<xsd:totalDigits value="2"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:element name="day" type="xrefDay"/>
	<xsd:element name="month" type="xrefMonth"/>
	<xsd:element name="year" type="xrefYear"/>
	<!-- 
	Header elements. Content_batch is root element
	-->
	<xsd:element name="content_batch">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="head"/>
				<xsd:element ref="body"/>
			</xsd:sequence>
			<xsd:attribute name="version" type="xsd:string" fixed="1.1"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="head">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="timestamp"/>
				<xsd:element ref="depositor"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="timestamp" type="xsd:double"/>
	<xsd:element name="depositor">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="name"/>
				<xsd:element ref="email_address"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="name">
		<xsd:simpleType>
			<xsd:restriction base="xsd:string">
				<xsd:maxLength value="130"/>
				<xsd:minLength value="1"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:element>
	<xsd:element name="email_address">
		<xsd:simpleType>
			<xsd:restriction base="xsd:string">
				<xsd:maxLength value="200"/>
				<xsd:minLength value="6"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:element>
	<xsd:element name="body">
		<xsd:complexType>
			<xsd:choice maxOccurs="unbounded">
				<xsd:element ref="standard" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>
	<!-- 
	Standards elements.
	-->
	<xsd:element name="standard">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="standard_metadata"/>
				<xsd:element ref="productinfo_table"/>
				<xsd:element ref="refdoctable"/>
				<xsd:element ref="relatedtable"/>
				<xsd:element ref="draftdoctable" minOccurs="0"/>
				<xsd:element ref="amendingdoctable" minOccurs="0"/>
				<xsd:element ref="revisiondoctable" minOccurs="0"/>
				<xsd:element ref="corrigendumdoctable" minOccurs="0"/>
				<xsd:element ref="supersededoctable" minOccurs="0"/>
				<xsd:element ref="categorytable"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<!-- 
	Standards Metadata elements.
	-->
	<xsd:element name="standard_metadata">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="full_title"/>
				<xsd:element ref="publisher"/>
				<xsd:element ref="standard_number"/>
				<xsd:element ref="standard_id"/>
				<xsd:element ref="sponsor"/>
				<xsd:element ref="society"/>
				<xsd:element ref="committee"/>
				<xsd:element ref="publication_date"/>
				<xsd:element ref="bdreaff_date"/>
				<xsd:element ref="withdrawn_date"/>
				<xsd:element ref="projectscope" minOccurs="0"/>
				<xsd:element ref="projectpurpose" minOccurs="0"/>
				<xsd:element ref="scope"/>
				<xsd:element ref="keywords"/>
				<xsd:element ref="ics_codetable"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="full_title" type="xsd:string"/>
	<xsd:element name="publisher" type="xsd:string"/>
	<xsd:element name="standard_number" type="xsd:string"/>
	<xsd:element name="standard_id" type="xsd:unsignedShort"/>
	<xsd:element name="sponsor" type="xsd:string"/>
	<xsd:element name="society" type="xsd:string"/>
	<xsd:element name="committee" type="xsd:string"/>
	<xsd:element name="publication_date">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="day"/>
				<xsd:element ref="month"/>
				<xsd:element ref="year"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="bdreaff_date">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="day"/>
				<xsd:element ref="month"/>
				<xsd:element ref="year"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="withdrawn_date">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="day"/>
				<xsd:element ref="month"/>
				<xsd:element ref="year"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="projectscope" type="xsd:string"/>
	<xsd:element name="projectpurpose" type="xsd:string"/>
	<xsd:element name="scope" type="xsd:string"/>
	<xsd:element name="keywords">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="term" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="term" type="xsd:string"/>
	<xsd:element name="ics_codetable">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ics_code_id" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ics_code_id" type="xsd:string"/>
	<!-- 
	ProductInfo elements.
	-->
	<xsd:element name="productinfo_table">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="productinfo" minOccurs="1" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="productinfo">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sku"/>
				<xsd:element ref="draft_number" minOccurs="0"/>
				<xsd:element ref="product_id"/>
				<xsd:element ref="type"/>
				<xsd:element ref="isbnno"/>
				<xsd:element ref="pages"/>
				<xsd:element ref="size"/>
				<xsd:element ref="list_price"/>
				<xsd:element ref="member_price"/>
				<xsd:element ref="weight"/>
				<xsd:element ref="sell_in_catalog"/>
				<xsd:element ref="invoiceable"/>
				<xsd:element ref="pdf_filename" minOccurs="1" maxOccurs="unbounded"/>
				<xsd:element ref="web_site_url"/>
				<xsd:element ref="subscriptiontable"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="sku" type="xsd:string"/>
	<xsd:element name="draft_number" type="xsd:string"/>
	<xsd:element name="product_id" type="xsd:integer"/>
	<xsd:element name="type">
		<xsd:simpleType>
			<xsd:restriction base="xsd:string">
				<xsd:enumeration value="Print"/>
				<xsd:enumeration value="PDF"/>
				<xsd:enumeration value="Print on Demand"/>
				<xsd:enumeration value="Electronic"/>
				<xsd:enumeration value="CD-ROM"/>
				<xsd:enumeration value="Digital"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:element>
	<xsd:element name="isbnno" type="xsd:string"/>
	<xsd:element name="pages" type="xsd:string"/>
	<xsd:element name="size" type="xsd:string"/>
	<xsd:element name="list_price" type="xsd:integer"/>
	<xsd:element name="member_price" type="xsd:integer"/>
	<xsd:element name="weight" type="xsd:integer"/>
	<xsd:element name="sell_in_catalog" type="xsd:string"/>
	<xsd:element name="invoiceable" type="xsd:string"/>
	<xsd:element name="pdf_filename" type="xsd:string"/>
	<xsd:element name="web_site_url" type="xsd:anyURI"/>

	<xsd:element name="subscriptiontable">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="subscription_id" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="subscription_id" type="xsd:integer"/>
	<!-- 
	Refdoc Table elements.
	-->
	<xsd:element name="refdoctable">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="refieeedoc" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="refnonieeedoc" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="refieeedoc">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="standard_id" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="refnonieeedoc">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="docname" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="docname" type="xsd:string"/>
	<!-- 
	Related Table elements.
	-->
	<xsd:element name="relatedtable">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="standard_id" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<!-- 
	DraftDoc Table elements.
	-->
	<xsd:element name="draftdoctable">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="draftof" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="draftof" type="xsd:integer"/>
	<!-- 
	AmmendingDoc Table elements.
	-->
	<xsd:element name="amendingdoctable">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="amdof" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="amdof" type="xsd:integer"/>
	<!-- 
	RevisionDoc Table elements.
	-->
	<xsd:element name="revisiondoctable">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="revof" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="revof" type="xsd:integer"/>
	<!-- 
	CorrigendumDoc Table elements.
	-->
	<xsd:element name="corrigendumdoctable">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="corof" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="corof" type="xsd:integer"/>
	<!-- 
	SupersedeDoc Table elements.
	-->
	<xsd:element name="supersededoctable">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="supersede" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="supersede" type="xsd:integer"/>
	<!-- 
	Category Table elements.
	-->
	<xsd:element name="categorytable">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="category_id" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="category_id" type="xsd:integer"/>
</xsd:schema>
