Changes between Initial Version and Version 1 of echo-schema/implementation


Ignore:
Timestamp:
Jul 19, 2011, 3:01:14 PM (13 years ago)
Author:
Wolfgang Schmidle
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • echo-schema/implementation

    v1 v1  
     1[[PageOutline(1-4,,pullout)]]
     2
     3[wiki:echo-schema ECHO-Schema]: [wiki:echo-schema/overview 1. Überblick], [wiki:echo-schema/usage-guide 2. Usage Guide], [wiki:echo-schema/implementation 3. Umsetzung]
     4
     5== 3. Umsetzung der XML-tags
     6
     7Offene Tickets für die Umsetzung: keyword [https://it-dev.mpiwg-berlin.mpg.de/tracs/mpdl-project-software/query?keywords=~XML XML]
     8
     9TO DO: vergleiche "ist" mit "soll". Tickets für alles, was noch fehlt (vorher prüfen, ob es nicht veraltet ist!)
     10
     11=== echo-start
     12
     13 * <echo>: Es sollten die zu @version passenden XSLT-Skripte verwendet werden.
     14
     15=== echo-metadata
     16
     17 * Die Metadaten-Suche sollte die hierarchische Struktur der dcterms-Metadaten berücksichtigen: Wenn "A refines B", dann soll eine Suche nach einem Inhalt von B auch Einträge in A finden, aber nicht umgekehrt. Beispiel: Eiche refines Baum, also soll eine Suche nach Bäumen auch die als Eichen markierten Bäume finden, aber eine Suche nach Eichen findet nicht alle Bäume.
     18 * <dcterms:creator>: @identifier: Die Einträge sollten in links umgewandelt werden. Wo? Auf der Startseite?
     19 * <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.
     20 * <dcterms:accessRights>: Texte mit <dcterms:accessRights>restricted</dcterms:accessRights> sollten wohl nicht in eXist aufgenommen werden.
     21  * --> Stimmt das??
     22 * <font>, <font-family>: Umsetzen als Anweisung für den Browser? Beispiel "Fraktur". Noch nicht ausgereift.
     23 
     24 === echo-text
     25 
     26  * <text>: @xml:lang siehe <dcterms:language>
     27
     28=== echo-div
     29
     30Erzeuge ein TOC aus den `<div>`. Regeln zur Umsetzung der div-Struktur in ein Inhaltsverzeichnis siehe hier: [source:"trunk/papers/discussion_papers/Regeln zum Erstellen eines Inhaltsverzeichnisses.pdf" PDF] (Stand März 2010; immer noch aktuell; muss ich noch implementieren)
     31
     32TO DO: auch ins wiki?
     33
     34=== echo-block
     35
     36 * <head>: CSS fett (<pb> in <head> sollten nur innerhalb von Flows vorkommen; siehe echo-textflows)
     37 * <s>: Kann ignoriert werden. Die Attribute sollen natürlich beachtet werden. Aber: "sn=17" in der URL.
     38  * (Ausnahme sind eventuell `<s>` mit implizitem `<lb/>` in `<div lines>`) --> ist das noch aktuell?
     39 * <note> siehe echo-float
     40
     41=== echo-block-scholarly
     42
     43 * <set-off> sollte in eigenen Zeilen und eingerückt dargestellt werden
     44
     45=== echo-content
     46
     47 * <reg> siehe [wiki:normalization]
     48
     49=== echo-content-scholarly
     50
     51 * <ref>: noch unklar. Idee war mal: 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
     52{{{
     53ex <ref>.7. propoſitione lib. Archimedis de inſidentibus aquæ</ref>
     54}}}
     55 nicht analysiert.
     56 * <sic> kann hier ignoriert werden; wird in Arboreal gebraucht
     57 * foreign>
     58  * CSS: Der Übergang von Fraktur zu Antiqua oder oder von A. zu F. sollte durch einen passenden Font ausgedrückt werden.
     59  * @xml:lang sollte ausgewertet werden.
     60 * <emph>
     61  * @style sollte als @class und ein CSS-Stylesheet an den Browser weitergegeben werden. (wie wird es denn jetzt gmeacht? Muss man es überhaupt in class ändern?)
     62  * @class sollte nur in Ausnahmefällen vorkommen, z.B. in xhtml. Falls es im Text vorkommt, kann es direkt weitergegeben werden.
     63  * <q>
     64   * CSS: Sollte optisch erkennbar sein.
     65   * Für kurze quotes innerhalb eines `<s>`. Beachte `@open` und `@close`.
     66 * <quote> ähnlich wie <q>; als blockquote wie <set-off>
     67
     68=== echo-gap
     69
     70 * <gap>: Darstellung als [...] ?
     71 * <unsure>: Ignorieren?
     72 
     73=== echo-de
     74 
     75 * <unknown>: Ignorieren? (Sollte aber möglichst nicht mehr im Text enthalten sein.)
     76 * <wrong>: Ignorieren? (Sollte aber möglichst nicht mehr im Text enthalten sein.)
     77
     78=== echo-figure
     79
     80Figures, die nicht in <div float> sind, sollten auf alle Fälle an der richtigen Stelle angezeigt werden. Ansonsten siehe echo-float.
     81
     82Vorschlag, wie eine Figure dargestellt werden kann:
     83{{{
     84<figure>
     85    <image file="0005-01" xlink:href="..."/>
     86    <caption>Geometrische Formen</caption>
     87    <description>Kreis</description>
     88    <description>Dreieck</description>
     89    <description>Viereck</description>
     90    <variables>a, b, c</variables>
     91</figure>
     92}}}
     93
     94wird zu:
     95
     96BILD [[BR]]
     97[Figure 156]: Geometrische Formen [[BR]]
     98 * Kreis
     99 * Dreieck
     100 * Viereck
     101 * [Variables]: a, b, c
     102
     103=== echo-handwritten
     104
     105 * <handwritten> gehört nicht zum Textflow und wird erst auf Anforderung gezeigt. Meistens ist `<handwritten>` leer.
     106 
     107 === echo-float
     108 
     109  * <anchor>:
     110   * 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: Anmerkung^2^ und anchor ''a'' eines anchored comment
     111   * Wenn es auch `@xlink:href` gibt, sollte das Symbol ein link zum zugehörigen Float sein.
     112
     113Floats 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.
     114
     115normaler Textflow:
     116  * `<figure>`
     117  * `<xhtml:*>` (Tabellen, Listen)
     118  * `<mml:*>` (MathML)
     119  * `<note>` mit `@position=left/right`: In einem getrennten Textflow (i.e. weitere Spalte), auf der richtigen Höhe
     120
     121getrennt:
     122  * `<note>` mit `@position=foot` (zumindest sollten Fußnoten, die über mehr als eine Seite gehen, auf Wunsch vollständig angezeigt werden)
     123  * `<handwritten>`
     124  * `<note>` mit `@position=end` (sollten bei ihrem `<div endnotes>` angezeigt werden, d.h. auf der Seite, auf der sie sind)
     125
     126=== echo-milestone
     127
     128Zeilenumbruch: `<lb/>` ist so weit wie möglich/sinnvoll im XML-Baum verschwunden, also zum Beispiel:
     129{{{
     130<s>Bla Bla. <lb/><s>
     131}}}
     132statt
     133{{{
     134<s>Bla Bla. <s>
     135<lb/>
     136}}}
     137
     138Es gibt aber auch Ausnahmen, zum Beispiel vor und nach <small> in chinesischem Text.
     139
     140Bei 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.
     141
     142Spaltenumbruch: Im Prinzip wie `<lb>`. Aus dem `<cb>` ist nicht mehr automatisch renkonstuierbar, 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 dargestellt wird wie ein running head einer Seite.
     143
     144Seitenumbruch:
     145 * CSS: Optisch klar vom "echten" Text abgrenzen: gesperrt?
     146 * Werden running heads dargestellt? Oder kann der User sie ein- und ausblenden?
     147 * Worttrennungen: Das System muss umgehen können mit Fällen wie
     148{{{
     149eue-<lb/>
     150<anchor type="figure" xlink:href="..."/><lb/>
     151<anchor type="figure" xlink:href="..."/>
     152<pb ... />
     153niet
     154}}}
     155
     156--> Will man da wirklich mehrere <lb/> haben, um auszudrücken, dass die Bilder nicht nebeneinander, sondern untereinander sind?
     157
     158
     159=== echo-attribute
     160
     161 * `@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?)
     162 * `@style` und `@class` siehe `<emph>`
     163 *  `@xml:id` kann ignoriert werden, wird aber für die links im TOC gebraucht. Floats verwenden `@xlink:label` statt `@xml:id`.
     164 * `@xml:space` sollte für die Ausgabe des XML-Textes beachtet werden. Allerdings kann es durch <anchor> etxc. auf eigenen Zeilen unnötigen whitespace geben.
     165
     166=== echo-mathematics
     167
     168Ob div-Typen wie "definition" im TOC angezeigt werden sollen, ist unklar.
     169
     170 * <num>
     171  * Der Inhalt von `<num>` wird nicht morphologisch analysiert.
     172  * (Wird er in den Index aufgenommen?)
     173  * Falls es `@value` gibt, könnte man dem User anbieten, `@value` statt dem Inhalt anzuzeigen, also zum Beispiel "0.5" statt "½". Teil der Regularisierungsschicht? (Was passiert, wenn in dem <num> ein Zeilenumbruch ist?)
     174 * <var>
     175  * Der Inhalt von `<var>` wird nicht morphologisch analysiert und nicht in den Index aufgenommen.
     176  * 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. Aber das ist noch eher experimentell.
     177  * xml-Anzeige: auch <var> nicht in eigener Zeile anzeigen, sondern <s> in einer Zeile lassen, Fließtext, wird vom Browser umgebrochen
     178
     179=== echo-chinese-text
     180
     181Senkrechte Schrift im Original ist im XML bereits waagerecht und wird daher auch waagerecht angezeigt.
     182
     183CSS kursiv geht bei chinesischem Text nicht.
     184
     185 * `<head>` mit `@ti:` CSS: z.B. in größerer Schrift
     186 * `<p>` und `<pb>` mit `@ics:` CSS: wie darstellen?
     187 * `<head>` mit `@indent:` Chinesische Schrift ist monspaced (d.h. hat eine feste Laufweite). Rücke die Überschrift um entsprechen viele Zeichen ein.
     188 * `<p>` mit `@indent:` 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. Möglichkeiten:
     189  * rücke nur die erste Zeile ein
     190  * rücke alle Zeilen des Absatzes gleich weit ein
     191  * erste Zeile eingerückt, alle Zeilen rechtsbündig passend, letzte Zeile linksbündig mit der Zeile davor.
     192 Beachte: Der Wert von `@indent` kann auch negativ sein. Die Grundlinie sollte auf allen Seiten gleich angezeigt werden.
     193
     194Small text:
     195 * <small>: siehe die entsprechenden Tickets.
     196 * <smlb/>: setze die beiden Zeilen in einem der Anzeige-Modi für <small> untereinander. Beispiel:
     197{{{
     198<head>鑄造大小守銃尺量法<emph style="sm">近者多<smlb/>遠者少</emph></head>
     199}}}
     200
     201=== echo-gis
     202
     203Dieses Modul ist noch experimentell.
     204
     205 * <place>: Wie bei `<num>` könnte der User wählen, den standardisierten Namen angezeigt zu bekommen. Regularisierungsschicht? Dann muss das GIS eine entsprechende API haben: übergebe Tabellen-Name und ID, bekomme standardisierten Namen zurück. (Das Anzeigesystem kennt den Tableennamen. Woher eigentlich?)
     206 * <time>: Sollte in irgendeiner Form an das GIS-System weitergereicht werden können.
     207
     208=== echo-textflows
     209
     210Wie die div-Typen "multiflow" und "parallel" angezeigt werden könnten: User kann wählen zwischen
     211  * Seitendarstellung mit allen Flows auf dieser Seite
     212  * Seitendarstellung mit einem bestimmten Flow
     213  * Darstellung in der Reihenfolge wie im XML, ohne auf die Seiteneinteilung Rücksicht zu nehmen
     214
     215Wenn 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.
     216
     217(`<pb>` in Fußnoten sind mit flow="footnote" gekennzeichnet. `<pb>` in Endnoten haben kein `@flow`.)
     218
     219=== echo-import-xhtml
     220
     221`<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`.
     222
     223=== echo-import-mathml
     224
     225`<mml:*>` kann direkt und ohne Änderungen an den Browser weitergereicht werden. Zumindest Firefox kann Formeln annähernd korrekt darstellen.