229 | | Das Skript [source:trunk/schema/scripts/workflow/Filter_2_08_check_s.pl Filter_2_08_check_s] soll prüfen, ob beim Einfügen von <s> etwas schiefgehen wird. Wie das genau funktionieren soll, ist noch nicht klar. Kann man hier das s-Skript aufrufen, oder kommt man dann durcheinander, weil so viele Skripte dazwischen den Text verändern? Eventuell kann man hier diese Skript gleich mit aufrufen. |
| 228 | Das Skript [source:trunk/schema/scripts/workflow/Filter_2_08_check_s.pl Filter_2_08_check_s] soll prüfen, ob beim Einfügen von <s> in Schritt 4.04 etwas schiefgehen wird. Zum Beispiel: |
| 229 | * verdächtig kurze <s> |
| 230 | * Zeichen, die normalerweise nicht am Anfang von <s> stehen sollten: |
| 231 | {{{ |
| 232 | Drei Punkte ... sind keine Satzpunkte. |
| 233 | <s>Drei Punkte .</s><s>.. sind keine Satzpunkte. </s> |
| 234 | }}} |
| 235 | |
| 236 | (Kann man hier das s-Skript aufrufen, oder kommt man dann durcheinander, weil so viele Skripte dazwischen den Text verändern? Eventuell kann man hier diese Skripte gleich mit aufrufen. Ausgangspunkt ist jedenfalls das alte Skript {{{Filter_4_04a_test_s.pl}}}.) |
252 | | Diese Skripte in diesem Arbeitsschritt sollten problemlos durchlaufen und können daher in einem Meta-Skript [source:trunk/schema/scripts/workflow/Filter_3_make_wellformed.pl Filter_3_make_wellformed] zusammengefasst werden. Das Skript [source:trunk/schema/scripts/workflow/Filter_3_test_wellformedness.pl Filter_3_test_wellformedness] |
253 | | prüft anschließend, ob das Ergebnis wohlgeformt ist. Wenn der Text wohlgeformtes XML ist, sollte man ihn mit Dateiendung in {{{xml}}} (im Verzeichnis {{{xml/}}} statt {{{raw/}}}) abspeichern. |
| 259 | Diese Skripte in diesem Arbeitsschritt sollten problemlos durchlaufen und können daher in einem Meta-Skript [source:trunk/schema/scripts/workflow/Filter_3_make_wellformed.pl Filter_3_make_wellformed] zusammengefasst werden. |
| 260 | |
| 261 | Das Skript [source:trunk/schema/scripts/workflow/Filter_3_test_wellformedness.pl Filter_3_test_wellformedness] |
| 262 | prüft anschließend, ob das Ergebnis wohlgeformt ist. (Dieses Skript ist zurzeit ein Wrapper für xmllint. Ich werde es wahrscheinlich noch auf ein Perl-Modul statt xmllint umstellen.) |
| 263 | |
| 264 | Wenn der Text wohlgeformtes XML ist, sollte man ihn mit Dateiendung in {{{xml}}} (im Verzeichnis {{{xml/}}} statt {{{raw/}}}) abspeichern. |
401 | | [source:trunk/schema/scripts/workflow/Filter_4_06_tables.pl Filter_4_06_tables] |
402 | | |
403 | | wann werden die tables bearbeitet? zwei Schritte: überhaupt syntaktisch korrekt, und dann größtmögliche Annäherung an das Original (erst im scholarly workflow). |
404 | | |
405 | | beachte DESpecs 1.1.2 versus 2.0 |
| 414 | Das Skript [source:trunk/schema/scripts/workflow/Filter_4_06_tables.pl Filter_4_06_tables], das in Schritt 2.09 vorbereitet wurde, verwandelt die Tabellen-Syntax der DESpecs in gültiges xhtml. |
| 415 | |
| 416 | Wie schon in Schritt 2.09 wird hier nicht geprüft, ob die Tabelle tatsächlich dem Original nahekommt. Dies passiert erst im scholarly workflow. |
| 417 | |
| 418 | Beachte die unterschiedlichen Anweisungen in den DESpecs 1.1.2 und 2.0. |
410 | | [source:trunk/schema/scripts/workflow/Filter_4_07_insert_div.pl Filter_4_07_insert_div] |
411 | | |
412 | | {{{<div>}}}-Struktur für das Inhaltsverzeichnis erstellen: Erstmal {{{<div>}}} von einer {{{<head>}}}-Gruppe bis zum nächsten. Automatisch erstellte {{{<div>}}} sind alle auf demselben level. {{{n}}} und {{{level}}} werden mit {{{n="0"}}} und {{{level="0"}}} gefüllt. Korrigiere anschließend (automatisch?) bei den {{{<head>}}}, die eigentlich Footer sind. |
413 | | |
414 | | (Dieser Schritt ist nicht wirklich nötig für einen schemakonformen, aber man bekommt es quasi geschenkt.) |
| 423 | Das Skript [source:trunk/schema/scripts/workflow/Filter_4_07_insert_div.pl Filter_4_07_insert_div] fügt eine simple <div>-Struktur in den Text ein, indem es bei jeder <head>-Gruppe ein <div> beginnen lässt. Dadurch bekommt der Text ein rudimentäres Inhaltsverzeichnis. (Dieser Schritt ist nicht wirklich nötig für einen schemakonformen, aber man bekommt es quasi geschenkt.) |
| 424 | |
| 425 | * Automatisch erstellte {{{<div>}}} sind alle auf demselben level. Für eine hierarchische <div>-Struktur muss die automatische <div>-Struktur per Hand nachbearbeitet werden. |
| 426 | * {{{n}}} und {{{level}}} werden mit {{{n="0"}}} und {{{level="0"}}} gefüllt und erst im Schritt 5.06 korrekt durchnumeriert. |
| 427 | * Korrigiere <div> (automatisch?) bei den {{{<head>}}}, die eigentlich Footer sind. |
422 | | |
423 | | === 5. weitere Schritte === |
424 | | |
425 | | Hier gibt es einen Einschnitt im workflow: Der schemakonforme xml-Text wird bearbeitet. Es ist dann nicht mehr möglich, einfach zum raw text zurückzukehren und alle Bearbeitungsschritte noch einmal zu machen. |
426 | | |
427 | | Die Nummern dieser Skripte können sich noch ändern. Legt die Hierarchie der inline-Elemente (z.B. <var> in plaintext, <ref> im inline model) eine Verarbeitungsreihenfolge nahe? |
| 435 | === 5. weitere Schritte und scholarly workflow === |
| 436 | |
| 437 | Hier gibt es einen Einschnitt im workflow: Der schemakonforme xml-Text wird bearbeitet. Es ist dann nicht mehr möglich, einfach zum raw text zurückzukehren und alle Bearbeitungsschritte noch einmal zu machen. Dies fällt, wie schon in Schritt 2 gesagt, idealerweise mit dem Beginn des scholarly workflow zusammen. |
| 438 | |
| 439 | Die Nummern dieser Skripte in diesem Schritt skönnen sich noch ändern. Legt die Hierarchie der inline-Elemente (z.B. <var> in plaintext, <ref> im inline model) eine Verarbeitungsreihenfolge nahe? |
432 | | [source:trunk/schema/scripts/workflow/Filter_5_01_insert_reg.pl Filter_5_01_insert_reg] (mit Parametern) |
433 | | |
434 | | Problem der Wort-Abkürzungen mit Kasus. Verwende dort {{{<ref>}}}, falls möglich. |
435 | | |
436 | | Test: Kein Zeichen, das normalisiert werden soll, darf hinterher noch im Text (außerhalb von {{{<reg>}}}) sein, zum Beispiel kein Zeichen mit Tilde (mit Ausnahmen in manchen Sprachen). Für !Latein/Benedetti: |
437 | | |
438 | | * Zeichen mit Tilde (ã ẽ ĩ õ ũ ñ) |
439 | | * combining tilde (insbesondere p̃ t̃ q̃ r̃) |
440 | | * combining acute (insbesondere q́) |
441 | | * medievalist characters: ꝑ ꝓ ꝗ ꝗ̃ ꝙ ꝰ ́ ꝯ |
| 444 | Das Skript [source:trunk/schema/scripts/workflow/Filter_5_01_insert_reg.pl Filter_5_01_insert_reg] regularisiert den Text. Für eine ausführlichere Diskussion von <reg> siehe [wiki:regularisierung hier]. |
| 445 | |
| 446 | Wie beim <s>-Skript kann man hier einige Parameter wählen. Details stehen noch nicht fest. |
| 447 | |
| 448 | Kein Zeichen, das normalisiert werden soll, darf hinterher noch im Text (außerhalb von {{{<reg>}}}) sein, zum Beispiel kein Zeichen mit Tilde (mit Ausnahmen in manchen Sprachen). Für !Latein/Benedetti: |
| 449 | |
| 450 | * Zeichen mit Tilde: ã ẽ ĩ õ ũ ñ |
| 451 | * combining tilde, insbesondere p̃ t̃ q̃ r̃ (viele Fonts zeigen solche combining characters nicht über, sondern neben dem Zeichen an; dann muss der User einen Font wähen, der sich besser an die Unicode-Vorgaben hält) |
| 452 | * combining acute, insbesondere q́ |
| 453 | * medievalist characters: ꝑ ꝓ ꝗ ꝗ̃ ꝙ ꝰ ́ ꝯ (geeignete Fonts sind Andron, Junicode und Palemonas, die man [http://www.mufi.info/fonts/ hier] bekommt) |
443 | | * Apostroph: insbesondere wird ꝰ manchmal für {{{'}}} gehalten (in den Abschnitten in Benedetti mit {{{xml:lang="it"}}} bzw. {{{xml:lang="ita"}}} ist {{{'}}} dagegen erlaubt) |
444 | | |
445 | | mit [source:trunk/schema/scripts/script-tests/reg-testparcours.txt testparcours] |
| 455 | * Apostroph: in den Abschnitten in Benedetti mit {{{xml:lang="it"}}} bzw. {{{xml:lang="ita"}}} ist {{{'}}} dagegen erlaubt |
| 456 | |
| 457 | Beachte: |
| 458 | * der modifier letter us ꝰ wird manchmal für {{{'}}} gehalten |
| 459 | * Problem der Wort-Abkürzungen mit Kasus, zum Beispiel {{{ex .7. quinti Eucl.}}}. Verwende dort {{{<ref>}}}, falls möglich. |
| 460 | |
| 461 | Für dieses Skript gibt es einen [source:trunk/schema/scripts/script-tests/reg-testparcours.txt testparcours]. |
450 | | [source:trunk/schema/scripts/workflow/Filter_5_02_insert_var.pl Filter_5_02_insert_var] (mit Parametern) |
451 | | |
452 | | Ziel: verberge den Inhalt vor der morphologischen Analyse |
453 | | |
454 | | Entferne {{{<emph>}}} in Variablen. |
455 | | |
456 | | mit [source:trunk/schema/scripts/script-tests/var-testparcours.txt testparcours] |
| 466 | Das Skript [source:trunk/schema/scripts/workflow/Filter_5_02_insert_var.pl Filter_5_02_insert_var] fügt <var> um Variablen ein. Ein Ziel ist, den Inhalt vor der morphologischen Analyse zu verbergen. |
| 467 | |
| 468 | Eventuell hat dieses Skript ebenfalls Parameter, nämlich wie Variablen im Text aussehen. |
| 469 | |
| 470 | Entferne {{{<emph>}}} in Variablen. |
| 471 | |
| 472 | Für das Skript gibt es einen [source:trunk/schema/scripts/script-tests/var-testparcours.txt testparcours]. |
461 | | [source:trunk/schema/scripts/workflow/Filter_5_03_insert_num.pl Filter_5_03_insert_num] |
462 | | |
463 | | Ziel wieder: verberge den Inhalt vor der morphologischen Analyse |
464 | | |
465 | | [source:trunk/schema/scripts/workflow/Filter_roman_numbers.pl Filter_roman_numbers] (nicht im repository): <num value="..."> für römische Zahlen, wird eventuell Teil des num-Skriptes. |
| 477 | Das Skript [source:trunk/schema/scripts/workflow/Filter_5_03_insert_num.pl Filter_5_03_insert_num] fügt <num> um Zahlen ein, die nicht in der in modernen westlichen Texten üblichen Weise geschrieben sind. Deshalb werden zum Beispiel wohl auch chinesische Zahlen in chinesischen Texten markiert. Ein Ziel ist wieder, den Inhalt vor der morphologischen Analyse zu verbergen. |
| 478 | |
| 479 | (Verwende das Skript {{{Filter_roman_numbers.pl}}}: <num value="..."> für römische Zahlen. Es gibt auch ein Skript, um chinesische Seitenzahlen in westliche Zahlen umzuwandeln.) |
494 | | ==== allgemeines Test-Skript ==== |
495 | | |
496 | | Allgemeines Test-Skript? z.B. gibt es nach Anwenden des Skript zwei Spaces hintereinander? Das muss kein Fehler des Skriptes sein, aber es deutet auf ein Problem hin. |
497 | | |
498 | | Gesamt-Test: Keine Punkte mehr im Text, die nicht |
| 514 | ==== 5.09 allgemeines Test-Skript ==== |
| 515 | |
| 516 | Brauchen wir ein allgemeines Test-Skript? Zum Beispiel kann es nach Anwenden eines Skriptes zwei Spaces hintereinander geben. Das muss kein Fehler des Skriptes sein, aber es deutet auf ein Problem hin. |
| 517 | |
| 518 | Ein möglicher Gesamt-Test für einen sorgfältig annotierten Text: Keine Punkte mehr im Text, die nicht |
523 | | IDs einfügen (es könnte ein Modul geben, in dem das {{{id}}}-Attribut gefordet wird, und das mit der Zwiebelstruktur in diesem Stadium in Aktion tritt. Dann müssen wir nicht in den usage guide schreiben: Es ist zwar formal optional, aber es sollte verwendet werden.) |
524 | | |
525 | | GIS: {{{<person>}}}, {{{<place>}}}, {{{<time>}}}, {{{<event>}}} |
526 | | |
527 | | [source:trunk/schema/scripts/workflow/Filter_punctuation.pl Filter_punctuation] (nicht im repository): Das Skript zur Normalisierung der Interpunktion habe ich vorläufig weggelassen, weil es vermutlich merkwürdige Nebenwirkungen hat. Zum Beispiel spaces vor „:“ weg. (Hier ist die Frage, ob wir Information verlieren, die wir gerne konservieren würden. Beispiel „EPISTOL AE“). Ziel ist wieder, dass sich die folgenden Skripte auf ein einheitliches Format verlassen können. Beispielsweise müsste das reg-Skript, das unter anderem {{{q;}}} durch {{{que}}} ersetzt, nicht noch prüfen, ob es {{{q ;}}} gibt. |
528 | | |
529 | | [source:trunk/schema/scripts/workflow/Filter_Archimedes_to_ECHO.pl Filter_Archimedes_to_ECHO] (nicht im repository): Dieses Skript habe ich für die Umwandlung von Song Yingxing verwendet. Für europäische Texte müsste es überarbeitet werden. |
530 | | |
531 | | [source:trunk/schema/scripts/workflow/Filter_4_04a_test_s.pl Filter_4_04a_test_s] ?? |
| 547 | Filter_punctuation.pl: Das Skript zur Normalisierung der Interpunktion habe ich vorläufig weggelassen, weil es vermutlich merkwürdige Nebenwirkungen hat. Zum Beispiel spaces vor „:“ weg. (Hier ist die Frage, ob wir Information verlieren, die wir gerne konservieren würden. Beispiel „EPISTOL AE“). Ziel ist wieder, dass sich die folgenden Skripte auf ein einheitliches Format verlassen können. Beispielsweise müsste das reg-Skript, das unter anderem {{{q;}}} durch {{{que}}} ersetzt, nicht noch prüfen, ob es {{{q ;}}} gibt. |
| 548 | |
| 549 | Filter_Archimedes_to_ECHO.pl: Dieses Skript habe ich für die Umwandlung von Song Yingxing verwendet. Für europäische Texte müsste es überarbeitet werden. |