<?xml version="1.0" encoding="UTF-16"?>
<?xml-stylesheet type="text/xsl" href="html.xsl"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="inc-types_1-02.xsd"/>
	<xs:annotation><xs:appinfo>ipcr_elayer_illustrations_1-01.xsd</xs:appinfo></xs:annotation>
	<xs:annotation><xs:documentation>
	<h1>IPC Illustrations Master File, Schema V.1.01</h1>
	<h2>File name of master files</h2>
	<div>ipcr_elayer_illustrations_YYYYMMDD.xml</div>
	<h2>History</h2>
				<dl>
					<dt>20050519</dt><dd>TA split from RIPCIS</dd>
					<dt>20050525</dt><dd>TA illustrationversion added to provide format support</dd>
					<dt>20080605</dt><dd>TA comments for structure are amended</dd>
				</dl>
	</xs:documentation></xs:annotation>

	<xs:element name="IPCIllustrations">
		<xs:annotation>
			<xs:documentation>
				<div>set of illustrations related to scheme, definitions or independent illustrations</div>
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="IPCIllustrationsSection" type="IPCIllustrationsSection" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="edition" type="edition" use="required"><xs:annotation><xs:documentation><div><b>mandatory</b>: date of the version in YYYYMMDD format</div></xs:documentation></xs:annotation></xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="IPCIllustrationsSection">
		<xs:annotation>
			<xs:documentation>
				<div>illustrations related to a certain section</div>
			</xs:documentation>
		</xs:annotation>

		<xs:sequence>
			<xs:element name="IPCIllustrationsClass" type="IPCIllustrationsClass" minOccurs="0" maxOccurs="unbounded"><xs:annotation><xs:documentation><div></div></xs:documentation></xs:annotation></xs:element>
		</xs:sequence>
		<xs:attribute name="symbol" type="symbol" use="required"><xs:annotation><xs:documentation><div><b>mandatory</b>: valid IPC section symbol</div></xs:documentation></xs:annotation></xs:attribute>
		<xs:attribute name="illustrationsNo" type="xs:nonNegativeInteger" use="required"><xs:annotation><xs:documentation><div>number of illustrations that belong to the "section" but do not belong to any of its "classes"</div></xs:documentation></xs:annotation></xs:attribute>
	</xs:complexType>

	<xs:complexType name="IPCIllustrationsClass">
		<xs:annotation>
			<xs:documentation>
				<div>illustrations related to a certain class</div>
			</xs:documentation>
		</xs:annotation>

		<xs:sequence>
			<xs:element name="illustrations" type="illustrations" minOccurs="0"><xs:annotation><xs:documentation><div><b>optional</b>: illustrations that belong to the "class" but do not belong to any of its "subclasses"</div></xs:documentation></xs:annotation></xs:element>
			<xs:element name="IPCIllustrationsSubclass" type="IPCIllustrationsSubclass" minOccurs="0" maxOccurs="unbounded"><xs:annotation><xs:documentation><div>IPCIllustrationSubclass contains illustrations that belong to a subclass within the owning class</div></xs:documentation></xs:annotation></xs:element>
		</xs:sequence>
		<xs:attribute name="symbol" type="symbol" use="required"><xs:annotation><xs:documentation><div><b>mandatory</b>: valid IPC class symbol (in A99 format)</div></xs:documentation></xs:annotation></xs:attribute>
		<xs:attribute name="illustrationsNo" type="xs:nonNegativeInteger" use="required"><xs:annotation><xs:documentation><div>number of illustrations that belong to the "class" but do not belong to any of its "subclasses"</div></xs:documentation></xs:annotation></xs:attribute>
	</xs:complexType>

	<xs:complexType name="IPCIllustrationsSubclass">
		<xs:annotation>
			<xs:documentation>
				<div>illustrations related to a certain subclass</div>
			</xs:documentation>
		</xs:annotation>

		<xs:sequence>
			<xs:element name="illustrations" type="illustrations" minOccurs="0"><xs:annotation><xs:documentation><div><b>optional</b>: illustrations that belong to the "subclass" but do not belong to its "maingroups"</div></xs:documentation></xs:annotation></xs:element>
			<xs:element name="IPCIllustrationsMaingroup" type="IPCIllustrationsMaingroup" minOccurs="0" maxOccurs="unbounded"><xs:annotation><xs:documentation><div>IPCIllustrationMaingroup contains illustrations that belong to a main group within the owning subclass</div></xs:documentation></xs:annotation></xs:element>
		</xs:sequence>
		<xs:attribute name="symbol" type="symbol" use="required"><xs:annotation><xs:documentation><div><b>mandatory</b>: valid IPC subclass symbol (in A99A format)</div></xs:documentation></xs:annotation></xs:attribute>
		<xs:attribute name="entryType" type="illustrationEntryType" use="required"><xs:annotation><xs:documentation><div>entry type of the IPC denoted by "symbol"</div></xs:documentation></xs:annotation></xs:attribute>
		<xs:attribute name="illustrationsNo" type="xs:nonNegativeInteger" use="required"><xs:annotation><xs:documentation><div>number of illustrations that belong to the "subclass" but do not belong to any of its "maingroups"</div></xs:documentation></xs:annotation></xs:attribute>
	</xs:complexType>

	<xs:complexType name="IPCIllustrationsMaingroup">
		<xs:annotation>
			<xs:documentation>
				<div>illustrations related to a certain maingroup</div>
			</xs:documentation>
		</xs:annotation>

		<xs:sequence>
			<xs:element name="illustrations" type="illustrations" minOccurs="0"><xs:annotation><xs:documentation><div><b>optional</b>: illustrations that belong to the "maingroup" denoted by the symbol but do not belong to any to its "groups"</div></xs:documentation></xs:annotation></xs:element>
			<xs:element name="IPCIllustrationsGroup" type="IPCIllustrationsGroup" minOccurs="0" maxOccurs="unbounded"><xs:annotation><xs:documentation><div><b>optional</b>: illustrationGroup contains illustrations that belong to a subgroup within the owning main group; list of groups is flat</div></xs:documentation></xs:annotation></xs:element>
		</xs:sequence>
		<xs:attribute name="symbol" type="symbol" use="required"><xs:annotation><xs:documentation><div><b>mandatory</b>: valid IPC maingroup symbol (in A99AZZZM000000 format)</div></xs:documentation></xs:annotation></xs:attribute>
		<xs:attribute name="entryType" type="illustrationEntryType" default="c"><xs:annotation><xs:documentation><div>entry type of the IPC denoted by "symbol"</div></xs:documentation></xs:annotation></xs:attribute>
		<xs:attribute name="illustrationsNo" type="xs:nonNegativeInteger" use="required"><xs:annotation><xs:documentation><div>number of illustrations that belong to the "maingroup" but do not belong to any of its "groups"</div></xs:documentation></xs:annotation></xs:attribute>
	</xs:complexType>

	<xs:complexType name="IPCIllustrationsGroup">
		<xs:annotation>
			<xs:documentation>
				<div>illustrations related to a certain group</div>
				<div>hierarchy of groups is not maintained in this file!</div>
			</xs:documentation>
		</xs:annotation>

		<xs:sequence>
			<xs:element name="illustrations" type="illustrations" minOccurs="1"><xs:annotation><xs:documentation><div><b>at least 1</b>: illustration(s) that belong to the IPC group denoted by the symbol attribute</div></xs:documentation></xs:annotation></xs:element>
		</xs:sequence>
		<xs:attribute name="symbol" type="symbol" use="required"><xs:annotation><xs:documentation><div><b>mandatory</b>: valid IPC subgroup symbol (in A99AZZZMGGZZZZ format</div></xs:documentation></xs:annotation></xs:attribute>
		<xs:attribute name="entryType" type="illustrationEntryType" default="c"><xs:annotation><xs:documentation><div>entry type of the IPC denoted by "symbol"</div></xs:documentation></xs:annotation></xs:attribute>
		<xs:attribute name="illustrationsNo" type="xs:nonNegativeInteger" use="required"><xs:annotation><xs:documentation><div>number of illustrations that belong to the group denoted by the symbol</div></xs:documentation></xs:annotation></xs:attribute>
	</xs:complexType>

	<xs:complexType name="illustrations">
		<xs:annotation>
			<xs:documentation>
				<div>wrapper for a sequence of illustration elements</div>
			</xs:documentation>
		</xs:annotation>

		<xs:sequence>
			<xs:element name="illustration" type="illustration" maxOccurs="unbounded"></xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="illustration">
		<xs:annotation>
			<xs:documentation><div>data for a single illustration</div>
			<div>There can be more files associated to the illustration in different formats, they are contained by the illustrationversion elements.</div>
			<div>The src attribute defines the default illustration file.</div>
			</xs:documentation>
		</xs:annotation>

		<xs:sequence>
			<xs:element name="illustrationversion" type="illustrationversion" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="type" type="illustrationInFile"><xs:annotation><xs:documentation><div>type of the illustration, i.e. in which type of file it appears</div><div>this attribute is not filled in IPC 20060101</div></xs:documentation></xs:annotation></xs:attribute>
		<xs:attribute name="label" type="illustrationLabel"><xs:annotation><xs:documentation><div>a readable label</div></xs:documentation></xs:annotation></xs:attribute>
		<xs:attribute name="src" type="illustrationSrc" use="required"><xs:annotation><xs:documentation><div>default file (GIF if present)</div></xs:documentation></xs:annotation></xs:attribute>
		<xs:attribute name="remarkEN" type="remark"><xs:annotation><xs:documentation><div>manual remarks in English</div></xs:documentation></xs:annotation></xs:attribute>
		<xs:attribute name="remarkFR" type="remark"><xs:annotation><xs:documentation><div>manual remarks in French</div></xs:documentation></xs:annotation></xs:attribute>
	</xs:complexType>

	<xs:simpleType name="illustrationInFile">
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="scheme"><xs:annotation><xs:documentation><div>file illustrating the scheme</div></xs:documentation></xs:annotation></xs:enumeration>
			<xs:enumeration value="definition"><xs:annotation><xs:documentation><div>file illustrating the definitions</div></xs:documentation></xs:annotation></xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="illustrationversion">
		<xs:annotation>
			<xs:documentation>
				<div>a single illustration file</div>
			</xs:documentation>
		</xs:annotation>

		<xs:attribute name="format" type="illustrationFormat"><xs:annotation><xs:documentation><div>free format specifier, typically an extension of the file</div></xs:documentation></xs:annotation></xs:attribute>
		<xs:attribute name="src" type="illustrationSrc" use="required"><xs:annotation><xs:documentation><div></div></xs:documentation></xs:annotation></xs:attribute>
	</xs:complexType>

	<xs:simpleType name="illustrationFormat">
		<xs:annotation><xs:documentation><div>format of a particular illustration</div>
		<div>free format 3 letter file extension, examples are given in enumerations</div>
		</xs:documentation></xs:annotation>
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="gif"/>
			<xs:enumeration value="cdx"/>
			<xs:enumeration value="skc"/>
			<xs:enumeration value="bmp"/>
			<xs:pattern value="[a-z]{3}"/>
		</xs:restriction>
	</xs:simpleType>



	<xs:simpleType name="illustrationEntryType">
		<xs:annotation><xs:documentation><div>entry type of a symbol within illustrations</div>
		</xs:documentation></xs:annotation>
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="c"><xs:annotation><xs:documentation><div>classification symbol</div></xs:documentation></xs:annotation></xs:enumeration>
			<xs:enumeration value="d"><xs:annotation><xs:documentation><div>double purpose</div></xs:documentation></xs:annotation></xs:enumeration>
			<xs:enumeration value="i"><xs:annotation><xs:documentation><div>indexing symbol</div></xs:documentation></xs:annotation></xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="illustrationSrc">
		<xs:annotation><xs:documentation><div>file name</div>
		<div>Format: symbol_number.extension, where:</div>
		<ul>
		<li>symbol: to which the owning illustration belogs</li>
		<li>number: the sequence number of the illustration element to which the file belongs</li>
		<li>extension: compatible to the format of the file</li>
		</ul>

		</xs:documentation></xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-H][0-9][0-9][A-Z]([0-9]{10})?_[0-9]+\.(bmp|gif|cdx|skc|[a-z]{3})"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="illustrationLabel">
	<xs:annotation><xs:documentation><div>label for the illustration</div>
	<div>Though can be free, contains recently the name of the file without extension.</div>
	</xs:documentation></xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-H][0-9][0-9][A-Z]([0-9]{10})?_[0-9]+"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>