MPDL Schema Texts in Arboreal
This page discusses issues with displaying schema-conformant XML texts in Arboreal.
Requirements
Man braucht die aktuelle docspecs-Version (ersetzt die alten docspecs). Und wenn man IDs, matching-files etc. erzeugen will, braucht man die aktuellen XSLT-Skripte (zusätzlich zu den alten XSLT-Skripten). Diese Versionen sind hier.
Issues
<reg>
Arboreal zeigt den Originaltext und nicht die regularisierte Version an, weil noch niemand Arboreal mitgeteilt hat, dass wir die Struktur von <reg> geändert haben.
Auch Donatus hat ein Problem mit der neuen <reg>-Struktur. (Warum?)
Anzeige-Modi in Arboreal
Beispiel <reg norm="prae" type="simple">prę</reg>
: Man möchte wahrscheinlich auch in Arboreal wählen können, ob man den Originaltext "prę" oder den regularisierten Text "prae" sieht. Die docspecs sehen aber keine Wahlmöglichkeiten vor. Man kann immerhin auf der echten Seite die XML-Anzeige an- und ausschalten, also zwischen Original "prę" und Original+Regularisierung "<reg norm="prae" type="simple">prę</reg>"
wählen.
Was in den docspecs sofort ginge:
- prę [prae]
<self> <element name="reg"/> <render-after> [<attribute name="norm"/>]</render-after> </self>
- prę
<self> <element name="reg"/> <style><italic/></style> </self>
- prę [prae] (Kombination aus 1. und 2.)
<self> <element name="reg"/> <style><italic/></style> <render-after> [<attribute name="norm"/>]</render-after> </self>
- prae
<self> <element name="s"/> <apply-filter rule="s/.+//"/> <render-after><attribute name="norm"/></render-after> </self>
Version 4 funktioniert aber so nicht. Es ist unklar, wie die regex-engine vorgeht, denn manche regexes funktionieren und andere nicht:
s/(\w+)/\u$1/g
funktioniert,
s/(\w+)//g
funktioniert nicht.
DocSpec.java
und DocSpecManager.java
geben auf den ersten Blick auch keine Erklärung.
(Und wie gesagt, man würde dann immer prae sehen und kann im Textanzeigemodus nicht auf prę umschalten.)
Textgestalt
Beim Anwenden des Skripts "Generate IDs (MPDL)" wurden die Zeilenumbrüche (U+000A) vor und nach <pb> und <anchor> durch spaces U+0020 ersetzt. Als Konsequenz ist jedes <s> auf einer Zeile, mit großen Abständen vor und nach <pb> und <anchor>. Das Skript sollte nicht ungefragt in die Textgestalt eingreifen.
Ich kann das allerdings bei mir nicht nachvollziehen. Bei mir, mit der gleichen XML-Datei, der gleichen Arboreal-Version (5.21) und gleichen Skript-Version (hoffentlich) bleiben die Zeilenumbrüche erhalten. Woran kann es noch liegen? An der Java-Version??
Text-Anzeige
Die internen links von der ursprünglichen Stelle eines Floats zum <div float>, in dem das Float jetzt ist, funktionieren in Arboreal noch nicht. Frage ist, was genau man eigentlich bei der Text-Anzeige haben möchte.
Jedenfalls möchte man keine Text-Version speziell für Arboreal. Deshalb kann man kein XSLT-Skript verwenden, sondern muss das on the fly machen. Performance-Problem.
Zum Beispiel werden Abbildungen auch nicht an ihrer Stelle im Text, sondern hinter dem Absatz angezeigt (im gleichen <div>). Das Bild hätte man zwar gern an der Originalstelle, aber den zum Bild gehörenden Text nicht.
Arboreal fügt große Abstände ein, wenn zwei tags aufeinanderfolgen, also zum Beispiel bei <var>.a.d.</var> <reg norm="æqualium" type="context">æqualiũ</reg> Wo und warum passiert das? (Im XML sind diese Abstände nicht.)
Feature Requests
Zusätzlich zu den oben erwähnten Dingen (Umgang mit <reg>, insbesondere die Anzeige-Modi; unveränderte Textgestalt bei XSLT-Skripten; Anzeige der Figures; Abstände zwischen direkt aufeinanderfolgenden tags):
Ersetze die docspecs durch CSS etc.
Arboreal sollte die Dateiendungen selbst ergänzen können.
Arboreal 5.21 ist offenbar nur PPC und nicht unversal. Stimmt das? Kann man das ändern?
Offline-Version eines XML-Dokuments
Beispiel Benedetti: Die xlinks funktionieren nur online.
Lege einen neuen Ordner an. Der Ordner darf keine Leerzeichen im Pfad haben. Kopiere folgende Dateien und Ordner in diesen Ordner:
von foxridge:
- online/permanent/library/163127KK/pageimg
- online/permanent/library/163127KK/figures
von unserem trac nach benedetti:
Außerdem muss man ein Verzichnis thumbs
anlegen, in dem JPG-Versionen der figures sind. Im Benedetti steht immer noch zum Beispiel <image file="0014-01" xlink:href="figures/0014-01.tif"/>
. Der link auf die JPG-Version der figure im thumbs-Verzeichnis steht also nicht im Text, sondern den baut sich Arboreal selber?
Die beiden Benedetti-Versionen unterscheiden sich nur dadurch, dass sie die alte bzw. die neue <reg>-Struktur verwenden. Unterschiede zur "normalen" Benedetti-Version:
&URLbase;
ist als leerer String definiert, also:<!ENTITY URLbase "">
im DTD-Fragment(xlink:href="&URLbase;pageimg/\d{4})"
-->\1.jpg"
(xlink:href="&URLbase;figures/\d{4}-\d{2})"
-->\1.tif"
Entsprechend für Guidobaldo: Es gibt 275 <pb> und Seitenbilder, aber 248 <figure> und nur 247 zugehörige figures. Ein wahrscheinlicher Kandidat für diese Unstimmigkeit ist <figure id="fig209" place="text" xlink:href=""/>
im Text.
(xlink:href="[^"]+?)/
-->\1.
(<pb[^>]+xlink:href=)"(\d{3}\.\d{2}\.\d{3}\.jpg"/>)
-->\1"036-01-pageimg/\2
(<figure[^>]+xlink:href=)"(\d{3}\.\d{2}\.\d{3}\.\d{1}\.jpg"/>)
-->\1"036-01-figures/\2
Etwas ganz anderes
Wie es ausschaut, haben wir (oder hatten zumindest früher) keine einheitlichen Standards für das Eingeben von Metadaten: Der englische Guidobaldo steht als Guidobaldo del Monte im Alphabet unter G und der lateinische Guidobaldo als Monte, Guidobaldo del unter M. Aber wer braucht schon alphabetische Sortierung im Zeitalter der Volltextsuche.