<?xml version="1.0" encoding="UTF-8"?>
<!--
*******************************************************************************
CH SEARCH REPORT DOCUMENT ch-searchreport-doc-v1-2-ige1-2.xsd
********************************************************************************
********************************************************************************
* Based upon ST.36 ep-patent-document v1.2.dtd
********************************************************************************
* Based upon http://www.wipo.int/scit/en/standards/st36-xml-dtd.htm
********************************************************************************
* CONTACTS
*********************************
Eidgenössisches Institut für Geistiges Eigentum:

Urs Krebs - urs.krebs@ipi.ch
Patrizia Fabrizioli -  patrizia.fabrizioli@ipi.ch
Michael Künzli - michael.kuenzli@ipi.ch
*********************************
* NOTES
*********************************

08.02.2017
ch-searchreport-doc-v1-2-ige1-1.xsd
1) <nplcit> : beside <text> allow new subelements <article>, <online> and <book>

16.07.2008
ch-searchreport-doc-v1-2-ige1-1.xsd
Changes:
1) Defined an <xgroup> element with an empty sequence within the complexType "p" for redefinition in the ch-patent-document schema

07.03.2008
ch-searchreport-doc-v1-2-ige1-0.xsd
Changes:
1)  Element <srep-info>: new optional subelement <srep-claims-info/clms-incurring-fees-1>, used in case of non-payment of the fee for indicated claim

29.01.2008
ch-searchreport-doc-v1-2-ige0-4.xsd
Changes in relation to ch-searchreport-doc-v1-2-ige0-2.xsd
1)  Type "yesorno": values "0" and "1" were added, as they are required in the patent documents.
2)  Element <classification-ipcr>: the ordering of the subelemente was adapted to ep-patent-document-v1-1.dtd angepasst, the attribute "id" was added (as all other "id" attributes were maintained in the schema till now).
3)  Element <search-report-data>: new optional subelement <docPage> for the international search-report.
4)	Element <img>: the attribute "img-content" can newly have the value "graph".
5)	Elements <kind> und <document-id>: types were defined for these elements, as it is allowed to redefine a type when including the schema in the ch-patent-document schema, but not an element.
6)  Element <application-reference>: the attribute "appl-type" is removed, as it is not required in ep-patent-document-v1-1.dtd.


-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<!--
*******************************************************************************
* DECLARATION
*******************************************************************************
-->
	<!--Original
<!ENTITY % name_group  "((name | (prefix?,(last-name | orgname),first-name?,
               middle-name?,suffix?,iid?,role?,orgname?,department?,synonym*)),
               registered-number?)" >
-->
	<xs:group name="name_group">
		<xs:sequence>
			<xs:element ref="name"/>
		</xs:sequence>
	</xs:group>
	<!--Original
<!ENTITY % address_group  "((address-1?,address-2?,address-3?,mailcode?,pobox?,room?,
               address-floor?,building?,street?,city?,county?,state?,postcode?,
               country) | text)" >
-->
	<xs:complexType name="address_group">
		<xs:sequence>
			<xs:element ref="address-1" minOccurs="0"/>
			<xs:element ref="address-2" minOccurs="0"/>
			<xs:element ref="address-3" minOccurs="0"/>
			<xs:element ref="street" minOccurs="0"/>
			<xs:element ref="city"/>
			<xs:element ref="postcode" minOccurs="0"/>
			<xs:element ref="country"/>
		</xs:sequence>
	</xs:complexType>
	<!--Determines Layout of the Search Report-->
	<xs:simpleType name="srep-type">
		<xs:restriction base="xs:string">
			<xs:enumeration value="ch-sr"/>
			<xs:enumeration value="ch-partial-sr"/>
			<xs:enumeration value="ch-declaration-sr"/>
		</xs:restriction>
	</xs:simpleType>
  <!--Determines Layout of the Search Report-->
  <xs:simpleType name="srep-kind">
    <xs:restriction base="xs:string">
      <xs:enumeration value="old"/>
      <xs:enumeration value="new"/>
    </xs:restriction>
  </xs:simpleType>
	<!--The status of the Search Report-->
	<xs:simpleType name="status">
		<xs:restriction base="xs:string">
			<xs:enumeration value="inProgress"/>
			<xs:enumeration value="draft"/>
			<xs:enumeration value="final"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- Self defined datatyps -->
	<!-- Defines the possible langauages -->
	<xs:simpleType name="lang">
		<xs:restriction base="xs:string">
			<xs:enumeration value="de"/>
			<xs:enumeration value="fr"/>
			<xs:enumeration value="it"/>
			<xs:enumeration value="en"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- Attribut num Integer from 1 to 9999 -->
	<xs:simpleType name="num">
		<xs:restriction base="xs:integer">
			<xs:minInclusive value="1"/>
			<xs:maxInclusive value="9999"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- Figure ID -->
	<xs:simpleType name="figid">
		<xs:restriction base="xs:ID">
			<xs:pattern value="f[0-9]{4}"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- img ID -->
	<xs:simpleType name="imgid">
		<xs:restriction base="xs:ID">
			<xs:pattern value="i(a|af|f|b)[0-9]{4}"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- chemistry ID-->
	<xs:simpleType name="chemistryid">
		<xs:restriction base="xs:ID">
			<xs:pattern value="(chem|chema)[0-9]{4}"/>
		</xs:restriction>
	</xs:simpleType>
	<!--maths ID-->
	<xs:simpleType name="mathsid">
		<xs:restriction base="xs:ID">
			<xs:pattern value="(math|matha)[0-9]{4}"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- Yes or No-->
	<xs:simpleType name="yesorno">
		<xs:restriction base="xs:string">
			<xs:enumeration value="yes"/>
			<xs:enumeration value="no"/>
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- Attribut decimal 0 to 300, 2 fraction digits -->
	<xs:simpleType name="dez_1_300_2f">
		<xs:restriction base="xs:decimal">
			<xs:minInclusive value="1"/>
			<xs:maxInclusive value="300"/>
			<xs:fractionDigits value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
