OpenDOAR logo Directory of Open Access Repositories
Please note that this version of the OpenDOAR service, including its API, will be switched off mid June 2018.  The new version is available as a public beta at v2.opendoar.sherpa.ac.uk.  Please also refer to our new API documentation.

Application Programmers' Interface (API)

Introduction  |  Technical Manual  |  Code Lists  |  Sample Output  |  XML DTD  |  Version Changes

Appendix G - Document Type Definition (DTD) for XML Output

<?xml version='1.0' encoding='UTF-8' ?>
<!--
 Document Type Definition for OpenDOAR API 1.3 output
 Copyright 2007 SHERPA, University of Nottingham
-->
<!-- <OpenDOAR> is the root element -->
<!ELEMENT OpenDOAR         (copyright,licence,header?,repositories)>
<!ATTLIST OpenDOAR apiVersion CDATA #REQUIRED>
<!ELEMENT copyright        (#PCDATA)>
<!ELEMENT licence          (#PCDATA)>
<!ELEMENT header           (parameters+,numhits?,timestamp,errors*)>
<!ELEMENT parameters       (parameter*)>
<!ELEMENT parameter        (parametername?,parametervalue?)>
<!ELEMENT parametername    (#PCDATA)>
<!ELEMENT parametervalue   (#PCDATA)>
<!ELEMENT numhits          (#PCDATA)>
<!ELEMENT timestamp        (#PCDATA)>
<!ELEMENT errors           (error*)>
<!ELEMENT error            (#PCDATA)>
<!ELEMENT repositories     (repository*)>
<!ELEMENT repository       (rName?,rAcronym?,rNamePreferred?,rUrl,
                            rOaiBaseUrl?,
                            uName?,uAcronym?,uNamePreferred?,uUrl?,
                            oName?,oAcronym?,oNamePreferred?,oUrl?,
                            postalAddress?,country,paLatitude,paLongitude,paPhone?,paFax?,
                            rDescription?,rRemarks?,rNumOfItems?,rDateHarvested?,
                            rYearEstablished?,repositoryType?,operationalStatus?,
                            rSoftWareName?,rSoftWareVersion?,
                            classes*,languages*,contentTypes*,policies*,contacts*)>
<!ATTLIST repository rID    CDATA #REQUIRED>
<!ELEMENT rName             (#PCDATA)>
<!ELEMENT rAcronym          (#PCDATA)>
<!ELEMENT rNamePreferred    (#PCDATA)>
<!ELEMENT rUrl              (#PCDATA)>
<!ELEMENT rOaiBaseUrl       (#PCDATA)>
<!ELEMENT uName             (#PCDATA)>
<!ELEMENT uAcronym          (#PCDATA)>
<!ELEMENT uNamePreferred    (#PCDATA)>
<!ELEMENT uUrl              (#PCDATA)>
<!ELEMENT oName             (#PCDATA)>
<!ELEMENT oAcronym          (#PCDATA)>
<!ELEMENT oNamePreferred    (#PCDATA)>
<!ELEMENT oUrl              (#PCDATA)>
<!ELEMENT postalAddress     (#PCDATA)>
<!ELEMENT country           (cIsoCode,cCountry)>
<!ELEMENT cIsoCode          (#PCDATA)>
<!ELEMENT cCountry          (#PCDATA)>
<!ELEMENT paLatitude        (#PCDATA)>
<!ELEMENT paLongitude       (#PCDATA)>
<!ELEMENT paPhone           (#PCDATA)>
<!ELEMENT paFax             (#PCDATA)>
<!ELEMENT rDescription      (#PCDATA)>
<!ELEMENT rRemarks          (#PCDATA)>
<!ELEMENT rNumOfItems       (#PCDATA)>
<!ELEMENT rDateHarvested    (#PCDATA)>
<!ELEMENT rYearEstablished  (#PCDATA)>
<!ELEMENT repositoryType    (#PCDATA)>
<!ELEMENT operationalStatus (#PCDATA)>
<!ELEMENT rSoftWareName     (#PCDATA)>
<!ELEMENT rSoftWareVersion  (#PCDATA)>
<!ELEMENT classes           (class*)>
<!ELEMENT class             (clCode,clTitle)>
<!ELEMENT clCode            (#PCDATA)>
<!ELEMENT clTitle           (#PCDATA)>
<!ELEMENT languages         (language*)>
<!ELEMENT language          (lIsoCode,lName)>
<!ELEMENT lIsoCode          (#PCDATA)>
<!ELEMENT lName             (#PCDATA)>
<!ELEMENT contentTypes      (contentType*)>
<!ELEMENT contentType       (#PCDATA)>
<!ATTLIST contentType ctID  CDATA #REQUIRED>
<!ELEMENT policies          (policy*)>
<!ELEMENT policy            (policyType,policyGrade,poStandard?)>
<!ELEMENT policyType        (#PCDATA)>
<!ATTLIST policyType potID  CDATA #REQUIRED>
<!ELEMENT policyGrade       (#PCDATA)>
<!ATTLIST policyGrade pogID CDATA #REQUIRED>
<!ELEMENT poStandard        (item+)>
<!ELEMENT item              (#PCDATA|a|subitems)*>
<!ELEMENT a                 (#PCDATA)>
<!ATTLIST a href            CDATA #REQUIRED>
<!ELEMENT subitems          (subitem+)>
<!ELEMENT subitem           (#PCDATA)>
<!ELEMENT contacts          (person*)>
<!ELEMENT person            (pName?,pJobTitle?,pEmail?,pPhone?)>
<!ELEMENT pName             (#PCDATA)>
<!ELEMENT pJobTitle         (#PCDATA)>
<!ELEMENT pEmail            (#PCDATA)>
<!ELEMENT pPhone            (#PCDATA)>

© 2006-2007, University of Nottingham, UK. Last updated: 11-Jan-2010 Privacy