<!-- ## DTD for WIPO classification datasets ## -->
<!--       This file is: ipctraining.dtd        -->

<!-- records is the root element -->
<!ELEMENT records (record+)>

<!-- a record contains information about a single patent or patent application 
     prs:	collection of priority numbers
     ins:	collection of inventors
     pas:	collection of applicants
     ipcs:	collection of IPC codes
     uscs:	collection of US codes
     tis:	collection of titles in several languages
     abs:	collection of abstracts in several languages
     cls:	collection of claims in several languages
     txts:	collection of full-text versions in several languages
 -->
<!ELEMENT record (prs?, ipcs, uscs?, ins, pas, tis, abs?, cls?, txts?)>

<!-- the attributes of a record are:
     cy:	country of origin
     an:	applicant number
     date:	application date
     pn:	publication number
     dnum:	document number
     kind:	publication type
-->
<!ATTLIST record
	cy	   CDATA   	#REQUIRED
	an	   CDATA   	#REQUIRED
	date	   CDATA        #IMPLIED
	pn	   CDATA   	#REQUIRED
	dnum       CDATA   	#REQUIRED
	kind       CDATA   	#REQUIRED
>

<!-- pr:	contains a priority number in a prn attribute -->
<!ELEMENT prs (pr*)>
<!ELEMENT pr EMPTY>
<!ATTLIST pr
	prn	  CDATA    	#REQUIRED
>

<!-- ipcs:	contains the IPC codes 
     mc:	main IPC classification
     ed:	version of the IPC used 
     ipc:	contains additional IPC codes
     ic:	supplementary IPC codes -->
<!ELEMENT ipcs (ipc*)>
<!ATTLIST ipcs
	ed	CDATA      	#REQUIRED
	mc	CDATA       	#REQUIRED
>
<!ELEMENT ipc EMPTY>
<!ATTLIST ipc
	ic	CDATA      	#REQUIRED
>

<!-- uscs: 	contains the US patent classification codes 
     mc:	main US classification 
     usc:	additional US codes
     type:	type of additional US code 
     uc:	value of additional US code -->
<!ELEMENT uscs (usc+)>
<!ATTLIST uscs
	mc	CDATA      	#REQUIRED
>
<!ELEMENT usc EMPTY>
<!ATTLIST usc
	type	CDATA		#REQUIRED
	uc	CDATA		#REQUIRED
>

<!-- in: contains the name of an inventor -->
<!ELEMENT ins (in+)>
<!ELEMENT in (#PCDATA)>

<!-- pa: contains the name of an applicant company -->
<!ELEMENT pas (pa+)>
<!ELEMENT pa (#PCDATA)>

<!-- ti: contains a title with language indicated in xml:lang attribute -->
<!ELEMENT tis (ti+)>
<!ELEMENT ti (#PCDATA)>
<!ATTLIST ti
	xml:lang	CDATA 	#REQUIRED
>

<!-- ab: contains an abstract with language indicated in xml:lang attribute -->
<!ELEMENT abs (ab+)>
<!ELEMENT ab (#PCDATA)>
<!ATTLIST ab
	xml:lang	CDATA 	#REQUIRED
>

<!-- cl: contains the claims section with language indicated in xml:lang attribute -->
<!ELEMENT cls (cl+)>
<!ELEMENT cl (#PCDATA)>
<!ATTLIST cl
	xml:lang	CDATA 	#REQUIRED
>

<!-- txt: contains the full-text description with language indicated in xml:lang attribute -->
<!ELEMENT txts (txt+)>
<!ELEMENT txt (#PCDATA)>
<!ATTLIST txt
	xml:lang	CDATA 	#REQUIRED
>