*********************************************************************************
*SEARCH REPORT
*********************************************************************************
-->
	<!--Original
<!ELEMENT search-report-data  (doc-page+ | (srep-info?,srep-for-pub?,
               srep-search-opinion?,srep-written-opinion?)) >

<!ATTLIST search-report-data
               id  ID    #IMPLIED
               lang  CDATA    #IMPLIED
               srep-office  CDATA    #REQUIRED
               date-produced  CDATA    #REQUIRED
               srep-type  CDATA    #IMPLIED
               status  CDATA    #IMPLIED  >
-->
	<xs:element name="search-report-data">
		<xs:complexType>
			<xs:choice>
				<xs:element ref="doc-page" maxOccurs="unbounded"/>
				<xs:sequence>
					<xs:element ref="srep-info" minOccurs="0"/>
					<xs:element ref="srep-for-pub" minOccurs="0"/>
				</xs:sequence>
			</xs:choice>
			<xs:attribute name="id" fixed="srep"/>
			<xs:attribute name="lang" type="lang"/>
			<xs:attribute name="srep-office" use="required" fixed="CH"/>
			<xs:attribute name="date-produced" type="xs:date" use="required"/>
			<xs:attribute name="srep-type" type="srep-type"/>
			<xs:attribute name="status" type="status"/>
      <xs:attribute name="srep-kind" type="srep-kind"/>
		</xs:complexType>
	</xs:element>
	<!--
*********************************
DOC-PAGE
*********************************
doc-page - DOCument or PAGE

This is primarily to be used when data for the whole or major sections of an
application are in image format OR other formats such as pdf.

Page range attributes are given when required
pp - page range
ppf - first page
ppl - last page (for pdf).
The 'img' may also be used for complete pages, e.g. in drawings

EPO Required usage:
	- in the EP publication process this tag is only likely to be used for the
	  search report; then we use:
		- id="srep0001"
		- file="srep0001.tif"

	- in all other cases use:
		- id="docp0001"
		- file="docp0001.tif"

** Note: ocr attribute added NOT ANNEX F compatible - for OCR project? CHECK

Example:
<search-report-data id="srep" srep-office="EP" date-produced="20050308">
	<doc-page id="srep0001" file="srep0001.tif" he="231" wi="159" type="tif" />
	<doc-page id="srep0002" file="srep0002.tif" he="231" wi="159" type="tif"/>
</search-report-data>


<!ELEMENT doc-page   EMPTY  >

<!ATTLIST doc-page
               id  	ID    	#IMPLIED
               file  	CDATA 	#REQUIRED
               wi  	CDATA 	#REQUIRED
               he  	CDATA  	#REQUIRED
               type 	(jpg | pdf | tif)   #REQUIRED
               alt  	CDATA  	#IMPLIED
               pp  	CDATA  	#IMPLIED
               ppf  	CDATA  	#IMPLIED
               ppl  	CDATA  	#IMPLIED
               ocr  	CDATA  	#IMPLIED
               color (color | bw)   #IMPLIED
               orientation (portrait | landscape)  "portrait" >
-->
	<xs:element name="doc-page">
		<xs:complexType>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="file" use="required"/>
			<xs:attribute name="wi" type="dez_1_300_2f" use="required"/>
			<xs:attribute name="he" type="dez_1_300_2f" use="required"/>
			<xs:attribute name="type" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="tif"/>
						<xs:enumeration value="pdf"/>
						<xs:enumeration value="jpg"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="alt"/>
			<xs:attribute name="pp" type="xs:positiveInteger"/>
			<xs:attribute name="ppf" type="xs:positiveInteger"/>
			<xs:attribute name="ppl" type="xs:positiveInteger"/>
			<xs:attribute name="ocr"/>
			<xs:attribute name="color">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="color"/>
						<xs:enumeration value="bw"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="orientation" default="portrait">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="landscape"/>
						<xs:enumeration value="portrait"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT srep-info  (doc-page+ | (correspondence-address?,file-reference-id?,
               application-reference+,date-of-earliest-priority?,applicant-name,
               srep-established?,srep-protest-fees?,srep-request-date?,
               srep-request-number?,srep-prior-art-docs*,srep-basis?,
               srep-claims-info?,srep-unity-of-invention?,srep-invention-title,
               srep-abstract,srep-figure-to-publish,srep-info-admin,srep-other-info?,
               text*)) >

<!ATTLIST srep-info
               total-page-count  CDATA    #IMPLIED  >
-->
	<xs:element name="srep-info">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="application-reference" maxOccurs="unbounded"/>
				<xs:element ref="date-of-earliest-priority" minOccurs="0"/>
				<xs:element ref="applicant-name"/>
				<xs:element ref="srep-claims-info" minOccurs="0"/>
				<xs:element ref="srep-unity-of-invention" minOccurs="0"/>
				<xs:element ref="srep-invention-title"/>
				<xs:element ref="srep-abstract"/>
				<xs:element ref="srep-figure-to-publish"/>
				<xs:element ref="srep-info-admin"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT srep-for-pub  (doc-page+ | (classification-ipc?,classifications-ipcr?,
               classification-national?,srep-fields-searched,srep-citations,
               incomplete-search?,srep-admin?,srep-patent-family?)) >
