Version 19 (modified by 14 years ago) (diff) | ,
---|
Das ECHO-Schema
Auf dieser Seite wird das ECHO-Schema beschrieben.
1. Übersicht
Übersichtsgrafik über die Schema-Module:
Schema-Struktur
Das Schema besteht aus Gruppen von Modulen, die im Schaubild mit schwarzen Rahmen markiert sind:
- Standard-Module
- Module zur Grobstrukturierung des Textes
- Module zur Feinstrukturierung des Textes
- additional text blocks (floats): float, note, import-xhtml, figure, handwritten. Diese Module sind ebenfalls optional, aber wird bekommen die entsprechende Information aus dem transkribierten Text.
- additional text blocks (non-floats): textflows, block-scholarly. Diese optionalen Module werden bei Texten mit mehreren Textflows (z.B die "Conimbricenses") sowie bei der Erstellung von Editionen mit wissenschaftlichem Anspruch benötigt.
- Module für die Auszeichnung von Text:
- additions to the inline model: gap, de, mathematics, import-mathml, gis, content-scholarly. Diese optionalen Module sind (bis auf gap) Teil der wissenschaftlichen Bearbeitung der Texte
- additional attributes for Chinese text: chinese-text. Dieses Modul wird für chinesischen Text benötigt. Die entsprechenden Informationen sind in der Transkription bereits enthalten.
Die Grund-Datei des Schemas ist echo.rnc im Verzeichnis trunk/schema/schema/echo, in der die Version des Schemas (z.B. 1.0) sowie die verwendeten namespaces definiert werden. In der Grund-Datei werden außerdem die Module eingebunden. Wenn man für einen bestimmten Text nicht alle Module benötigt, kann man die entsprechenden Zeilen einfach auskommentieren. Zum Beispiel sind in echo-automated-european.rnc die Module chinese-text für chinesischen Text und content-scholarly für nicht-automatisierbare Textverbesserungen auskommentiert.
Die Module sind alle im Unterverzeichnis modules, bis auf import-xhtml, das zusammen mit einigen unnverändert übernommenen xhtml-Modulen im Unterverzeichnis xhtml ist.
Beziehungen zwischen den Modulen
Die Beziehungen zwischen den Modulen sind im Schaubild durch Pfeile dargestellt. Dazu einige Erläuterungen:
- Pfeile
- A → B: Modul A modifiziert Modul B, indem es in A definierte Klassen oder Elemente in in B definierten Klassen oder Elementen erlaubt
- A --> B: Modul A weiß von Modul B, modifiziert es aber nicht
Die Pfeile geben also nicht die Hierarchie der Elemente im XML-Dokument wieder. Sondern: Wenn man B auskommentiert, wird A nicht mehr richtig funktionieren.
- Farben
- grün: Module
- dunkelgrün: Information in der Transkription enthalten
- hellgrün: Information nicht in der Transkription enthalten
- rot: Element/Klasse wird in diesem Modul definiert
- gelb: entspricht einem Pfeil, also A modifies B; wird verwendet, wenn ein Pfeil das Schaubild verwirren würde
- weiß: modifiziert Modul B, indem es Attribute ergänzt
- blau: A verwendet ein in echo-content definiertes Textmodell (weggelassen, wenn A bereits einen Pfeil zu echo-content hat)
- grün: Module
Die Definitionen in den Modulen echo-attribute und echo-datatype werden von allen anderen Modulen verwendet. Verbindungen zu diesen Modulen sind nicht eingezeichnet.
Das originale PDF ist hier: PDF; Legende zur Grafik: PDF (Beides Stand März 2010. Die Struktur des Schemas hat sich kaum geändert; trotzdem TO DO: aktualisieren)
2. Usage Guide
Eine erste Version des Usage Guide für das Schema: PDF (Stand April 2010; TO DO: aus LaTeX in das Wiki übertragen, aktualisieren)
General
Design decisions:
- one schema for all texts
- modules should be independent
- tags in the DESpecs should have some counterpart in the Schema, if possible
- however, do not mimic the DESpecs structure
Standard suffixes as in xhtml:
- .attrib (defined in echo-attribute)
- .datatype (defined in echo-datatype)
- .model (defined in echo-content)
- .class (defined in several modules)
IDs are expected, but XML texts should also validate without IDs
Informationsquellen und minimales Schema
Der Kern des Schemas: "(--)" bedeutet: nicht minimal, aber man bekommt etwas dafür, was über die optische Anzeige des Textes hinausgeht
Ebene | minimal | China | Modul | Element |
Grobstruktur | + | -- | echo-start | <echo> |
+ | -- | echo-metadata | <metadata> | |
+/-- | -- | echo-metadata | Metadaten | |
+ | -- | echo-div | <text> | |
Mittelstruktur | (--) | + | echo-div | <div index>, <div toc> |
(--) | -- | echo-div | <div chapter> etc. | |
Feinstruktur | + | + | echo-block | <head>, <p>, <note> |
+ | -- | echo-block | <s> | |
-- | + | echo-block-scholarly | <quote> | |
-- | -- | echo-block-scholarly | <set-off> | |
Text | -- | + | echo-content | <emph> |
(--) | -- | echo-content | <reg> | |
(--) | -- | echo-content-scholarly | <foreign>, <ref> | |
-- | -- | echo-content-scholarly | <sic>, <set-off>, <q> | |
Hilfsmodule | + | n/a | echo-attribute | -- |
+ | n/a | echo-datatype | -- | |
F: Figures | -- | + | echo-figure | <figure>, <caption> etc. |
F: Handwritten | -- | + | echo-handwritten | <handwritten> |
F: Chinese text | -- | + | echo-chinese-text | <head ti>, <p @indent>, <p @ics>, <pb @ics> |
F: Textflows | -- | + | echo-textflows | <head @flow>, <p @flow>, <div multiflow @flows> |
F: Tables | -- | + | echo-imp.-xhtml | <xhtml:table> |
F: Lists | -- | -- | echo-imp.-xhtml | <xhtml:ul> etc. |
F: Floats | -- | -- | echo-float | <div float> |
F: Images | -- | -- | echo-figure | <image> |
T: Milestones | (--) | + | echo-milestone | <pb> (auch F), <lb>, <cb> |
T: Corruptions | -- | + | echo-gap | <gap>, <unsure> |
-- | + | echo-de | <de:unknown>, <de:wrong> | |
T: Chinese notes | -- | + | echo-chinese-text | <lb halfline> |
T: Floats | -- | + | echo-float | <anchor> |
T: numbers etc. | (--) | -- | echo-mathematics | <num>, <var> |
T: formulas | (--) | -- | echo-imp.-mathml | <mml:math> |
T: Verse | -- | -- | echo-textflows | <lb @label> |
T: Images | -- | -- | echo-figure | <image> |
T: Gis | -- | -- | echo-gis | <place>, <time> |
G: Gis | -- | -- | echo-gis | <dcterms:temporal>, <dcterms:spatial> |
Übersicht über die Module
- echo ist die Haupt-Datei des Schemas. Hier werden alle Module geladen.
- echo-start, echo-metadata, echo-div, echo-block, echo-block-scholarly definieren die Struktur des XML-Dokuments bis vom root element
<echo>
bis zum Text-Level:<echo> echo-start.rnc <metadata> echo-metadata.rnc <text> echo-div.rnc <div> - " - <head> echo-block.rnc <p> - " - <s> - " - <note> - " -
- echo-start: Zum root element <echo> gibt es kein Gegenstück in den DESpecs. Es muss in das Dokument eingefügt werden.
- echo-metadata: Zu <metadata> und allen darin enthaltenen Metadaten gibt es kein Gegenstück in den DESpecs. <metadata> und einige Metadaten sind notwendig und müssen in das Dokument eingefügt werden. Andere Metadaten sind optional.
- echo-div: Zu <text> und <div> gibt es ebenfalls kein Gegenstück in den DESpecs. <text> ist notwendig und muss in das Dokument eingefügt werden. <div> kann weggelassen werden.
- echo-block, echo-block-scholarly: <head> und <p> haben direkte Gegenstücke in den DESpecs. <note> hat die Gegenstücke <mgl>, <mgr> und <fn>. Das Element <s> hat kein Gegenstück in den DESpecs. Es muss aber in das Dokument eingefügt werden, um das Dokument valide zu machen.
- echo-content, echo-content-scholarly definieren das Inline-Modell für Text. Der Text muss nicht weiter ausgezeichnet werden, um ein valides Dokument zu haben.
- echo-attribute, echo-datatype definieren Standard-Attribute und -Datentypen. Sie werden von allen Modulen verwendet.
- echo-gap, echo-de
- echo-figure
- echo-handwritten
- echo-milestone
- echo-float
- echo-mathematics
- echo-chinese-text
- echo-gis
- echo-textflows
- echo-import-xhtml
- echo-import-mathml
echo-start
<text>: The default type is "free".
echo-metadata
echo-metadata: There is no counterpart of the metadata in the DESpecs.
dcterms
- <dcterms:identifier>
- <dcterms:title>, <dcterms:alternative>
- <dcterms:alternative> refines <dcterms:title>
- <dcterms:creator>, <dcterms:contributor>
- <dcterms:contributor> refines <dcterms:creator>
- <dcterms:publisher>
- <dcterms:language>
- <dcterms:date>
- <dcterms:description>
- <dcterms:rights>, <dcterms:license>, <dcterms:accessRights>
- <dcterms:license> may be text or a URI.
- <dcterms:license> and <dcterms:accessRights> refine <dcterms:rights>
- <dcterms:rightsHolder>
- <dcterms:provenance>
- <dcterms:dateCopyrighted>
- <dcterms:dateCopyrighted> refines <dcterms:date>
other metadata
- <font>, <font-family>
- echo.font-families <-- "song style" in echo-chinese-text
- <echolink>, <echodir>
In general, there is no counterpart for <text> or <div> in the DESpecs.
echo-div
DESpecs nach Schema:
- <ind> --> <div type="index">
- <toc> --> <div type="toc">
- other types:
- if the type is in the standard list: type="definition" type-free="界"
- if it is not in the standard list: type="other" type-free="界/definition"
echo-block
- Headings: <head>
- <h> --> <head>
- Semantic units: <s>
- (<s> is not in the raw text)
- Floating objects in <s> (all <note>, <handwritten>, <table>; most <figure>; some <math>) are replaced by <anchor> and moved to a <div type="float"> directly behind the <p>. The new <div type="float"> contains all <note>, <handwritten>, <figure>, <table>, <math> that have been moved in this <div>.
- Notes: <note>
- <mgl> --> <anchor type="note"/>, <note position="left">
- <mgr> --> <anchor type="note"/>, <note position="right">
- echo.note.content = echo.flexible.model to allow for different kinds of notes
echo-block-scholarly
- <set-off>
echo-content
Most elements in this module have no counterpart in the Specs and will be added in the post-processing stage.
<emph>
<emph> for emphasis (should be used only when something is not tagged otherwise)
The tags _ _
(for italics), <bf>
, <sc>
, <_>
, <^>
, <ul>
, <ol>
, <st>
, <red>
, <sp>
in the Specs are normally represented by <emph style="...">. The tags can be combined, e.g. <emph style="it bf"> for bold italics. For a whole <s> or <p>, the style attribute is there (or even higher in the hierarchy).
<reg>
Only the original text is regularized using echo.reg; typing conventions and additional typos in the transcription are silently resolved.
list of typing conventions in the DESpecs which are silently resolved:
$
--> ſ\'q
--> q + combining diacritic (U+0300 etc.) and normalization form C, for example q̀- ...
examples:
<reg orig="ijs" type="lig">ijs</reg> <reg orig="sphęrae" type="simple">sphaerae</reg> <reg orig="sphęrae">sphaerae</reg> <reg orig="sphę rae" type="simple">sphae<lb/>rae</reg> <reg orig="eiuſdẽ" type="context">eiuſdem</reg> <reg orig="eſsẽt" type="context">eſsent</reg> <reg orig="lib." type="context">liber</reg> in <reg orig="lib." type="context">libro</reg> <reg orig="qñ" type="wordlist">quando</reg> <reg orig="tm̃" type="wordlist/context">tamen</reg> <reg orig="tm̃" type="wordlist/context">tantum</reg> <reg orig="Arist." type="unresolved">Arist.</reg> <reg orig="inrerrogas" type="typo" resp="paul">interrogas</reg> <reg orig="quem" type="conjecture" resp="paul">quam</reg> <reg orig="re ferre" type="conjecture" resp="paul">re<lb/>ferre</reg> <reg orig="ꝑꝑ" type="unknown">ꝑꝑ</reg> <reg orig="ꝑꝑ" type="conjecture" resp="paul">prope</reg>
note:
- the default type is "simple", e.g. <reg orig="sphęrae">sphaerae</reg> (Beispiel veraltet!) Beachte: der type kann zurzeit nicht weggelassen werden, und das ist auch gut so, falls man nämlich die <reg> automatisiert nachbearbeiten muss.
- the first exampe ijs applies only if
ij
is not silently resolved - missing hyphens are indicated by a soft hyphen "" rather than <reg>; however, you may use "conjecture" in non-trivial cases
- the generic "abbr" may be used for any abbreviation
- abbreviations are not resolved within <ref>, e.g. ex <ref id="N400238">.19. lib. quinti Eu-<lb/>clid.</ref> (wirklich?)
Text-Modelle
Avoiding Recursions: Wie ist die Inline-model-Hierarchie?
- inline anfangen können: s head caption description variables, evtl. note handwritten xhtml
- in inline, und Inhalt inline (mit Rekursionsgefahr): s-set-off, ref, foreign, emph, q
- in inline, und Inhalt plaintext: reg, sic, num, var, place, time
- in inline, und inhalt es selbst: mml.math
- in plaintext, und Inhalt plaintext: gibt es nicht
- in plaintext, Inhalt text: unsure (Inhalt in plaintext ändern?)
- in plaintext, leer: milestones, anchor, gap, unknown, wrong
Schematron-Regel, die Rekursionen aufspürt, d.h.
- z.B. <ref> in <ref>
- z.B. <ref> in <foreign> in ... in <ref>
also zusammen: kein Element aus dieser Gruppe darf sich sich selbst als ancestor haben.
echo-content-scholarly
- <ref>
- <sic> for mistakes in the original text:
- o<!> --> o<de:wrong/> --> <sic comment="n missing">o</sic> (see the discussion in echo-de)
- <foreign>: Foreign text is not marked in the transcription, i.e. <foreign> cannot be inserted automatedly without additional linguistic knowledge.
- Exception: <rom>sentence</rom> --> <foreign xml:lang="la">sentence</foreign> with language "la" as a first guess, and similarly in Chinese text.
- (echo.foreign has echo.core.attrib, but echo.language.attrib is obligatory)
- Quotations:
- <q> is for short inline quotes. Note that echo.delimiter-attrib is optional; however, please use it if possible
- <quote> (echo.quote) for longer inline quotes (one-sentence quote are <quote><s>Sentence.</s></quote> and not <s><q>Sentence.</q></s>)
- <quote> (echo.blockquote) for blockquotes
- Es kann keine Rekursionen von quote-Elementen geben.
3. Umsetzung der XML-tags
Wie die XML-tags und -Attribute umgesetzt werden sollen: PDF (Stand April 2010; TO DO: aus LaTeX in das Wiki übertragen, aktualisieren)
Regeln zur Umsetzung der div-Struktur in ein Inhaltsverzeichnis: PDF (Stand März 2010; immer noch aktuell; muss ich noch implementieren)
Offene Tickets für die Umsetzung: keyword XML