Beschreibung der MyCoRe Basis-Datentypen
In MyCoRe gibt es eine Reihe von vordefinierten XML-Datenstrukturen zur Abbildung bestimmter mehr oder minder komplexer Daten. Diese Strukturen bilden die MyCoRe-Datentypen, welche von der Dateneingabe bis hin zur Validierung und Datenpräsentation für einen einheitlichen Umgang mit den Daten sorgen. Dabei ist zwischen einfachen, recht atomaren Typen und anwendungsspezifischen, komplexen Typen zu unterscheiden. Eine Auflistung finden Sie in nachfolgender Tabelle.
Einfache Typen | Komplexe Typen |
---|---|
MCRMetaBoolean | MCRMetaAddress |
MCRMetaClassification | MCRMetaDateLangText |
MCRMetaISO8601Date | MCRMetaDerivateLink |
MCRMetaLangText | MCRMetaHistoryDate |
MCRMetaLink | MCRMetaPersonName |
MCRMetaLinkID | MCRMetaXML |
MCRMetaNumber |
Tabelle: MyCoRe-Basisdatentypen
Der Basistyp MCRMetaAddress beinhaltet eine Liste von postalischen Anschriften in der Ausprägung eines
XML-Abschnittes. Dabei wird berücksichtigt, dass die Anschrift in verschiedenen Sprachen und in international
gängigen Formen gespeichert werden soll. Die einzelnen Subtags sind dabei selbsterklärend. Die Angaben zu type
und
xml:lang
sind optional, ebenso die unter subtag liegenden Tags, jedoch muss mindestens eines ausgefüllt sein. Alle
Werte werden als Text betrachtet.
Syntax des Metadatentyps MCRMetaAddress:
|
|
Beispiel des Metadatentyps MCRMetaAddress:
|
|
Der Basistyp MCRMetaBoolean beinhaltet eine Liste von Wahrheitswerten mit zugehörigen type Attributen. Folgende Werte sind zulässig:
true
, yes
, wahr
und ja
false
, no
, falsch
und nein
Syntax des Metadatentyps MCRMetaBoolean:
|
|
Beispiel des Metadatentyps MCRMetaBoolean:
|
|
Der Basistyp MCRMetaClassification dient der Einbindung von Klassifikationen und deren Kategorien in die Metadaten.
Beide Identifizierer zusammen beschreiben einen Kategorieeintrag vollständig. Dabei ist für die categid
eine,
ggf.
mehrstufige, Kategorie-ID einzutragen. Die classid
muss vom Typ MCRObjectID sein. Bitte beachten Sie die Hinweise
zur Gestaltung der Kategorie-IDs im vorigen Kapitel!
Syntax des Metadaten-Basistyps MCRMetaClassification:
|
|
Beispiel des Metadaten-Basistyps MCRMetaClassification:
|
|
Der Basistyps MCRMetaHistoryDate ist speziell kreiert, um Datumsangaben für historische Projekte speichern und suchen zu können. Dabei wird sowohl ein verbaler Text, sowie eine konkrete Datumskonvertierung mit dem dazugehörigen Kalender gespeichert. Das Datum wird im Format des angegebenen Kalenders abgelegt, auch für die Zeit vor Einführung des selben. Zur Implementierung des Datentyps wurde die frei verfügbare ICU-Library der Firma IBM genutzt. Sie bietet eine Reihe von Kalendern an, die so für diesen Datentyp nun verfügbar sind. Alle Datumsangaben werden zur internen Verarbeitung in MyCoRe in eine Julian Day Number, also eine fortlaufende Tageszahl, umgerechnet. Diese wird neben einer lesbaren Form in dem Datentyp MCRMetaHistoryDate gespeichert.
Somit ist eine scharfe Datumssuche mit Hilfe der Integer-Daten möglich. Die Eingabe der Daten erfolgt nach den Regeln:
text
-Feld steht ein beliebiger String gemäß den Projektvorgaben. Dieses Feld ist für verschiedene Sprachen
wiederholbar.
von
und
bis
enthalten gregorianische Datumsangaben.
von
und/oder bis
nichts angegeben, werden Standardwerte genommen. Das sind 1.1.4713 BC und
31.12.3999
AD.
ivon
bzw.
ibis
enthalten die korrespondierenden Werte zu von
bzw. bis
.
calendar
-Feld kann die Werte
gregorian
oder
islamic
enthalten.
Syntax des Metadaten-Basistyps MCRMetaHistoryDate:
|
|
Beispiel des Metadaten-Basistyps MCRMetaHistoryDate:
|
|
Dieser Metadatentyp ist wie MCRMetaDate für das Speichern von Zeitangaben gedacht. Er bietet jedoch eine höhere zeitliche Auflösung, bis in den Millisekundenbereich. Unterstützt werden alle Formate der Informationsseite des W3C. Sie enthält nähere Informationen zu den Formaten und zur ISO-Norm: ISO 8601 : 1998 (E).
Wie MCRMetaDate unterstützt MCRMetaISO8601Date die Verwendung des type
-Attributs. Auf Grund seiner
Sprachunabhängigkeit in der Formatierung der Datumsangabe fehlt die Unterstützung für das lang
-Attribut. Das
Verwenden von MCRMetaISO8601Date ermöglicht eine Syntaxprüfung der Datumsangabe bereits auf XML Schema-Ebene, durch
den dort definierten Datentyp xsd:duration
, auf dem der MyCoRe-Datentyp abgebildet wird.
Optional kann ein format
-Attribut verwendet werden. Dies erzwingt für das Datum das angegebene Format. So ist bei
der Formatangabe YYYY
das Datum 2006-01 ungültig. Ohne die Formatangabe hingegen ist das gleiche Datum gültig,
weil es dem unterstützen Format YYYY-MM
entspricht.
Syntax des Metadaten-Basistyps MCRMetaISO8601Date:
|
|
Beispiel des Metadaten-Basistyps MCRMetaISO8601Date:
|
|
Der Basistyp MCRMetaLangText dient der Speicherung einer Liste von Textabschnitten mit zugehöriger Sprachangabe. Über
das form
Attribut kann noch spezifiziert werden, in welcher Form der Text geschrieben ist.
XML-Syntax des Metadaten-Basistyps MCRMetaLangText:
|
|
Beispiel des Metadaten-Basistyps MCRMetaLangText:
|
|
Der Basistyp MCRMetaDateLangText dient der Speicherung einer Liste von Textabschnitten mit zugehöriger Sprachangabe und einer Datumsangabe.
Die Datumsangabe kann optional im date
Attribut erfasst werden. Für den Wert dieses Attributs gelten die selben Regeln wie
für den Wert von MCRMetaISO8601Date. Über das form
Attribut kann noch spezifiziert werden, in welcher Form der Text geschrieben ist.
Optional kann ein format
-Attribut verwendet werden. Dies erzwingt für das Datum das angegebene Format. So ist bei
der Formatangabe YYYY
das Datum 2006-01 ungültig. Ohne die Formatangabe hingegen ist das gleiche Datum gültig,
weil es dem unterstützen Format YYYY-MM
entspricht.
XML-Syntax des Metadaten-Basistyps MCRMetaDateLangText:
|
|
Beispiel des Metadaten-Basistyps MCRMetaDateLangText:
|
|
Der Basistyp MCRMetaLink wurde geschaffen, um eine Verknüpfung auf beliebige externe Referenzen zu realisieren. Der Typ MCRMetaLink ist eine Implementation des W3C XLink Standards (siehe ’XLM Linking Language (XLink) Version 1.0’). Auf dieser Basis können mit dem MyCoRe-Metadatentyp MCRMetaLink zwei Arten von Links - eine Referenz und ein bidirektionaler Link erstellt werden. Bei beiden Arten werden jedoch in MCRMetaLink nicht alle Möglichkeiten der XLink Spezifikation ausgeschöpft, da dies für die in MyCoRe benötigten Funktionalitäten nicht erforderlich ist.
Im Referenztyp ist das Attribut xlink:type='locator'
immer anzugeben.
Die eigentliche Referenz wird im xlink:href
Attribut notiert. Dabei ist die Referenz eine URL. Daneben können noch weitere
Informationen im xlink:label
angegeben werden, hier ist aber auf die in der Spezifikation von XLink definierte
Zeichenmenge zu achten! Weierhin kann ein xlink:title
angegeben werden.
Alternativ dazu besteht die Möglichkeit eines bidirektionalen Links. Dieser wird sowohl in der Link-Quelle wie auch
im Link-Ziel eingetragen. Der Typ ist in diesem Fall xlink:type='arc'
. Weiterhin sind die Attribute xlink:from
und
xlink:to
erforderlich. Optional kann noch ein Titel in xlink:title
mitgegeben werden.
Der Basistyp MCRMetaLinkID entspricht im Aufbau dem MCRMetaLink. Der einzige Unterschied ist, dass die Attribute
xlink:href
, xlink:from
und xlink:to
nur mit MCRObjectIDs belegt werden dürfen. Dieser spezielle Datentyp wird zur Verknüpfung von
MyCoRe-Objekten untereinander verwendet. Dabei kommt in der Regel die Referenz-Variante, also xlink:href
, zum Einsatz.
XML-Syntax des Metadaten-Basistyps MCRMetaLink:
|
|
XML-Syntax des Metadaten-Basistyps MCRMetaLinkID:
|
|
Beispiel des Metadaten-Basistyps MCRMetaLink:
|
|
Beispiel des Metadaten-Basistyps MCRMetaLinkID:
|
|
Der Basistyp MCRMetaNumber ermöglicht das Speichern und Suchen von Zahlenwerten. Die Zahlendarstellung kann je nach
Sprache, d. h. im Deutschen mit Komma und im Englischen mit Punkt, angegeben werden. Weiterhin sind die
zusätzlichen
Attribute dimension
und measurement
möglich. Beide Attribute sind optional, ebenso wie das Default-Attribut type
.
XML-Syntax des Metadaten-Basistyps MCRMetaNumber:
|
|
Beispiel des Metadaten-Basistyps MCRMetaNumber:
|
|
Der Basistyp MCRMetaDerivateLink ermöglicht auf konkrete Dateien in beliebigen Derivaten zu verlinken.
XML-Syntax des Metadaten-Basistyps MCRMetaDerivateLink:
|
|
Beispiel des Metadaten-Basistyps MCRMetaDerivateLink:
|
|
Subselect:
|
|
Der Basistyp MCRMetaPerson beinhaltet eine Liste von Namen für natürliche oder juristische Personen. Dabei wird
berücksichtigt, dass die Namen in verschiedenen Sprachen und international gängigen Formen auftreten können. Das
Attribut
type
dient der Differenzierung der verschiedenen Namen einer Person, Geburtsname, Synonym, Kosename usw.
firstname
repräsentiert den/die Vornamen,
callname
den Rufnamen,
surname
den Familiennamen,
academic
den akademischen
Titel,
peerage
den Adelstitel,
numeration
die Zählnummer (der IIV.),
titel
zusätzliche Titel (Bischof von),
affix
und
prefix
Namenszusätze wie 'von', 'de' usw. fullname
enthält nochmal den
automatisch zusammengesetzten Namen.
XML-Syntax des Metadaten-Basistyps MCRMetaPersonName:
|
|
Beispiel des Metadaten-Basistyps MCRMetaPersonName:
|
|
Der Basistyp MCRMetaXML wurde zusätzlich als Container für einen beliebigen XML-Baum in das Projekt integriert. Dieser wird in den Textknoten des Subtags gestellt und kann dort theoretisch beliebig groß sein.
XML-Syntax des Metadaten-Basistyps MCRMetaXML:
|
|
Beispiel für die Definition dieses Datentyps in der Datamodel-Datei:
|
|
und ein Beispiel mit Metadaten zum Metadaten-Basistyp MCRMetaXML:
|
|