-->
	<xs:element name="srep-for-pub">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="classifications-ipcr" minOccurs="0"/>
				<xs:element ref="srep-fields-searched"/>
				<xs:element ref="srep-citations"/>
				<xs:element ref="incomplete-search" minOccurs="0"/>
				<xs:element ref="srep-admin" minOccurs="0"/>
				<xs:element ref="srep-patent-family" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT application-reference  (document-id) >

<!ATTLIST application-reference
               id  ID    #IMPLIED
               appl-type  CDATA    #IMPLIED  >
-->
	<xs:element name="application-reference">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="document-id"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT date-of-earliest-priority  (date) >
-->
	<xs:element name="date-of-earliest-priority">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="date"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT applicant-name  %name_group; >
-->
	<xs:element name="applicant-name">
		<xs:complexType>
			<xs:sequence>
				<xs:group ref="name_group"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!-- Original
<!ELEMENT srep-claims-info  (clms-reason-1?,clms-reason-2?,clms-reason-3?,
clms-incurring-fees-1?,clms-incurring-fees-2?) > -->
	<xs:element name="srep-claims-info">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="clms-incurring-fees-1" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="clms-incurring-fees-1">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="claim-num" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT srep-unity-of-invention  (p*,srep-search-fees,search-fee-protest?) >
-->
	<xs:element name="srep-unity-of-invention">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="p" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="srep-search-fees"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT srep-invention-title  (invention-title?) >

<!ATTLIST srep-invention-title
               title-approval (yes | no)  "yes" >
-->
	<xs:element name="srep-invention-title">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="invention-title" minOccurs="0"/>
			</xs:sequence>
			<xs:attribute name="title-approval" type="yesorno" default="yes"/>
		</xs:complexType>
	</xs:element>
	<!--
yes = 	The abstract was not modified by the Search Division
no  = 	The ABSTRACT was modified by the Search Division

Original
<!ELEMENT srep-abstract  (abstract?) >

<!ATTLIST srep-abstract
               abs-approval (yes | no)  "yes" >
-->
	<xs:element name="srep-abstract">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="abstract" minOccurs="0"/>
			</xs:sequence>
			<xs:attribute name="abs-approval" type="yesorno" default="yes"/>
		</xs:complexType>
	</xs:element>
	<!--
The figure of the drawings to be published with the abstract is:
Figure No.
followed by text of attribute value:
	1 = as suggested by the applicant.
	2 = because the applicant failed to suggest a figure.
	3 = because this figure better characterizes the invention.
or:
	4 = None of the figures is to be published with the abstract

Original
<!ELEMENT srep-figure-to-publish  (figure-to-publish?) >

<!ATTLIST srep-figure-to-publish
               figinfo (1 | 2 | 3 | 4)   #REQUIRED  >
-->
	<xs:element name="srep-figure-to-publish">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="figure-to-publish" minOccurs="0"/>
			</xs:sequence>
			<xs:attribute name="figinfo" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:integer">
						<xs:enumeration value="1"/>
						<xs:enumeration value="2"/>
						<xs:enumeration value="3"/>
						<xs:enumeration value="4"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<!--Original

<!ELEMENT srep-info-admin  (authorized-officer?,srep-office?,date-search-report-mailed?,
date-opinion-completed?) >
-->
	<xs:element name="srep-info-admin">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="authorized-officer" minOccurs="0"/>
				<xs:element ref="srep-office" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT classifications-ipcr (classification-ipcr+)>

<!ATTLIST classifications-ipcr  id ID  #IMPLIED >
-->
	<xs:element name="classifications-ipcr">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="classification-ipcr" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT srep-fields-searched  (minimum-documentation,other-documentation*,
               database-searched?) >
-->
	<xs:element name="srep-fields-searched">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="minimum-documentation"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT srep-citations  (text | citation+) >
-->
	<xs:element name="srep-citations">
		<xs:complexType>
			<xs:choice>
				<xs:element ref="text"/>
				<xs:element ref="citation" maxOccurs="unbounded"/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT incomplete-search  (text | limitation-of-search+) >
-->
	<xs:element name="incomplete-search">
		<xs:complexType>
			<xs:choice>
				<xs:element ref="text"/>
				<xs:element ref="limitation-of-search" maxOccurs="unbounded"/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT srep-admin  (examiners?,srep-office?,date-search-completed,date-search-report-mailed?) >
-->
	<xs:element name="srep-admin">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="examiners" minOccurs="0"/>
				<xs:element ref="srep-office" minOccurs="0"/>
				<xs:element ref="date-search-completed"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT srep-patent-family  (text?,patent-family+) >
-->
	<xs:element name="srep-patent-family">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="text" minOccurs="0"/>
				<xs:element ref="patent-family" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT document-id  (country,doc-number,kind?,name?,date?) >

<!ATTLIST document-id
               lang  CDATA    #IMPLIED  >
-->
	<xs:element name="document-id" type="document-id-content"/>
	<xs:complexType name="document-id-content">
		<xs:sequence>
			<xs:element ref="country"/>
			<xs:element ref="doc-number"/>
			<xs:element ref="kind" minOccurs="0"/>
			<xs:element ref="name" minOccurs="0"/>
			<xs:element ref="date" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!--Original
<!ELEMENT p  (#PCDATA | b | i | u | o | sup | sub | smallcaps | br | pre | dl | ul | ol |
               crossref | figref | patcit | nplcit | bio-deposit | img | chemistry |
               maths | tables | table-external-doc)* >

<!ATTLIST p
               id  ID    #IMPLIED
               num  CDATA    #REQUIRED  >
