Anzeige von XML-Elementen
-
1. core modules
- echo-start
-
echo-metadata
- <dcterms:identifier>
- <dcterms:title>, <dcterms:alternative>
- <dcterms:creator>, <dcterms:contributor>
- <dcterms:publisher>
- <dcterms:language>
- <dcterms:date>
- <dcterms:description>
- <dcterms:rights>
- <dcterms:license>, <dcterms:accessRights>
- <dcterms:rightsHolder>
- <dcterms:provenance>
- <dcterms:dateCopyrighted>
- <font>, <font-family>
- <echo:stylesheet>
- <echo:echolink>
- <echo:echodir>
- echo-text
- echo-block
- echo-content
- echo-attribute
- echo-datatype
- 2. text structure
- 3. additional text blocks: floats
- 4. additional text blocks: non-floats
- 5. additions to the inline model
- 6. additional attributes for Chinese text
1. core modules
echo-start
<echo>
Es sollten die zu @version
passenden XSLT-Skripte verwendet werden.
echo-metadata
Die Metadaten-Suche sollte die hierarchische Struktur der dcterms-Metadaten berücksichtigen: Wenn "A refines B", also "A ist eine bestimmte Art von B", dann findet eine Suche nach einem Inhalt von B auch Einträge in A, aber nicht umgekehrt.
<dcterms:identifier>
<dcterms:title>, <dcterms:alternative>
Alternative ist eine bestimmte Titel-Art. Suche nach Title findet auch Alternative.
<dcterms:creator>, <dcterms:contributor>
Creator ist eine bestimmte Contributor-Art. Suche nach Contributor findet auch Creator.
@identifier:
Die Einträge sollten in links umgewandelt werden.
<dcterms:publisher>
<dcterms:language>
Alle angegebenen Sprachen sind Haupt-Sprachen des Textes. Text in einer der Haupt-Sprachen sollte korrekt mit Donatus / Pollux analysiert und indiziert werden. Textabschnitte in anderen Sprachen müssen nicht unbedingt morphologisch analysiert werden.
Beispiel: Aristoteles 1548 hat die Hauptsprachen Griechisch und Latein.
<dcterms:date>
<dcterms:description>
<dcterms:rights>
<dcterms:license>, <dcterms:accessRights>
AccessRights und License sind eine Rights-Arten.
Texte mit <dcterms:accessRights>restricted</dcterms:accessRights>
sollten wohl nicht in eXist aufgenommen werden.
<dcterms:rightsHolder>
<dcterms:provenance>
<dcterms:dateCopyrighted>
DateCopyrighted ist eine Date-Art.
<font>, <font-family>
Umsetzen als Anweisung für den Browser? Beispiel "Fraktur". Noch nicht ausgereift.
<echo:stylesheet>
<echo:echolink>
<echo:echodir>
echo-text
<text>
@xml:lang
siehe <dcterms:language>
echo-block
<head>
CSS: fett
(<pb>
in <head>
sollten nur innerhalb von Flows vorkommen; siehe echo-textflows)
<p>
<s>
Wird nicht angezeigt. Die Attribute sollen natürlich beachtet werden.
(Ausnahme sind eventuell <s>
mit implizitem <lb/>
in <div lines>
)
xml: <s> in einer Zeile lassen, Fließtext, wird vom Browser umgebrochen
<note>
siehe echo-float
<quote>
(wie in echo-block-scholarly)
echo-content
<reg>
In der Standard-Anzeige wird der Inhalt des norm-Attributs angezeigt. Der User kann aber wählen, ob er stattdessen jeweils Originaltext angezeigt bekommen möchte. Zusätzlich gibt es eine dritte Version, nämlich wo die Wortformen noch orthographisch normalisiert sind. Diese Darstellung ist sprachspezifisch; im Lateinischen sind das mindestens u/v, i/j, ſ/s, ß/ss, æ/ae, œ/oe. Beispiel:
XML: totum <reg norm="relatiuum" type="context">relatiuũ</reg> ipſius Original: totum relatiuũ ipſius regularisiert: totum relatiuum ipſius normalisiert: totum relativum ipsius
In der Original-Darstellung kann es Zeichen geben, die nur mit speziellen Fonts darstellbar sind. Zeichen, die in Unicode enthalten sind, werden normalerweise vom Browser korrekt angezeigt, wenn es irgendeinen Font auf dem Computer gibt, der das Zeichen enthält. Manchmal muss man Zeichen aus der Private Use Area nehmen, zum Beispiel U+E8BF für die Ligatur von q und ꝫ (U+A76B). Bei dieser Darstellung sollte der User also darüber aufgeklärt werden, dass er eventuell spezielle Fonts braucht.
Eine ausführlichere Diskussion der Anzeige von <reg> ist hier.
<emph>
@style
sollte als @class
und ein CSS-Stylesheet an den Browser weitergegeben werden.
@class
sollte nur in Ausnahmefällen vorkommen, z.B. in xhtml. Falls es im Text vorkommt, kann es direkt weitergegeben werden.
echo-attribute
@xml:lang
siehe <dcterms:language>
und <foreign>
. Durch @xml:lang
ist im Prinzip für jeden Textabschnitt klar, welche Sprache es ist, insbesondere welche Schreibrichtung es ist. Zeigt der Browser zum Beispiel Arabisch problemlos korrekt an, oder muss man dem Browser auf der Grundlage von @xml:lang
explizit sagen, was er tun soll?
@style
und @class
siehe <emph>
@xml:id
kann ignoriert werden, wird aber für die links im TOC gebraucht. Floats verwenden @xlink:label
statt @xml:id
.
@xml:space
sollte für die Ausgabe des XML-Textes beachtet werden.
echo-datatype
2. text structure
echo-div
<div>
Regeln für das Anzeigen des Inhaltsverzeichnisses siehe hier.
echo-milestone
<lb>
Zeilenumbruch: <lb/>
ist so weit wie möglich/sinnvoll im XML-Baum verschwunden, also zum Beispiel:
<s>Bla Bla. <lb/><s>
statt
<s>Bla Bla. <s> <lb/>
Bei der Anzeige des XML-Textes für eine Seite sollte <lb/>
innerhalb von <s>
nicht in einer eigenen Zeile stehen. In anderen Worten: <lb>
sollte nur dann in eigener Zeile stehen, wenn es auch im XML-Text in eigener Zeile steht.
<cb>
Im Prinzip wie <lb>
. Aus dem <cb>
ist nicht mehr automatisch rekonstruierbar, wo die erste Spalte anfängt und die letzte Spalte aufhört. Daher kann man es wie <lb>
behandeln. Allerdings kann eine Spalte einen "running head" haben, der so ähnlich wie ein running head einer Seite dargestellt wird.
<pb>
CSS: Optisch klar vom "echten" Text abgrenzen: gesperrt?
Werden running heads dargestellt? Oder kann der User sie ein- und ausblenden?
Worttrennungen: Das System muss umgehen können mit Fällen wie
eue-<lb/> <anchor type="figure" xlink:href="..."/><lb/> <anchor type="figure" xlink:href="..."/> <pb ... /> niet
3. additional text blocks: floats
echo-float
<anchor>
Wenn es @symbol
gibt, sollte das Symbol angezeigt werden, denn es steht ja im Text. Hochgestellt, wenn kein space davor ist, sonst nicht hochgestellt, aber kursiv. Beispiel:
Anmerkung2 und anchor a eines anchored comment
Wenn es auch @xlink:href
gibt, sollte das Symbol ein link zum zugehörigen Float sein.
Floats sind entweder als Teil des normalen Textflows, oder sie sind getrennt. Floats als Teil des normales Textflows sollten, wie Bilder auf einer Webseite, an der richtigen Stelle angezeigt werden, d.h dort, wo ihr <anchor>
ist. Getrennte Floats sollten erst angezeigt werden, wenn der User sie anfordert.
normaler Textflow:
<figure>
<xhtml:*>
(Tabellen, Listen)<mml:*>
(MathML)
getrennt:
<note>
mit@position=foot
(zumindest sollten Fußnoten, die über mehr als eine Seite gehen, auf Wunsch vollständig angezeigt werden)<handwritten>
<note>
mit@position=end
(sollten bei ihrem<div endnotes>
angezeigt werden, d.h. auf der Seite, auf der sie sind)
unklar:
<note>
mit@position=left/right
: Peter hätte sie gerne im normalen Textflow
echo-note
<note>
echo-import-xhtml
<xhtml:*>
<xhtml:*>
kann direkt an den Browser weitergereicht werden. Beachte allerdings, dass wir nicht das content model von xhtml verwenden; man kann also nicht einfach die ganze Tabelle ohne Änderungen übergeben, sondern nur die Elemente mit dem Namespace xhtml
.
echo-figure
<figure>
<caption>, <description>, <variables>
Figures, die nicht in <div float>
sind, sollte auf alle Fälle an der richtigen Stelle angezeigt werden. Ansonsten siehe Floats. Beispiel:
<figure> <caption>Geometrische Formen</caption> <despription>Kreis</description> <despription>Dreieck</description> <despription>Viereck</description> <variables>a, b, c</variables> </figure>
wird zu:
[figure 156]
Geometrische Formen
Kreis
Dreieck
Viereck
a, b, c
<image>
Falls es @xlink:href
gibt, sollte das Bild an dieser Stelle angezeigt werden.
echo-handwritten
<handwritten>
gehört nicht zum Textflow und wird erst auf Anforderung gezeigt. Meistens ist <handwritten>
leer.
4. additional text blocks: non-floats
echo-textflows
Wie die div-Typen "multiflow" und "parallel" angezeigt werden könnten: User kann wählen zwischen
- Seitendarstellung mit allen Flows auf dieser Seite
- Seitendarstellung mit einem bestimmten Flow
- Darstellung in der Reihenfolge wie im XML, ohne auf dei Seiteneinteilung Rücksicht zu nehmen
Wenn es @flow
in <pb>
gibt, gilt <pb>
nur für diesen Flow. Beispiele sind Eipo, Conimbricenses, Fußnoten. Wie mehrere Flows, insbesondere der Haupttext und die Fußnoten, gleichzeitig angezeigt werden können, müssen wir uns noch überlegen.
(<pb>
in Fußnoten sind mit flow="footnote" gekennzeichnet. <pb>
in Endnoten haben kein @flow
.)
echo-block-scholarly
<set-off>
sollte in eigenen Zeilen und eingerückt dargestellt werden
<quote>
ähnlich wie <q>
; als blockquote wie <set-off>
5. additions to the inline model
echo-gap
<gap>
Darstellung als [...] ?
<unsure>
Ignorieren?
echo-de
<unknown>
Ignorieren? Sollte aber möglichst nicht mehr im Text enthalten sein.
<wrong>
Ignorieren? Sollte aber möglichst nicht mehr im Text enthalten sein.
echo-mathematics
Ob div-Typen wie "math:definition" im TOC angezeigt werden sollen, ist unklar.
<num>
Der Inhalt von <num>
wird nicht morphologisch analysiert. (Wird er in den Index aufgenommen?)
Falls es @value
gibt, könnte man dem User anbieten, @value
statt dem Inhalt anzuzeigen, also zum Beispiel "0.5" statt "½".
Das Anzeigesystem könnte eine GUI für eine XQuery zur Verfügung stellen, mit der man nach den value-Attributen suchen kann.
<var>
Der Inhalt von <var>
wird nicht morphologisch analysiert und nicht in den Index aufgenommen.
Außerdem sollte @type berücksichtigt werden, wenn vorhanden. Beispielsweise könnte
<type="segment">.A.B.</var>
mit einer Linie über dem Namen dargestellt werden.
xml: auch <var> nicht in eigener Zeile anzeigen! sondern <s> in einer Zeile lassen, Fließtext, wird vom Browser umgebrochen
echo-import-mathml
<mml:*>
<mml:*>
kann direkt und ohne Änderungen an den Browser weitergereicht werden. Zumindest Firefox kann Formeln annähernd korrekt darstellen.
echo-gis
Die Element-Namen werden sich voraussichtlich noch ändern. Siehe auch hier.
<place>
CSS: Sollte optisch erkennbar sein, z.B. kursiv
Am besten ein link zum Beispiel zum entsprechenden Eintrag in einem Authority file.
Sollte an das GIS-System weitergereicht werden können.
(Wie bei <num>
könnte der User wählen, den standardisierten Namen angezeigt zu bekommen.)
<time>
CSS: Sollte optisch erkennbar sein, z.B. kursiv
Sollte in irgendeiner Form an das GIS-System weitergereicht werden können.
<person>, <event>
Es wird auch noch <person>
und <event>
geben, aber die Details sind noch unklar.
echo-content-scholarly
<sic>
kann hier ignoriert werden; wird im scholarly workflow in Arboreal gebraucht
<ref>
CSS: z.B. kursiv
Innerhalb von <ref>
werden Abkürzungen nicht aufgelöst. Innerhalb von <ref>
werden daher normale Wörter morphologisch analysiert (d.h. an Donatus / Pollux weitergeleitet), aber Wörter mit Punkt nicht. Zum Beispiel wird "lib." in
ex <ref>.7. propoſitione lib. Archimedis de inſidentibus aquæ</ref>
nicht analysiert.
Wenn es in <ref>
ein @standard
gibt, kann der ganze Inhalt unanalysiert bleiben, und stattdessen gibt es einen link, der zu der reference passt. Beispiel:
... ex <ref standard="Eucl:11:1">prima <lb/>vndecimi Euclid.</ref> poſitæ erunt.
Frage ist, wohin der link führen soll.
<foreign>
CSS: Der Übergang von Fraktur zu Antiqua oder oder von A. zu F. sollte durch einen passenden Font ausgedrückt werden.
@xml:lang
sollte ausgewertet werden.
<q>
CSS: Sollte optisch erkennbar sein.
Für kurze quotes innerhalb eines <s>
. Beachte @open
und @close
.
6. additional attributes for Chinese text
echo-chinese-text
Senkrechte Schrift im Original ist im XML bereits waagerecht und wird daher auch waagerecht angezeigt.
<head>
mit @ti:
CSS: z.B. in größerer Schrift
<p>
und <pb>
mit @ics:
CSS: z.B. kursiv (allerdings sehen kursive chinesische Zeichen etwas merkwürdig aus)
<p>
mit @indent:
Chinesische Schrift ist monspaced (d.h. hat eine feste Laufweite). Rücke die erste Zeile um entsprechen viele Zeichen ein.
Wie stark die weiteren Zeilen eingerückt werden, ist unklar. Die wichtige Information war die Einrückung der ersten Zeile, und @indent
bezieht sich deshalb auf die erste Zeile eines Absatzes. Die restlichen Zeilen können im Original entweder genauso eingerückt sein oder auch nicht.
- rücke nur die erste Zeile ein
- rücke alle Zeilen des Absatzes gleich weit ein
- erste Zeile eingerückt, alle Zeilen rechtsbündig passend, letzte Zeile linksbündig mit der Zeile davor.
Beachte: Der Wert von @indent
kann auch negativ sein. Die Grundlinie sollte auf allen Seiten gleich angezeigt werden.
Notes: Die Entscheidung, ob eine Note (d.h. kleinere Schrift im Text) zum Textflow dazugehört oder nicht, ist im XML bereits gefallen. Dementsprechend gibt es <anchor>
und <note>
(mit type="inline"
, der nicht angibt, wo sie angezeigt werden soll, sondern wo sie im Original stand), oder <emph style="sm">
.
<lb>
mit type="halfline"
innerhalb von <emph style="sm">
: setze die beiden Zeilen untereinander und markiere die Note farblich. Beispiel:
<head>鑄造大小守銃尺量法<emph style="sm">近者多<lb type="halfline"/>遠者少</emph></head>
wird zu:
鑄造大小守銃尺量法 近者多 遠者少
(Farbe nachtragen!)