<!-- Diese Datei enthaelt die DTD des DLmeta Datenmodells. -->
<!-- Die DTD wurde am -->
<!-- Zentrum fuer Datenverarbeitung der Universitaet Tuebingen (ZDV) -->
<!-- entwickelt. -->
<!-- Copyright 1999,2000 ZDV -->
<!-- -->
<!-- Die gewerbliche Nutzung ist untersagt. -->
<!-- -->
<!-- Die kostenfreie Nutzung durch staatliche und nicht kommerzielle -->
<!-- Wissenschaftliche-Einrichtungen ist erlaubt und ausdruecklich -->
<!-- erwuenscht. -->
<!-- -->
<!-- Diese DTD basiert auf Arbeiten von: -->
<!-- Annegret Fiebig (1999, ZDV) -->
<!-- Till Haenisch (2000, LOMI) -->
<!-- Christian Aschoff (2000, LOMI) -->
<!-- Heinrich Abele (2000, ZDV) -->
<!-- -->
<!-- Der Basis-Entwurf des konzeptuelle Datenmodells wurde im -->
<!-- Rahmen des Landesprojekt "IBM DB/2 Digital Library" 1998/1999 -->
<!-- erstellt. -->
<!-- Projektpartner: -->
<!-- - Bibliotheks Service Zentrum Konstanz (BSZ) -->
<!-- - Universitaets Bibliothek Karlsruhe (UB Karlsruhe) -->
<!-- - Rechenzentrum der Universitaet Karlsruhe (RZ Karlsruhe) -->
<!-- - Lehrstuhl fuer Organisation und Management von Informations- -->
<!-- systemen der Universitaet Ulm (LOMI Ulm) -->
<!-- - Zentrum fuer Datenverarbeitung der Universitaet Tuebingen -->
<!-- (ZDV Tuebingen) -->
<!-- - IBM Deutschland (Boeblingen) -->
<!-- -->
<!-- -->
<!-- Erstellung: -->
<!-- **************************************************************** -->
<!-- Vollstaendige Ueberarbeitung mit dem Ziel DC-Konformitaet. -->
<!-- Das DL-Datenmodell wurde dabei nicht veraendert! -->
<!-- Wesentliche Aenderungen: -->
<!-- Elementreihenfolge der DC-Dokumentation angepasst. -->
<!-- Date Modellierung geaendert. -->
<!-- DC konforme Namensgebung, mit der Ausnahme ResourceID -->
<!-- Element-Namen-Aenderungen im DL-Objektteil um Namenskonflikte -->
<!-- mit DC-Element-Namen aufzuloesen. -->
<!-- Element Source hinzugefuegt (optional) wg. DC-Konformitaet -->
<!-- Date-Subelement Available hinzugefuegt (optional) wg. DC- -->
<!-- Konformitaet. -->
<!-- -->
<!-- Autor: Heinrich Abele 2000-07-30T02:51:00+01:00 -->
<!-- **************************************************************** -->
<!-- Modifikation: -->
<!-- 2000-08-08 -->
<!-- -->
<!-- Typequalifier URL -->
<!-- Type Attribute Tokens korrigiert -->
<!-- Cardinalitaet Creator 0..n -->
<!-- Cardinalitaet Language 0..n -->
<!-- ResourceID nach Identifier umbenannt -->
<!-- Subelement TOC von Title nach Description -->
<!-- Cardinalitaet Subelement DescriptionShort 0..1 -->
<!-- Cardinalitaet Subelement ValidFrom 0..1 -->
<!-- Cardinalitaet Subelement ValidTo 0..1 -->
<!-- Modellierung Subelement Available wie Valid -->
<!-- -->
<!-- Mitarbeit: Stefan Wolf (BSZ), Thomas Frings (BSZ), -->
<!-- Carina Winter (BSZ), Annabel Feuerstein (BSZ) -->
<!-- -->
<!-- Heinrich Abele (ZDV) 2000-08-09T11:00+01:00 -->
<!-- **************************************************************** -->
<!-- Modifikation: -->
<!-- 2000-08-14 -->
<!-- -->
<!-- Cardinalitaet AvailableTo 0..1 -->
<!-- Aenderung der Modellierung Modified -->
<!-- Neues Element History: History der Metadaten -->
<!-- Neues Subelement Modification des Elements History -->
<!-- Elementnamen unterhalb des Elements DLObjectInstance wurden - -->
<!-- durchgaengig mit dem Prefix DL (DLFile, DLComment ...) - -->
<!-- versehen. -->
<!-- -->
<!-- Christan Aschoff (LOMI) -->
<!-- Till Haenisch (LOMI) -->
<!-- Heinrich Abele (ZDV) 2000-08-14T11:55+01:00 -->
<!-- **************************************************************** -->
<!-- Modifikation: -->
<!-- 2000-09-04 -->
<!-- -->
<!-- bugfix -->
<!-- Cardinalitaet von Modification 1..n -->
<!-- Attribute DateTime REQUIRED -->
<!-- Heinrich Abele (ZDV) 2000-09-04T11:00+01:00 -->
<!-- **************************************************************** -->
<!-- Modifikation: -->
<!-- 2000-09-28 -->
<!-- -->
<!-- Die folgenden Modifikationen und Erweiterungen wurden auf einem -->
<!-- Meeting am 2000-09-28 am BSZ Konstanz vereinbart. -->
<!-- -->
<!-- Die Subelemente von Title (TitleMain, Alternative) werden mit -->
<!-- den optionalen Attributen LanguageScheme und Language erweitert. -->
<!-- Werden diese Attribute nicht explizit gesetzt, wird davon aus- -->
<!-- gegangen, dass die Sprache der genannten Elemente durch das -->
<!-- Element Language festgelegt ist. Fuer das Attribut Language- -->
<!-- Scheme ist ISO639-2 der einzig zulaessige Wert. -->
<!-- -->
<!-- Die Subelemente von Description (DescriptionShort,Abstract,TOC) -->
<!-- werden umbenannt in: (DescriptionMain, Abstract, TOC) -->
<!-- erhalten zusaetzliche LanguageAttribute (s.o) -->
<!-- werden in ihrer Kardinalitaet von 0..1 auf 0..n geaendert. -->
<!-- -->
<!-- Das Element BSZStatus erhaelt als weiteres optinales Attribut -->
<!-- swdid -->
<!-- -->
<!-- Christian Aschoff (LOMI) -->
<!-- Thomas Frings, Thomas Funk, Carina Winter, Stefan Wolf (BSZ) -->
<!-- Heinrich Abele (ZDV) 2000-09-28T21:44+01:00 -->
<!-- **************************************************************** -->
<!-- ================================================================ -->
<!-- Teile der DTD sind separaten Dateien untergebracht. -->
<!-- Diese werden hier in die DTD eingefuegt. -->
<!-- -->
<!-- -->
<!-- externe Definition des Scheme-Attributs fuer das Element -->
<!-- Subject gemaess den Empfehlungen des BSZ -->
<!-- -->
<!ENTITY % DL.SubjectScheme SYSTEM "DLSubjectScheme.ent" >
%DL.SubjectScheme;
<!-- -->
<!-- externe Definition der Attribute des Elements Language. -->
<!-- Empfehlung der DCMI: ISO639-2 -->
<!-- -->
<!ENTITY % DL.Lang639 SYSTEM "DLLang639.ent" >
%DL.Lang639;
<!-- ================================================================ -->
<!-- Definition haeufig verwendeter Attribute oder komplexer -->
<!-- Attribute als ENTITY -->
<!-- -->
<!-- Als Format fuer Datum und Zeit wird entsprechend der Empfehlung -->
<!-- der Dublin Core Metadata Initiative (DCMI) vom 2000-07-11 -->
<!-- http://purl.org/dc/documents/rec/dcmes-qualifiers-20000711.htm -->
<!-- das W3CDTF Format verwendet. -->
<!-- http://www.w3.org/TR/NOTE-datetime -->
<!ENTITY % a.date
'DateTime CDATA #REQUIRED
Scheme ( W3CDTF ) #REQUIRED ' >
<!-- Entsprechend der Empfehlung der DCMI wird das Vokabular fuer -->
<!-- DCType normiert. -->
<!-- http://purl.oclc.org/dc/documents/rec/ -->
<!-- dcmi-type-vocabulary-20000711.htm -->
<!ENTITY % a.Type
'Scheme ( DCT1 ) #REQUIRED
Type (collection|dataset|event|image
|interactive_resource|service
|software|sound|text) #REQUIRED ' >
<!-- Entsprechend der Empfehlung der DCMI wird das Vokabular fuer -->
<!-- Relation normiert. -->
<!-- http://purl.org/dc/documents/rec/dcmes-qualifiers-20000711.htm -->
<!ENTITY % a.Relation
'Scheme ( URI ) #REQUIRED
Role ( isVersionOf| hasVersion
| isReplacedBy | replaces
| isRequiredBy | requires
| isPartOf | hasPart
| isReferencedBy | references
| isFormatOf | hasFormat ) #REQUIRED ' >
<!-- ================================================================ -->
<!-- Modellierung des DL-Daten-Modells -->
<!-- ================================================================ -->
<!ELEMENT DLmeta ( Object+ ) >
<!ELEMENT Object (
Title,
Creator*,
Subject*,
Description?,
Publisher,
Contributor*,
Date,
Type,
LocalType?,
Format?,
Identifier,
Source?,
Language*,
Relation*,
Coverage*,
Rights?,
Collection?,
Local?,
BSZStatus?,
ObjectVersion,
History?,
ObjectType) >
<!ATTLIST Object
Origin CDATA #REQUIRED
ObjectID ID #REQUIRED >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Title -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Title ( TitleMain, Alternative* ) >
<!ELEMENT TitleMain ( #PCDATA ) >
<!ATTLIST TitleMain
%a.LanguageAttr; >
<!ELEMENT Alternative ( #PCDATA ) >
<!ATTLIST Alternative
%a.LanguageAttr; >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Creator -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Creator ( Person ) >
<!ATTLIST Creator
Role CDATA #IMPLIED >
<!ELEMENT Person ( CompleteName, Address? ) >
<!ATTLIST Person
PersonType (person|corporation) #REQUIRED >
<!ELEMENT CompleteName ( #PCDATA ) >
<!ATTLIST CompleteName
FirstName CDATA #IMPLIED
LastName CDATA #IMPLIED
NormName CDATA #REQUIRED
Scheme CDATA #REQUIRED >
<!ELEMENT Address ( #PCDATA ) >
<!ATTLIST Address
Scheme CDATA #IMPLIED >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Subject -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Subject ( #PCDATA ) >
<!ATTLIST Subject
%a.SubjectScheme; >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Description -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Description ( DescriptionMain*, Abstract*, TOC* ) >
<!ELEMENT DescriptionMain ( #PCDATA ) >
<!ATTLIST DescriptionMain
%a.LanguageAttr; >
<!ELEMENT Abstract ( #PCDATA ) >
<!ATTLIST Abstract
%a.LanguageAttr;
Encoding CDATA #IMPLIED >
<!ELEMENT TOC ( #PCDATA ) >
<!ATTLIST TOC
%a.LanguageAttr;
Encoding CDATA #IMPLIED >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Publisher -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Publisher ( #PCDATA ) >
<!ATTLIST Publisher
Scheme CDATA #IMPLIED >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Contributor -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Contributor ( Person ) >
<!ATTLIST Contributor
Role CDATA #IMPLIED >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Date -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Date (Created, Valid?, Available?, Issued, Modified? ) >
<!ELEMENT Created ( #PCDATA ) >
<!ATTLIST Created
%a.date; >
<!ELEMENT Valid (ValidFrom?,ValidTo?) >
<!ELEMENT ValidFrom ( #PCDATA ) >
<!ATTLIST ValidFrom
%a.date; >
<!ELEMENT ValidTo ( #PCDATA ) >
<!ATTLIST ValidTo
%a.date; >
<!ELEMENT Available ( AvailableFrom?, AvailableTo? ) >
<!ELEMENT AvailableFrom ( #PCDATA ) >
<!ATTLIST AvailableFrom
%a.date; >
<!ELEMENT AvailableTo ( #PCDATA ) >
<!ATTLIST AvailableTo
%a.date; >
<!ELEMENT Issued ( #PCDATA ) >
<!ATTLIST Issued
%a.date; >
<!ELEMENT Modified ( #PCDATA ) >
<!ATTLIST Modified
%a.date; >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Type -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Type EMPTY >
<!ATTLIST Type
%a.Type; >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- DLmeta ELEMENT LocalType -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT LocalType ( #PCDATA ) >
<!ATTLIST LocalType
Scheme CDATA #REQUIRED
CSep CDATA #IMPLIED >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Format -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Format ( Extent?,Medium? ) >
<!ELEMENT Extent (#PCDATA) >
<!ATTLIST Extent
Scheme CDATA #REQUIRED >
<!ELEMENT Medium (#PCDATA) >
<!ATTLIST Medium
Scheme (noScheme|IMT) #REQUIRED >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Identifier -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Identifier ( #PCDATA ) >
<!ATTLIST Identifier
Scheme CDATA #IMPLIED >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Source -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Source ( #PCDATA ) >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Language -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Language EMPTY >
<!ATTLIST Language
%a.Language; >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Relation -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Relation ( #PCDATA ) >
<!ATTLIST Relation
%a.Relation; >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Coverage -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Coverage ( #PCDATA ) >
<!ATTLIST Coverage
Role (Spatial | Temporal ) #REQUIRED
Scheme CDATA #REQUIRED >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Dublin Core ELEMENT Rights -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Rights ( #PCDATA ) >
<!ATTLIST Rights
Scheme CDATA #IMPLIED >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- DL ELEMENT Collection -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Collection ( #PCDATA ) >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- DL ELEMENT Local -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT Local ANY >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- DL ELEMENT BSZStatus -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT BSZStatus ( #PCDATA ) >
<!ATTLIST BSZStatus
%a.date;
swdid CDATA #IMPLIED >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- DL ELEMENT ObjectVersion -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT ObjectVersion ( #PCDATA ) >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- DL ELEMENT History -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT History ( Modification+ ) >
<!ELEMENT Modification ( Person, DLComment? ) >
<!ATTLIST Modification
%a.date; >
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- DL ELEMENT ObjectType -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!ELEMENT ObjectType ( IsDLObject | NoDLObject ) >
<!ELEMENT IsDLObject ( DLObjectInstance+ ) >
<!ELEMENT NoDLObject EMPTY >
<!ELEMENT DLObjectInstance ( DLGenerated?, DLPart+ ) >
<!ATTLIST DLObjectInstance
Application CDATA #IMPLIED
Number CDATA #REQUIRED
InstanceName CDATA #REQUIRED
Persistent ( Y | N ) #REQUIRED >
<!ELEMENT DLGenerated ( DLGeneratedFrom? ) >
<!ATTLIST DLGenerated
Application CDATA #IMPLIED
GeneratedBy CDATA #IMPLIED >
<!ELEMENT DLGeneratedFrom ( #PCDATA ) >
<!ATTLIST DLGeneratedFrom
Identifier CDATA #IMPLIED >
<!ELEMENT DLPart ( DLFile, DLFormat ) >
<!ATTLIST DLPart
Number CDATA #REQUIRED
Application CDATA #IMPLIED
PartName CDATA #REQUIRED
PartIndexer CDATA #IMPLIED
Size CDATA #REQUIRED >
<!ELEMENT DLFile EMPTY >
<!ATTLIST DLFile
Name CDATA #REQUIRED
Location CDATA #REQUIRED >
<!ELEMENT DLFormat ( DLAttribute*, DLComment? ) >
<!ATTLIST DLFormat
MimeType CDATA #REQUIRED
FormatVersion CDATA #REQUIRED
Application CDATA #IMPLIED >
<!ELEMENT DLAttribute ( DLComment? ) >
<!ATTLIST DLAttribute
Name CDATA #REQUIRED
Type CDATA #REQUIRED
Value CDATA #REQUIRED >
<!ELEMENT DLComment ( #PCDATA ) >
|