-->
	<xs:element name="p" type="p"/>
	<!-- define types in order to subtype -->
	<xs:complexType name="p" mixed="true">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element ref="b"/>
			<xs:element ref="sup"/>
			<xs:element ref="sub"/>
			<xs:element ref="br"/>
			<xs:element ref="dl"/>
			<xs:element ref="ul"/>
			<xs:element ref="figref"/>
			<xs:element ref="patcit"/>
			<xs:element ref="img"/>
			<xs:element ref="chemistry"/>
			<xs:element ref="maths"/>
			<xs:group ref="emptysequence"/>
		</xs:choice>
		<xs:attribute name="id" type="xs:ID"/>
		<xs:attribute name="num" type="num" use="required"/>
	</xs:complexType>
	<xs:group name="emptysequence">
		<xs:sequence/>
	</xs:group>
	<!--Original
<!ELEMENT srep-search-fees  (srep-fee-1?,srep-fee-2?,srep-fee-3?,srep-fee-4?) >
-->
	<xs:element name="srep-search-fees">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="srep-fee-1" minOccurs="0"/>
				<xs:element ref="srep-fee-2" minOccurs="0"/>
				<xs:element ref="srep-fee-3" minOccurs="0"/>
				<xs:element ref="srep-fee-4" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT invention-title  (#PCDATA | b | i | u | o | sup | sub)* >

<!ATTLIST invention-title
               id  ID    #IMPLIED
               lang  CDATA    #IMPLIED  >
-->
	<xs:element name="invention-title">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="b"/>
				<xs:element ref="sup"/>
				<xs:element ref="sub"/>
			</xs:choice>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT classification-ipcr ((section , class , subclass , main-group? , subgroup? ,
ipc-version-indicator , classification-level? , symbol-position? , classification-value? ,
action-date? , classification-status? , classification-data-source?, generating-office?) | text)>

<!ATTLIST classification-ipcr	id       ID     #IMPLIED
                            	sequence CDATA  #IMPLIED >
-->
	<xs:element name="classification-ipcr">
		<xs:complexType>
			<xs:choice>
				<xs:element ref="text"/>
				<xs:sequence>
					<xs:element ref="section"/>
					<xs:element ref="class"/>
					<xs:element ref="subclass"/>
					<xs:element ref="main-group"/>
					<xs:element ref="subgroup"/>
					<xs:element ref="ipc-version-indicator"/>
					<xs:element ref="classification-level"/>
					<xs:element ref="symbol-position"/>
					<xs:element ref="classification-value"/>
				</xs:sequence>
			</xs:choice>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="sequence" type="xs:positiveInteger"/>
		</xs:complexType>
	</xs:element>
	<!-- Classification code; e.g., ipc, dewey etc. -->
	<xs:element name="class">
		<xs:simpleType>
			<xs:restriction base="xs:NMTOKEN">
				<xs:pattern value="[0-9]{2}"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<!-- Possible values: invention, non-invention -->
	<xs:element name="classification-value">
		<xs:simpleType>
			<xs:restriction base="xs:token">
				<xs:enumeration value="invention"/>
				<xs:enumeration value="non-invention"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<!-- Possible positions: first-symbol-position, later-symbol-position. -->
	<!--
    <!ELEMENT symbol-position (#PCDATA)>
  -->
	<xs:element name="symbol-position">
		<xs:simpleType>
			<xs:restriction base="xs:NMTOKEN">
				<xs:enumeration value="first-symbol-position"/>
				<xs:enumeration value="later-symbol-position"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="subgroup">
		<xs:simpleType>
			<xs:restriction base="xs:integer">
				<xs:minInclusive value="0"/>
				<xs:maxInclusive value="999999"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="main-group">
		<xs:simpleType>
			<xs:restriction base="xs:integer">
				<xs:minInclusive value="1"/>
				<xs:maxInclusive value="9999"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="subclass">
		<xs:simpleType>
			<xs:restriction base="xs:NMTOKEN">
				<xs:pattern value="[A-Z]{1}"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="section">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:pattern value="[A-Z]{1}"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<!-- Levels: ipcr-advanced, ipcr-core -->
	<xs:element name="classification-level">
		<xs:simpleType>
			<xs:restriction base="xs:NMTOKEN">
				<xs:enumeration value="ipcr-advanced"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="ipc-version-indicator">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="date"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT minimum-documentation  (classification-ipc?,classifications-ipcr?,
               classification-national?) >
-->
	<xs:element name="minimum-documentation">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="classifications-ipcr" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT text  (#PCDATA) >
-->
	<xs:element name="text" type="xs:string"/>
	<!--Original
<!ELEMENT citation  ((patcit | nplcit),(rel-passage*,category*,
	             rel-claims*)*,corresponding-docs*,classification-ipc?,classifications-ipcr?,
               classification-national?,doi?) >

<!ATTLIST citation
		id  		ID   	#IMPLIED
               	srep-phase  	CDATA  	#IMPLIED  >
-->
	<xs:element name="citation">
		<xs:complexType>
			<xs:sequence>
				<xs:choice>
					<xs:sequence>
						<xs:element ref="patcit"/>
						<xs:element ref="nplcit" minOccurs="0"/>
					</xs:sequence>
					<xs:sequence>
						<xs:element ref="nplcit"/>
					</xs:sequence>
				</xs:choice>
				<xs:sequence minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="rel-passage" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="category" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="rel-claims" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:element ref="corresponding-docs" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<!--
Most often the examiner uses a so-called Sheet C to enter the
various reasons. This is a bit complicated and why we have changed the model
and added the grouping element <limitation-of-search> which is repeatable.

<text> can be used for any leading text.

The attributes are implied and therefore need not necessarily be used if it is a
simple case and sheet C is not used; otherwise:

use:

	- sequence="1" etc to keep the order and "2" could generate: "Further limitation of the search"
	- reason-type="reasonpatentability" , "reasonobscurity" or "remark"


Original
<!ELEMENT limitation-of-search  (text?,claims-searched*,claims-searched-incompletely*,
               claims-not-searched*,reason-limited-search*) >

<!ATTLIST limitation-of-search
		sequence  	CDATA	#IMPLIED
		reason-type 	CDATA	#IMPLIED  >
-->
	<xs:element name="limitation-of-search">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="text" minOccurs="0"/>
				<xs:element ref="claims-searched" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="claims-searched-incompletely" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="claims-not-searched" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="reason-limited-search" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="sequence" type="xs:int"/>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT examiners  (primary-examiner?,assistant-examiner?,authorized-officer?) >
-->
	<xs:element name="examiners">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="primary-examiner" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT srep-office  (addressbook) >
-->
	<xs:element name="srep-office">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="addressbook"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT date-search-completed  (date) >
-->
	<xs:element name="date-search-completed">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="date"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT patent-family  (priority-application,(family-member+ | text)) >

<!ATTLIST patent-family
               id  ID    #IMPLIED  >
-->
	<xs:element name="patent-family">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="priority-application"/>
				<xs:choice>
					<xs:element ref="family-member" maxOccurs="unbounded"/>
					<xs:element ref="text"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT abstract  ((abst-problem,abst-solution) | p+) >

<!ATTLIST abstract
               id  	ID	 #IMPLIED
               lang  	CDATA    #IMPLIED
               status  	CDATA    #IMPLIED  >
-->
	<xs:element name="abstract">
		<xs:complexType>
			<xs:choice>
				<xs:sequence>
					<xs:element ref="abst-problem"/>
					<xs:element ref="abst-solution"/>
				</xs:sequence>
				<xs:element ref="p" maxOccurs="unbounded"/>
			</xs:choice>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="lang" type="lang"/>
			<xs:attribute name="status" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<!--
Figure of the drawings which should accompany the abstract

Original
<!ELEMENT figure-to-publish  (fig-number+) >
-->
	<xs:element name="figure-to-publish">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="fig-number" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT authorized-officer  (%name_group;,phone?,fax?,email?,electronic-signature?) >
-->
	<xs:element name="authorized-officer">
		<xs:complexType>
			<xs:sequence>
				<xs:group ref="name_group"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT country  (#PCDATA) >
-->
	<xs:element name="country" type="xs:string"/>
	<!--Original
<!ELEMENT doc-number  (#PCDATA) >
-->
	<xs:element name="doc-number" type="doc-number"/>
	<!--Original
<!ELEMENT kind  (#PCDATA) >
-->
	<xs:element name="kind" type="kind"/>
	<!-- define types in order to subtype -->
	<xs:simpleType name="doc-number">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="kind">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<!--Original
<!ELEMENT date  (#PCDATA) >
-->
	<xs:element name="date" type="xs:date"/>
	<!--Original
<!ELEMENT b  (#PCDATA | i | u | o | smallcaps | sup | sub )* >
-->
	<xs:element name="b" type="xs:string"/>
	<!--Original
<!ELEMENT sup  (#PCDATA | b | u | o | i | sup2 | sub2)* >
-->
	<xs:element name="sup">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="b"/>
				<xs:element ref="sup2"/>
				<xs:element ref="sub2"/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT sub  (#PCDATA | b | u |  o | i | sup2 | sub2)* >
-->
	<xs:element name="sub">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="b"/>
				<xs:element ref="sup2"/>
				<xs:element ref="sub2"/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT br   EMPTY  >
-->
	<xs:element name="br">
		<xs:complexType/>
	</xs:element>
	<!--Original
<!ELEMENT dl  (dt,dd)+ >

<!ATTLIST dl
               id  	ID    		#IMPLIED
               tsize  	CDATA    	#IMPLIED
               compact 	(compact)	#IMPLIED  >
-->
	<xs:element name="dl">
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:element ref="dt"/>
				<xs:element ref="dd"/>
			</xs:sequence>
			<xs:attribute name="tsize" type="dez_1_300_2f" use="required"/>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<!--
*******************************
UNORDERED LISTS:
*******************************

List-style may be empty for lists with no bullet or other symbol
default list-style is 'bullets'.

EPO required usage:
	- for ul element in the description: id="ul0001"
	- If parent element is abstract: id="ula01"; BUT contractors
	  should, if possible, not use in abstracts just type in the
	  numbers as text (not used in PatXML)
	- list-style: "none" means "none" or other type of symbol;
	  that is if the applicant used
	  some other symbol use this and then in the body of the text enter that symbol
	- bullet and dash may be used
	- compact


EPO style: indent whole list 6mm from left margin

Example:
<ul id="ul0001" list-style="bullet">

Original:

<!ELEMENT ul  (li+) >

<!ATTLIST ul
               id  ID    #IMPLIED
               list-style (bullet | dash | none)  "bullet"
               compact (compact)   #IMPLIED  >
 -->
	<xs:element name="ul">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="li" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="list-style" default="dash">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="dash"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<!--
A reference to a figure. May be in PatXML files.
For discussion with contractor ?**

Example:"...as shown in <figref idref='f0001'>Fig.1</figref>..."

Original:

<!ELEMENT figref  (#PCDATA | b | i | u | o | sup | sub | smallcaps)* >

<!ATTLIST figref
               idref  IDREFS    #IMPLIED
               num  CDATA    #IMPLIED  >
-->
	<xs:element name="figref">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="b"/>
				<xs:element ref="sup"/>
				<xs:element ref="sub"/>
			</xs:choice>
			<xs:attribute name="idref" type="xs:IDREFS"/>
			<xs:attribute name="num" type="num"/>
		</xs:complexType>
	</xs:element>
	<!--Image is used for any kind of image: drawings, art work,
figures, complex work units (math, tables, chemistry), etc.

Original:
<!ELEMENT img   EMPTY  >

<!ATTLIST img
               id  		ID    	#IMPLIED
               file  		CDATA 	#REQUIRED
               wi  		CDATA 	#REQUIRED
               he  		CDATA 	#REQUIRED
               img-content (drawing | photograph | character | dna | undefined |
               chem | table | math | program-listing | graph | flowchart)  "drawing"
               img-format (jpg | tif | st33 | st35)   #REQUIRED
               orientation (portrait | landscape)  "portrait"
               inline (yes | no)  "no"
               alt  CDATA    #IMPLIED >

-->
	<xs:element name="img" type="img-content"/>
	<!-- define types in order to subtype -->
	<xs:complexType name="img-content">
		<xs:attribute name="id" type="imgid" use="required"/>
		<xs:attribute name="he" type="dez_1_300_2f" use="required"/>
		<xs:attribute name="wi" type="dez_1_300_2f" use="required"/>
		<xs:attribute name="file" use="required"/>
		<xs:attribute name="alt"/>
		<xs:attribute name="img-content" default="drawing">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="drawing"/>
					<xs:enumeration value="chem"/>
					<xs:enumeration value="table"/>
					<xs:enumeration value="math"/>
					<xs:enumeration value="graph"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="img-format" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="jpg"/>
					<xs:enumeration value="tif"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="orientation" default="portrait">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="portrait"/>
					<xs:enumeration value="landscape"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="inline" default="no">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="yes"/>
					<xs:enumeration value="no"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<!--
Chemical formulae, ring structures, Markush structures, etc.

Original:

<!ELEMENT chemistry  (img | formula-text | (chem,img?)) >

<!ATTLIST chemistry
               id  ID    #IMPLIED
               num  CDATA    #REQUIRED  >
-->
	<xs:element name="chemistry">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="img"/>
			</xs:sequence>
			<xs:attribute name="id" type="chemistryid"/>
			<xs:attribute name="num" type="num" use="required"/>
		</xs:complexType>
	</xs:element>
	<!--
This is image data or coded according to mathml, version 2

Original:
<!ELEMENT maths  (img | formula-text  | (math,img?)) >

<!ATTLIST maths
               id  	ID    	#IMPLIED
               num  	CDATA 	#REQUIRED  >
-->
	<xs:element name="maths">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="img"/>
			</xs:sequence>
			<xs:attribute name="id" type="mathsid"/>
			<xs:attribute name="num" type="num" use="required"/>
		</xs:complexType>
	</xs:element>
	<!--
List Item

Original:
<!ELEMENT li  (#PCDATA | b | i | u | o | sup | sub | smallcaps | br | pre | patcit |
               nplcit | bio-deposit | crossref | figref | img | dl | ul | ol |
               chemistry | maths)* >

<!ATTLIST li
               id  ID    #IMPLIED
               num  CDATA    #IMPLIED  >
-->
	<xs:element name="li">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="b"/>
				<xs:element ref="sup"/>
				<xs:element ref="sub"/>
				<xs:element ref="br"/>
				<xs:element ref="figref"/>
				<xs:element ref="img"/>
				<xs:element ref="chemistry"/>
				<xs:element ref="maths"/>
			</xs:choice>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="num" type="num"/>
		</xs:complexType>
	</xs:element>
	<!--
Superscripted text 2nd level

Original:
<!ELEMENT sup2  (#PCDATA | b | u |o | i)* >
-->
	<xs:element name="sup2">
		<xs:complexType mixed="true">
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="b"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--
Subscripted text 2nd level

Original:
<!ELEMENT sub2  (#PCDATA | b | u | o | i)* >
-->
	<xs:element name="sub2">
		<xs:complexType mixed="true">
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="b"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--
Term to be defined

Original:
<!ELEMENT dt  (#PCDATA | b | i | u | o | sup | sub | smallcaps)* >

<!ATTLIST dt
               id  ID    #IMPLIED  >

-->
	<xs:element name="dt">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="b"/>
				<xs:element ref="sup"/>
				<xs:element ref="sub"/>
			</xs:choice>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<!--
Definition description

Original:
<!ELEMENT dd  (#PCDATA | b | i | u | o | sup | sub | smallcaps | br | pre | patcit |
               nplcit | bio-deposit | crossref | figref | img | ul | ol | chemistry |
               maths)* >
-->
	<xs:element name="dd">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="b"/>
				<xs:element ref="sup"/>
				<xs:element ref="sub"/>
				<xs:element ref="br"/>
				<xs:element ref="figref"/>
				<xs:element ref="img"/>
				<xs:element ref="chemistry"/>
				<xs:element ref="maths"/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<!--TODO bis hier!-->
	<!--Original
<!ELEMENT srep-fee-1   EMPTY  >
-->
	<xs:element name="srep-fee-1"/>
	<!--Original
<!ELEMENT srep-fee-2   EMPTY  >
-->
	<xs:element name="srep-fee-2"/>
	<!--Original
<!ELEMENT srep-fee-3   EMPTY  >
-->
	<xs:element name="srep-fee-3">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="claim-num"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT srep-fee-4   EMPTY  >
-->
	<xs:element name="srep-fee-4">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="claim-num"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT patcit  (text | (document-id,rel-passage*)) >

<!ATTLIST patcit
               id  ID    #IMPLIED
               num  CDATA    #IMPLIED
               dnum  CDATA    #IMPLIED
               dnum-type  CDATA    #IMPLIED
               file  CDATA    #IMPLIED
               url  CDATA    #IMPLIED  >
-->
	<xs:element name="patcit">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="document-id"/>
				<xs:element ref="rel-passage" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="dnum" type="xs:string"/>
			<xs:attribute name="url" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT nplcit  ((text | article | book | online | othercit), rel-passage*)  >

<!ATTLIST nplcit
               id  ID    #IMPLIED
               num  CDATA    #IMPLIED
               lang  CDATA    #IMPLIED
               file  CDATA    #IMPLIED
               npl-type  CDATA    #IMPLIED
               medium  CDATA    #IMPLIED
               url  CDATA    #IMPLIED  >
-->
	<xs:element name="nplcit">
		<xs:complexType>
      <xs:sequence>
        <xs:choice>
				  <xs:element ref="text"/>
				  <xs:element name="article" type="articleType"/>
				  <xs:element name="online" type="onlineType"/>
				  <xs:element name="book" type="bookType"/>
        </xs:choice>
        <xs:element ref="rel-passage" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="num" type="xs:string"/>
			<xs:attribute name="lang" type="xs:language"/>
			<xs:attribute name="file" type="xs:string"/>
			<xs:attribute name="npl-type" type="xs:string"/>
			<xs:attribute name="medium" type="xs:string"/>
			<xs:attribute name="url" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="articleType">
		<xs:choice>
			<xs:element name="text" type="textType"/>
			<xs:sequence>
				<xs:element name="author" type="authorType" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="atl" type="atlType" minOccurs="0"/>
				<xs:choice>
					<xs:element name="serial" type="serialType"/>
				</xs:choice>
				<xs:element name="location" type="locationType" minOccurs="0"/>
				<xs:element name="refno" type="refnoType" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="textType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="authorType">
		<xs:choice>
			<xs:group ref="nameGroup"/>
		</xs:choice>
		<xs:attribute name="id" type="xs:ID"/>
	</xs:complexType>
	<xs:group name="nameGroup" id="nameGroup">
		<xs:sequence>
			<xs:choice>
				<xs:element name="name" type="nameType"/>
			</xs:choice>
		</xs:sequence>
	</xs:group>
	<xs:complexType name="nameType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="name-type">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="legal"/>
							<xs:enumeration value="natural"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="atlType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="serialType">
		<xs:sequence>
			<xs:element name="sertitle" type="sertitleType"/>
			<xs:element name="alttitle" type="alttitleType" minOccurs="0"/>
			<xs:element name="subname" type="subnameType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="pubdate" type="pubdateType" minOccurs="0"/>
			<xs:element name="vid" type="vidType" minOccurs="0"/>
			<xs:element name="ino" type="inoType" minOccurs="0"/>
			<xs:element name="doi" type="xs:string" minOccurs="0"/>
			<xs:element name="issn" type="issnType" minOccurs="0"/>
			<xs:element name="isbn" type="isbnType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="sertitleType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="alttitleType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="subnameType">
		<xs:choice>
			<xs:group ref="nameGroup"/>
		</xs:choice>
		<xs:attribute name="subname-type" default="editor">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="editor"/>
					<xs:enumeration value="translator"/>
					<xs:enumeration value="other-subname-type"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="pubdateType" mixed="true">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="sdate" type="sdateType"/>
			<xs:element name="edate" type="edateType"/>
			<xs:element name="time" type="timeType"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="sdateType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="edateType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="timeType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="vidType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="pubidType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="notesType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="descripType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="inoType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="isbnType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="issnType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="refnoType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="id" type="xs:ID"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="locationType">
		<xs:choice>
			<xs:element ref="text"/>
			<xs:sequence>
				<xs:element name="pp" type="ppType" minOccurs="0"/>
			</xs:sequence>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="ppType" mixed="true">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="ppf" type="ppfType"/>
			<xs:element name="ppl" type="pplType"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="pplType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="ppfType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="onlineType">
		<xs:choice>
			<xs:element name="text" type="textType"/>
			<xs:sequence>
				<xs:element name="author" type="authorType" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="online-title" type="online-titleType" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="hosttitle" type="hosttitleType" minOccurs="0"/>
				<xs:element name="subname" type="subnameType" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="pubdate" type="pubdateType" minOccurs="0"/>
				<xs:element name="vid" type="vidType" minOccurs="0"/>
				<xs:element name="ino" type="inoType" minOccurs="0"/>
				<xs:element name="hostno" type="hostnoType" minOccurs="0"/>
				<xs:element name="location" type="locationType" minOccurs="0"/>
				<xs:element name="avail" type="availType"/>
				<xs:element name="issn" type="issnType" minOccurs="0"/>
				<xs:element name="srchdate" type="srchdateType" minOccurs="0"/>
				<xs:element name="refno" type="refnoType" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="online-titleType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="hosttitleType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="srchdateType">
		<xs:sequence>
			<xs:element name="date" type="ICE-date-type"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="ICE-date-type">
		<xs:restriction base="xs:nonNegativeInteger"/>
	</xs:simpleType>
	<xs:complexType name="availType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="hostnoType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="bookType">
		<xs:choice>
			<xs:element name="text" type="textType"/>
			<xs:sequence>
				<xs:element name="author" type="authorType" minOccurs="0" maxOccurs="unbounded"/>
				<xs:choice>
					<xs:element name="book-title" type="book-titleType" maxOccurs="unbounded"/>
				</xs:choice>
				<xs:sequence>
					<xs:element name="subname" type="subnameType" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="imprint" type="imprintType" minOccurs="0"/>
					<xs:element name="vid" type="vidType" minOccurs="0"/>
					<xs:element name="location" type="locationType" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="isbn" type="isbnType" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:sequence>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="book-titleType">
		<xs:simpleContent>
			<xs:extension base="xs:string"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="imprintType">
		<xs:choice>
			<xs:element name="text" type="textType"/>
			<xs:sequence>
				<xs:element name="pubdate" type="pubdateType" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:choice>
	</xs:complexType>
	<!--Original
<!ELEMENT rel-passage  (text | (passage+,(category,rel-claims?)*)) >
-->
	<xs:element name="rel-passage">
		<xs:complexType>
			<xs:choice>
				<xs:element ref="text"/>
				<xs:sequence>
					<xs:element ref="passage" maxOccurs="unbounded"/>
					<xs:sequence minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="category"/>
						<xs:element ref="rel-claims" minOccurs="0"/>
					</xs:sequence>
				</xs:sequence>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT category  (#PCDATA) >
-->
	<xs:element name="category" type="xs:string"/>
	<!--Original
<!ELEMENT rel-claims  (#PCDATA) >
-->
	<xs:element name="rel-claims" type="xs:string"/>
	<!--Original
<!ELEMENT corresponding-docs  ((patcit | nplcit),(rel-passage*,category*,
               rel-claims*)*) >
-->
	<xs:element name="corresponding-docs">
		<xs:complexType>
			<xs:sequence>
        <xs:choice>
          <xs:sequence>
            <xs:element ref="patcit"/>
            <xs:element ref="nplcit" minOccurs="0"/>
          </xs:sequence>
          <xs:sequence>
            <xs:element ref="nplcit"/>
          </xs:sequence>
        </xs:choice>
				<xs:sequence minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="rel-passage" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="category" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="rel-claims" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT claims-searched  (#PCDATA) >
-->
	<xs:element name="claims-searched" type="xs:string"/>
	<!--Original
<!ELEMENT claims-searched-incompletely  (#PCDATA) >
-->
	<xs:element name="claims-searched-incompletely" type="xs:string"/>
	<!--Original
<!ELEMENT claims-not-searched  (#PCDATA) >
-->
	<xs:element name="claims-not-searched" type="xs:string"/>
	<!--Original
<!ELEMENT reason-limited-search  (heading?,p+) >
-->
	<xs:element name="reason-limited-search">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="heading" minOccurs="0"/>
				<xs:element ref="p" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT addressbook  ((%name_group;,address,phone*,fax*,email*,url*,ead*,dtext?) |
               text) >

<!ATTLIST addressbook
               id  ID    #IMPLIED
               lang  CDATA    #IMPLIED  >
-->
	<xs:element name="addressbook">
		<xs:complexType>
			<xs:sequence>
				<xs:group ref="name_group"/>
				<xs:element ref="address"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT primary-examiner  (%name_group;,electronic-signature?) >
-->
	<xs:element name="primary-examiner">
		<xs:complexType>
			<xs:sequence>
				<xs:group ref="name_group"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT priority-application  (document-id) >
-->
	<xs:element name="priority-application">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="document-id"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT family-member  (document-id) >
-->
	<xs:element name="family-member">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="document-id"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT abst-problem  (p+) >

<!ATTLIST abst-problem
               id  ID    #IMPLIED  >
-->
	<xs:element name="abst-problem">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="p" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT abst-solution  (p+) >

<!ATTLIST abst-solution
               id  ID    #IMPLIED  >
-->
	<xs:element name="abst-solution">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="p" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<!--
The number of the figure which should accompany the abstract.

Original
<!ELEMENT fig-number  (#PCDATA) >
-->
	<xs:element name="fig-number" type="xs:integer"/>
	<!--Original
<!ELEMENT passage  (#PCDATA) >
-->
	<xs:element name="passage" type="xs:string"/>
	<!--Original
<!ELEMENT heading  (#PCDATA | b | i | u | o | sup | sub | smallcaps)* >

<!ATTLIST heading
		id  ID    #IMPLIED
		level (1 | 2 | 3)   #IMPLIED >
-->
	<xs:element name="heading">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="b"/>
				<xs:element ref="sup"/>
				<xs:element ref="sub"/>
			</xs:choice>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<!--Original
<!ELEMENT address-1  (#PCDATA) >
-->
	<xs:element name="address-1" type="xs:string"/>
	<!--Original
<!ELEMENT address-2  (#PCDATA) >
-->
	<xs:element name="address-2" type="xs:string"/>
	<!--Original
<!ELEMENT address-3  (#PCDATA) >
-->
	<xs:element name="address-3" type="xs:string"/>
	<!--Original
<!ELEMENT city  (#PCDATA) >
-->
	<xs:element name="city" type="xs:string"/>
	<!--Original
<!ELEMENT street  (#PCDATA) >
-->
	<xs:element name="street" type="xs:string"/>
	<!--Original
<!ELEMENT postcode  (#PCDATA) >
-->
	<xs:element name="postcode" type="xs:string"/>
	<!--Original
<!ELEMENT name  (#PCDATA) >
-->
	<xs:element name="name" type="xs:string"/>
	<!--Original
<!ELEMENT address  %address_group; >
-->
	<xs:element name="address" type="address_group"/>
	<!--Original
<!ELEMENT claim-num  (#PCDATA) >
-->
	<xs:element name="claim-num" type="xs:string"/>
</xs:schema>
