IESR: XML DTD

Below is a copy of the XML Document Type Definition (DTD) for a single IESR Record as output from the IE Service Registry.

The actual DTD is available, as are other DTDs for parts of the IESR application. [When accessing these DTDs the 'page' may appear almost blank in a web browser - 'view source' to see DTD.]



<!--<!DOCTYPE iesrDescription [ -->

<!-- SYSTEM "iesrDescription.dtd"                                       -->

<!-- NOTE: This version for composite data records supplied external    -->
<!--       to IESR                                                      -->

<!--<Title>IESR Metadata Record XML DTD                                 -->
<!--<Creator>Ann Apps                                                   -->
<!--<Affiliation>MIMAS, Manchester Computing, University of Manchester  -->
<!--<Description>XML DTD for IESR metadata records                      -->
<!--<Date>2008-01-07                                                    -->
<!--<Type>XML DTD                                                       -->
<!--<Format>text/xml                                                    -->
<!--<Identifier>iesrDescription.dtd                                     -->
<!--<Language>en                                                        -->
<!--<Rights>http://creativecommons.org/licenses/by-nc-sa/2.0/uk/        -->
<!--<Version>2007-12-20                                                 -->

<!-- DTD Change History  
<!-- Version 2009-05-08                                                 -->
<!--    Changes for version 2009-05-08 of metadata                                                  -->
<!-- Version 2007-12-20                                                 -->
<!--    Changes for version 2007-12-20 of metadata                      -->
<!-- Version 2007-02-22                                                 -->
<!--    Changes for version 2007-02-19 of metadata                      -->
<!-- Version 2.1, 2005-02-02                                            -->
<!--    Added inverse links: serves, owns, administers                  -->
<!--    Moved admeta outside entity wrapper                             -->
<!--    Added publisher to admeta                                       -->
<!--    Removed contributor, created, language from admeta              -->
<!-- Version 2.0, 2004-07-01                                            -->
<!--    Changes for version 2 of metadata                               -->
<!-- Version 1.0, 2003-11-24                                            -->

<!ENTITY % ISOlat1 SYSTEM "/home/zzieradm/XML/ENTS/xmlents/iso-lat1.ent">
%ISOlat1;
<!ENTITY % ISOnum SYSTEM "/home/zzieradm/XML/ENTS/xmlents/iso-num.ent">
%ISOnum;

<!-- Namespaces for DC, RSLPCD, and IESR Application Profile -->
<!ENTITY dcns 'http://purl.org/dc/elements/1.1/'>
<!ENTITY dctns 'http://purl.org/dc/terms/'>
<!ENTITY dctyns 'http://purl.org/dc/dcmitype/'>
<!ENTITY cdns 'http://purl.org/rslp/terms#'>
<!ENTITY iesrns 'http://iesr.ac.uk/terms/#'>
<!ENTITY xmlnsdef 'http://iesr.ac.uk/'>
<!ENTITY xsins 'http://www.w3.org/2001/XMLSchema-instance'>
<!ENTITY iesrxsi 'http://iesr.ac.uk/schemas/2005/09/06/iesr.xsd'>
<!ENTITY % dcnsdecln 'xmlns:dc CDATA #FIXED "&dcns;"'>
<!ENTITY % dctnsdecln 'xmlns:dcterms CDATA #FIXED "&dctns;"'>
<!ENTITY % dctynsdecln 'xmlns:dcmitype CDATA #FIXED "&dctyns;"'>
<!ENTITY % cdnsdecln 'xmlns:rslpcd CDATA #FIXED "&cdns;"'>
<!ENTITY % iesrnsdecln 'xmlns:iesr CDATA #FIXED "&iesrns;"'>
<!ENTITY % xmlnsnsdecln 'xmlns CDATA #FIXED "&xmlnsdef;"'>
<!ENTITY % xsinsdecln 'xmlns:xsi CDATA #FIXED "&xsins;"'>
<!ENTITY % iesrxsidecln 'xsi:schemaLocation CDATA #FIXED "&xmlnsdef &iesrxsi;"'>

<!-- iesrDescription -->
<!ELEMENT iesrDescription		(iesr:Collection | iesr:Service 
					| iesr:Agent | iesr:admeta)*
>
<!ATTLIST iesrDescription	%dcnsdecln;
				%dctnsdecln;
				%dctynsdecln;
				%cdnsdecln;
				%iesrnsdecln;
				%xmlnsnsdecln;
				%xsinsdecln;
				%iesrxsidecln;
>		

<!-- Collection -->
<!-- Note: mandatory elements not defined here because ordering not defined -->
<!--    will be checked on data entry -->
<!-- Required, one only: dc:title, dc:identifier, iesr:admeta -->
<!-- Required, multiple (+): iesr:hasService, dc:subject -->
<!-- Optional, one only (?): dcterms:abstract, dc:rights, -->
<!--    dcterms:accessRights/AccessList, iesr:logo -->
<!-- Remaining elements are optional and may be multiple (*) -->
<!ELEMENT iesr:Collection	(dc:title | dcterms:alternative | dc:identifier
				| dcterms:abstract | dc:type | dcterms:extent
				| iesr:itemType | iesr:itemFormat 
				| dc:language | dc:rights | iesr:useRights
				| dcterms:accessRights | iesr:hasService
				| iesr:logo | dc:subject | dcterms:spatial
				| dcterms:temporal | rslpcd:contentsDateRange
				| iesr:usesControlledList
				| dcterms:educationLevel | rslpcd:owner
				| iesr:madeAvailableBy | dcterms:isPartOf
				| rslpcd:hasAssociation
				| dcterms:isReferencedBy | rslpcd:seeAlso)*
>
<!ATTLIST iesr:Collection	iesr:id ID #REQUIRED
>

<!-- Service -->
<!-- Note: mandatory elements not defined here because ordering not defined -->
<!--    will be checked on data entry -->
<!-- Required, one only: dc:title, rslpcd:locator, -->
<!--    dc:type/AccMthdList, iesr:admeta -->
<!-- Required, multiple: dc:identifier, dcterms:accessRights/AuthList, -->
<!--    rslpcd:administrator -->
<!-- Optional, one only (?): dcterms:abstract, iesr:logo -->
<!-- Remaining elements are optional and may be multiple (*) -->
<!-- iesr:output now deprecated -->
<!ELEMENT iesr:Service	(dc:title | dc:identifier | dcterms:abstract
				| rslpcd:locator | iesr:interface | dc:type
				| dc:language | iesr:useRights | iesr:mediator 
				| iesr:output | dcterms:accessRights
				| iesr:supportsStandard | rslpcd:seeAlso
				| iesr:logo | dcterms:alternative
				| rslpcd:administrator | iesr:serves |iesr:libraryManagementSystem)*
>
<!ATTLIST iesr:Service	iesr:id ID #REQUIRED
>

<!-- Agent -->
<!-- Note: mandatory elements not defined here because ordering not defined -->
<!--    will be checked on data entry -->
<!-- Required, one only: dc:title, iesr:email, iesr:admeta -->
<!-- Required, multiple (+): dc:identifier -->
<!-- Optional, one only (?): dc:description, iesr:phone, dc:relation, -->
<!--    iesr:logo iesr:address, iesr:postcode, iesr:country -->
<!-- Remaining elements are optional and may be multiple (*) -->
<!ELEMENT iesr:Agent		(dc:identifier | dc:title
				| dc:description | iesr:phone | iesr:email
				| dc:relation | iesr:logo | iesr:owns
				| iesr:address | iesr:postcode | iesr:country
				| rslpcd:seeAlso | iesr:administers)*
>
<!ATTLIST iesr:Agent	iesr:id ID #REQUIRED
>

<!-- admeta -->
<!-- Administrative Metadata -->
<!-- Note: mandatory elements not defined here because ordering not defined -->
<!--    will be checked on data entry -->
<!-- Required, one only (added by IESR): dcterms:modified, dc:rights -->
<!-- Optional, one only (?): dc:language -->
<!-- Required, one only : iesr:status -->
<!-- Optional, one only (?): dc:source -->
<!-- Remaining elements are optional and may be multiple (*) -->
<!ELEMENT iesr:admeta		(dc:creator | dcterms:modified | dc:source
				| iesr:status | dc:publisher | dc:rights)*
>
<!ATTLIST iesr:admeta	iesr:about IDREF #REQUIRED
>

<!-- title -->
<!-- Title of Collection or Service, or name of Agent -->
<!ELEMENT dc:title		(#PCDATA)
>
<!ATTLIST dc:title		xml:lang CDATA #IMPLIED
>

<!-- alternative -->
<!-- Alternative title of Collection -->
<!ELEMENT dcterms:alternative	(#PCDATA)
>
<!ATTLIST dcterms:alternative	xml:lang CDATA #IMPLIED
>

<!-- identifier -->
<!-- Identifier of Collection, Service or Agent -->
<!ELEMENT dc:identifier		(#PCDATA)
>
<!ATTLIST dc:identifier		xsi:type (iesr:AthensResource | iesr:AthensInst | iesr:ShibbolethIdPScope
				| dcterms:URI) "dcterms:URI"
>

<!-- description -->
<!-- Description of Agent -->
<!ELEMENT dc:description	(#PCDATA)
>
<!ATTLIST dc:description	xml:lang CDATA #IMPLIED
>

<!-- abstract -->
<!-- Description of Collection or Service -->
<!ELEMENT dcterms:abstract	(#PCDATA)
>
<!ATTLIST dcterms:abstract	xml:lang CDATA #IMPLIED
>

<!-- type -->
<!-- Type of Collection or Service; Access Method of Service -->
<!ELEMENT dc:type		(#PCDATA)
>
<!ATTLIST dc:type		xsi:type (dcterms:DCMIType
				| iesr:CollTypeList 
				| iesr:AccMthdList | iesr:SvcTypeList)
					"dcterms:DCMIType" 
>

<!-- itemType -->
<!-- Type of Collection item -->
<!ELEMENT iesr:itemType		(#PCDATA)
>
<!ATTLIST iesr:itemType		xsi:type (dcterms:DCMIType | iesr:ItemTypeList)
					"dcterms:DCMIType" 
>

<!-- extent -->
<!-- Size of Collection -->
<!ELEMENT dcterms:extent	(#PCDATA)
>
<!ATTLIST dcterms:extent	xml:lang CDATA #IMPLIED
>

<!-- itemFormat -->
<!-- Format of Collection item -->
<!ELEMENT iesr:itemFormat	(#PCDATA)
>
<!ATTLIST iesr:itemFormat	xsi:type CDATA #FIXED "dcterms:IMT" 
>

<!-- language -->
<!-- Langauge of Collection or Service -->
<!ELEMENT dc:language		(#PCDATA)
>
<!ATTLIST dc:language		xsi:type CDATA #FIXED "dcterms:RFC3066"
>

<!-- rights -->
<!-- Copyright of Collection; rights of metadata -->
<!ELEMENT dc:rights		(#PCDATA)
>
<!-- xml:lang optional for Collection copyright -->
<!-- xsi:type=dcterms:URI required for metadata -->
<!ATTLIST dc:rights		xml:lang CDATA #IMPLIED
				xsi:type CDATA #IMPLIED
>

<!-- useRights -->
<!-- Use rights of collection or service -->
<!ELEMENT iesr:useRights	(#PCDATA)
>
<!ATTLIST iesr:useRights	xml:lang CDATA #IMPLIED
				xsi:type CDATA #IMPLIED
>

<!-- accessRights -->
<!-- Licence for collection; authentication type or domain for service -->
<!ELEMENT dcterms:accessRights	(#PCDATA)
>
<!ATTLIST dcterms:accessRights	xsi:type CDATA #IMPLIED 
				xml:lang CDATA #IMPLIED
>

<!-- hasService -->
<!-- Link from collection to service -->
<!ELEMENT iesr:hasService	(#PCDATA)
>
<!ATTLIST iesr:hasService	xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- logo -->
<!-- Logo for collection, service or agent -->
<!ELEMENT iesr:logo		(#PCDATA)
>
<!ATTLIST iesr:logo		xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- subject -->
<!-- Subject of collection -->
<!ELEMENT dc:subject		(#PCDATA)
>
<!-- Allowed encoding schemes are defined in the application profile vocabularies -->
<!-- Subject without an encoding scheme may be used for a local keyword -->
<!ATTLIST dc:subject		xml:lang CDATA #IMPLIED
				xsi:type CDATA #IMPLIED
>

<!-- spatial -->
<!-- Spatial coverage of collection -->
<!-- Allowed encoding schemes are defined in the application profile vocabularies -->
<!ELEMENT dcterms:spatial	(#PCDATA)
>
<!ATTLIST dcterms:spatial	xsi:type CDATA #REQUIRED
>

<!-- temporal -->
<!-- Temporal coverage of intellectual content of collection -->
<!-- Date range: 'date'/'date' -->
<!ELEMENT dcterms:temporal	(#PCDATA)
>
<!ATTLIST dcterms:temporal	xsi:type CDATA #FIXED "dcterms:W3CDTF"
>

<!-- contentsDateRange -->
<!-- Date range of collection items -->
<!-- Date range: 'date'/'date' -->
<!ELEMENT rslpcd:contentsDateRange  (#PCDATA)
>
<!ATTLIST rslpcd:contentsDateRange  xsi:type CDATA #FIXED "dcterms:W3CDTF"
>

<!-- usesControlledList -->
<!-- Vocabulary used by collection -->
<!ELEMENT iesr:usesControlledList  (#PCDATA)
>
<!ATTLIST iesr:usesControlledList  xsi:type CDATA #FIXED "iesr:CtrldVocabsList"
>

<!-- educationLevel -->
<!-- Education level applicable to collection -->
<!ELEMENT dcterms:educationLevel  (#PCDATA)
>
<!ATTLIST dcterms:educationLevel  xsi:type CDATA #IMPLIED
>

<!-- owner -->
<!-- Identifier of owner agent -->
<!ELEMENT rslpcd:owner		(#PCDATA)
>
<!ATTLIST rslpcd:owner		xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- madeAvailableBy -->
<!-- Organisation that makes Collection available -->
<!ELEMENT iesr:madeAvailableBy  (#PCDATA)
>
<!ATTLIST iesr:madeAvailableBy  xsi:type CDATA #IMPLIED
>

<!-- isPartOf -->
<!-- Containing collection -->
<!ELEMENT dcterms:isPartOf	(#PCDATA)
>
<!ATTLIST dcterms:isPartOf	xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- hasAssociation -->
<!-- Associated collection -->
<!ELEMENT rslpcd:hasAssociation  (#PCDATA)
>
<!ATTLIST rslpcd:hasAssociation  xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- isReferencedBy -->
<!-- Publication about collection -->
<!ELEMENT dcterms:isReferencedBy (#PCDATA)
>
<!ATTLIST dcterms:isReferencedBy xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- locator -->
<!-- Access point for service -->
<!ELEMENT rslpcd:locator	(#PCDATA)
>
<!ATTLIST rslpcd:locator	xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- interface -->
<!-- Access point for service -->
<!ELEMENT iesr:interface	(#PCDATA)
>
<!ATTLIST iesr:interface	xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- output -->
<!-- Output format from service -->
<!-- Deprecated -->
<!ELEMENT iesr:output		(#PCDATA)
>
<!ATTLIST iesr:output		xsi:type CDATA #IMPLIED
>

<!-- mediator -->
<!-- Mediator service -->
<!ELEMENT iesr:mediator		(#PCDATA)
>
<!ATTLIST iesr:mediator		xsi:type CDATA #IMPLIED
>

<!-- supportsStandard -->
<!-- Standards and profiles supported by service -->
<!ELEMENT iesr:supportsStandard	(#PCDATA)
>
<!ATTLIST iesr:supportsStandard	xsi:type CDATA #FIXED "iesr:StdsList"
>

<!-- seeAlso -->
<!-- More information for service or agent -->
<!ELEMENT rslpcd:seeAlso	(#PCDATA)
>
<!ATTLIST rslpcd:seeAlso	xsi:type CDATA #IMPLIED
>

<!-- administrator -->
<!-- Identifier of service administrator agent -->
<!ELEMENT rslpcd:administrator	(#PCDATA)
>
<!ATTLIST rslpcd:administrator	xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- serves -->
<!-- Identifier of Collection served -->
<!ELEMENT iesr:serves	(#PCDATA)
>
<!ATTLIST iesr:serves	xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- libraryManagementSystem -->
<!-- LMSr of Service served -->
<!ELEMENT iesr:libraryManagementSystem	(#PCDATA)
>
<!ATTLIST iesr:libraryManagementSystem	xml:lang CDATA #IMPLIED
>


<!-- phone -->
<!-- Phone number of agent -->
<!ELEMENT iesr:phone		(#PCDATA)
>

<!-- email -->
<!-- Email address of agent -->
<!ELEMENT iesr:email		(#PCDATA)
>

<!-- address -->
<!-- Address of agent -->
<!ELEMENT iesr:address		(#PCDATA)
>

<!-- postcode -->
<!-- Postcode of agent -->
<!ELEMENT iesr:postcode		(#PCDATA)
>

<!-- country -->
<!-- Country of agent -->
<!ELEMENT iesr:country		(#PCDATA)
>
<!ATTLIST iesr:country		xsi:type CDATA #FIXED "dcterms:ISO3166"
>

<!-- relation -->
<!-- URL for agent -->
<!ELEMENT dc:relation		(#PCDATA)
>
<!ATTLIST dc:relation		xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- owns -->
<!-- Identifier of Collection owned -->
<!ELEMENT iesr:owns	(#PCDATA)
>
<!ATTLIST iesr:owns	xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- administers -->
<!-- Identifier of Service administered -->
<!ELEMENT iesr:administers	(#PCDATA)
>
<!ATTLIST iesr:administers	xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- creator -->
<!-- Creator of metadata record -->
<!ELEMENT dc:creator		(#PCDATA)
>

<!-- publisher -->
<!-- Publisher of metadata record -->
<!ELEMENT dc:publisher		(#PCDATA)
>

<!-- modified -->
<!-- Date metadata record updated within IESR-->
<!ELEMENT dcterms:modified	(#PCDATA)
>
<!ATTLIST dcterms:modified	xsi:type CDATA #FIXED "dcterms:W3CDTF"
>

<!-- source -->
<!-- Source record for metadata -->
<!ELEMENT dc:source		(#PCDATA)
>
<!ATTLIST dc:source		xsi:type CDATA #FIXED "dcterms:URI"
>

<!-- status -->
<!-- Currency status of metadata -->
<!ELEMENT iesr:status		(#PCDATA)
>
<!ATTLIST iesr:status		xsi:type CDATA #FIXED "iesr:StatusList"
>

<!--]>-->



17 October 2008, ann.apps@manchester.ac.uk          [Valid XHTML 1.0!]