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