wiki:echo-schema

Version 16 (modified by Wolfgang Schmidle, 14 years ago) (diff)

--

Das ECHO-Schema

Auf dieser Seite wird das ECHO-Schema beschrieben.

1. Übersicht

Übersichtsgrafik über die Schema-Module:

No image "schema_overview.gif" attached to echo-schema

Schema-Struktur

Das Schema besteht aus Gruppen von Modulen, die im Schaubild mit schwarzen Rahmen markiert sind:

  1. Standard-Module
  2. Module zur Grobstrukturierung des Textes
    • text structure: div, milestone. Diese Module sind optional, aber wird bekommen die entsprechende Information aus dem transkribierten Text, und unser Anzeigesystem benötigt diese Informationen.
  3. 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.
  4. Module für die Auszeichnung von Text:

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:

  1. 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.

  1. 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)

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-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>

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