wiki:arborealAndSchemaTexts

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:

  1. prę [prae]
    <self>
    	<element name="reg"/>
    	<render-after> [<attribute name="norm"/>]</render-after>
    </self>
    
  2. prę
    <self>
    	<element name="reg"/>
    	<style><italic/></style>
    </self>
    
  3. prę [prae] (Kombination aus 1. und 2.)
    <self>
    	<element name="reg"/>
    	<style><italic/></style>
    	<render-after> [<attribute name="norm"/>]</render-after>
    </self>
    
  4. 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.

Last modified 14 years ago Last modified on Jun 8, 2010, 3:13:26 PM