diff --git a/controller.xql b/controller.xql index 8d831c10e5506d2933503e94376ad94e1228a8a4..a70306cb1e95111ad0a8204d89bf21a96eb09f9b 100644 --- a/controller.xql +++ b/controller.xql @@ -6,6 +6,8 @@ declare variable $exist:controller external; declare variable $exist:prefix external; declare variable $exist:root external; +import module namespace console="http://exist-db.org/xquery/console"; + if ($exist:path eq '') then <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> <redirect url="{request:get-uri()}/"/> @@ -16,11 +18,22 @@ else if ($exist:path eq "/") then <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> <redirect url="index.html"/> </dispatch> -else if ($exist:path eq "/convert/uri=") then - (: forward root path to index.xql :) - <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> - <redirect url="../rest/intermediate_format.xql?path={substring-after($exist:path, '/convert/uri=')}"/> - </dispatch> +else if ( starts-with($exist:path, "/rest/convert") ) then + (: forwards to the intermediate_format.xql in the rest-dir :) + let $resource := request:get-parameter("resource", ()) + let $uri := request:get-parameter("uri", ()) + let $mode := request:get-parameter("mode", ()) + let $log := (<log root="/rest/convert"><resource>{$resource}</resource><uri>{$uri}</uri><mode>{$mode}</mode></log>) + return ( + console:log($log), + <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> + <forward url="{$exist:controller}/rest/intermediate_format.xql"/> + <set-attribute name="resource" value="{$resource}"/> + <set-attribute name="uri" value="{$uri}"/> + <set-attribute name="mode" value="{$mode}"/> + </dispatch> + ) + else if (ends-with($exist:resource, ".html")) then (: the html page is run through view.xql to expand templates :) <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> @@ -43,11 +56,11 @@ else if (contains($exist:path, "/$shared/")) then else if (contains($exist:path, "/$resources/")) then <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> <forward url="{$exist:controller}/resources/{substring-after($exist:path, '/$resources/')}"> - <set-header name="Cache-Control" value="max-age=3600, must-revalidate"/> + <set-header name="Cache-Control" value="max-age=0, must-revalidate"/> </forward> </dispatch> else (: everything else is passed through :) <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> <cache-control cache="yes"/> - </dispatch> + </dispatch> \ No newline at end of file diff --git a/data/samples/samples.xml b/data/samples/samples.xml index d8a8330f83f5d73e5b80c7b71af16f43269b0bc5..776378cc024541ed8619d5716ba98fb2a4566339 100644 --- a/data/samples/samples.xml +++ b/data/samples/samples.xml @@ -2,308 +2,35 @@ <?xml-model href="http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?><?xml-model href="http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?> <TEI xmlns="http://www.tei-c.org/ns/1.0"> - <teiHeader xml:id="noe_header"> - <!-- Dateibeschreibung --> - <fileDesc> - <!--Titelbeschreibung --> - <titleStmt> - <title level="s"> - <title type="main">Bibliothek der Neologie (BdN)</title> - <title type="sub">Kommentierte kritische Auswahledition in zehn Bänden</title> - </title> - <title level="a">BdN VI: Johann August Nösselt, Anweisung zur Bildung angehender - Theologen (1. Aufl. 1786/89; 2. Aufl. 1791; 3. Aufl. 1818/19)</title> - <author> - <persName> - <ref target="#textgrid:24gvc">Nösselt, Johann August</ref> - </persName> - </author> - <principal> - <persName>Beutel, Albrecht</persName> - </principal> - <respStmt> - <resp from="2015-04">Informationswissenschaftliche und -technologische - Leitung</resp> - <persName>Blümm, Mirjam</persName> - </respStmt> - <respStmt> - <resp key="former" from="2014-04" to="2015-03">Informationswissenschaftliche und - -technologische Leitung</resp> - <persName>Neuroth, Heike</persName> - </respStmt> - <editor> - <persName>Lemitz, Bastian</persName> - <persName>Söntgerath, Olga</persName> - </editor> - <respStmt> - <resp>Editorische Mitarbeit</resp> - <persName>Figgen, Larissa</persName> - <persName>Huck, Johannes</persName> - <persName>Stallmann, Marco</persName> - </respStmt> - <respStmt> - <resp key="former" from="2014-05" to="2016-09">Editorische Mitarbeit</resp> - <persName>Goormann, Lena</persName> - </respStmt> - <respStmt> - <resp key="former" from="2014-05" to="2015-09">Editorische Mitarbeit</resp> - <persName>Meier, Lars-Steffen</persName> - </respStmt> - <respStmt> - <resp>TEI-Schema und Metadaten</resp> - <persName>Sikora, Uwe</persName> - </respStmt> - <respStmt> - <resp from="2015-10">Visualisierung und Portal</resp> - <persName>Rodzis, Michelle</persName> - </respStmt> - <respStmt> - <resp key="former" from="2014-05" to="2015-09">Visualisierung und Portal</resp> - <persName>Riebl, Hannes</persName> - </respStmt> - <respStmt> - <resp from="2015-10">Serverpflege</resp> - <persName>Veentjer, Ubbo</persName> - </respStmt> - <sponsor>Deutsche Forschungsgemeinschaft (DFG)</sponsor> - </titleStmt> - - <!-- Editionsbeschreibung --> - <editionStmt> - <edition>Johann August Nösselt, Anweisung zur Bildung angehender Theologen (1. Aufl. - 1786/89; 2. Aufl. 1791; 3. Aufl. 1818/19), hg. v. Albrecht Beutel, Bastian - Lemitz u. Olga Söntgerath (BdN VI), <date>2017</date> - </edition> - </editionStmt> - - <!-- Größe und Umfang des digitalen Dokuments --> - <extent> - <measure unit="MB" quantity="123">xxx MB</measure> - <measure unit="pages" quantity="234">xxx Seiten</measure> - </extent> - - <!-- Publikationsbeschreibung --> - <publicationStmt> - <publisher>DFG-Projekt "Bibliothek der Neologie. Kommentierte kritische - Auswahledition in zehn Bänden", Seminar für Kirchengeschichte II, - Evangelisch-Theologische Fakultät, Westfälische Wilhelms-Universität - Münster</publisher> - <publisher>Niedersächsische Staats- und Universitätsbibliothek Göttingen, - Abteilungen: Forschung und Entwicklung, Informations- und Literaturversorgung - Zentrale Erwerbung und Erschließung (Gruppe Metadaten und - Datenkonversion)</publisher> - <distributor> - <persName>Beutel, Albrecht</persName> - <persName>Söntgerath, Olga</persName> - </distributor> - <authority> - <persName>Blümm, Mirjam</persName> - </authority> - <date>2017</date> - <availability status="free"> - <licence target="https://creativecommons.org/licenses/by-sa/3.0/legalcode"> - <p>Creative Commons Attribution-ShareAlike 3.0 Unported License</p> - </licence> - </availability> - </publicationStmt> - - <!-- Reihenbeschreibung --> - <seriesStmt> - <title level="s"> - <title type="main">Bibliothek der Neologie (BdN)</title> - <title type="sub">Kommentierte kritische Auswahledition in zehn Bänden</title> - </title> - <title level="a"> - <title type="main">BdN VI: Johann August Nösselt, Anweisung zur - Bildung angehender Theologen (1. Aufl. 1786/89; 2. Aufl. 1791; 3. Aufl. - 1818/19)</title> - <title type="condensed">Nösselt, Anweisung zur Bildung angehender Theologen <hi rend="superscript">1</hi>1786/89–<hi rend="superscript">3</hi>1818/19</title> + <teiHeader> + <fileDesc> + <titleStmt> + <title level="s"> + <title type="main">Bibliothek der Neologie (BdN)</title> + <title type="sub">Kommentierte kritische Auswahledition in zehn Bänden</title> </title> - <respStmt> - <resp>Reihenherausgeber</resp> - <persName>Beutel, Albrecht</persName> - <persName>Söntgerath, Olga</persName> - </respStmt> - <respStmt> - <resp>Bandherausgeber</resp> - <persName>Beutel, Albrecht</persName> - <persName>Lemitz, Bastian</persName> - <persName>Söntgerath, Olga</persName> - </respStmt> - </seriesStmt> - - <!-- Quellenbeschreibung --> - <sourceDesc> + <title level="a">Samplefile to build the INtermediateFormat from</title> + </titleStmt> + <sourceDesc> <listWit> - <witness xml:id="a"> - <desc>1. Aufl. 1786/89</desc> - <bibl>Anweisung zur Bildung angehender Theologen. von D. Johann August - Nösselt. Erster Theil. Halle, bey Joh. Jac. Curts Wittwe, 1786, [XVI], - 1–288 S.; Zweyter Theil, 1786, [IV], 289–580 S.; Dritter und letzter - Theil, 1789, [XII], 581–824 S. Vorlage: Universitäts- und - Landesbibliothek Sachsen-Anhalt, Signatur: Ia 1630 (Hefte 1–3), - Standort: Ha 179.</bibl> - </witness> - <witness xml:id="b"> - <desc type="base-text">2. Aufl. 1791</desc> - <bibl>Anweisung zur Bildung angehender Theologen, von D. Johann August - Nösselt. Erster Band. Zweyte vermehrte und verbesserte Auflage. Halle, - bey Joh. Jac. Curts Wittwe, 1791, [XXVIII], 340 S.; Zweyter Band, 1791, - 320 S.; Dritter und letzter Band, 1791, 256 S. Vorlage: - Evangelisch-Theologische Seminare der Westfälischen Wilhelms-Universität - Münster, Signatur: 8: 2007/4.</bibl> - </witness> - <witness xml:id="c"> - <desc>3. Aufl. 1818/19</desc> - <bibl>Anweisung zur Bildung angehender Theologen, von Johann August Nösselt, - weil. Königl. Preußischem Geheimderath, Doctor und Professor der - Theologie zu Halle. Herausgegeben und mit Anmerkungen, literarischen - Zusätzen und Ergänzungen begleitet von D. August Hermann Niemeyer, - Königl. Preuß. Oberkonsistorialrath, Kanzler und Professor der Theologie - auf der vereinigten Friedrichsuniversität Halle und Wittenberg, Director - der Frankischen Stiftungen, auch Ritter des rothen Adlerordens dritter - Klasse. Erster Band. Dritte Auflage. Halle, im Verlage der Curtschen - Buchhandlung, 1818, XXX, 303 S.; Zweiter Band, 1818, VIII, 275 S.; - Dritter Band, 1819, X, 228 S. Vorlage: Staatsbibliothek zu Berlin – - Preußischer Kulturbesitz, Signatur: Bc 1266 1–3.</bibl> - </witness> - </listWit> - </sourceDesc> - </fileDesc> - - <!-- Beschreibung der Editionsrichtlinien --> - <encodingDesc> - <projectDesc> - <p>DFG-Projekt "Bibliothek der Neologie. Kommentierte kritische Auswahledition in - zehn Bänden", Seminar für Kirchengeschichte II, Evangelisch-Theologische - Fakultät, Westfälische Wilhelms-Universität Münster</p> - </projectDesc> - <editorialDecl> - <p>Eine umfassende Beschreibung der Editionsrichtlinien siehe <ref target="http://www.bdn-edition.de/editionsrichtlinien.html">http://www.bdn-edition.de/editionsrichtlinien.html</ref>.</p> - <p>Dieses Dokument ist an das BdN-Verweisnetz angebunden, welches bibliographische - und Personendaten nach dem "Resource Description Framework" (RDF) zur Verfügung - stellt. Nähere Informationen dazu sind in Kapitel 4 der o.g. Richtlinien zu - finden.</p> - </editorialDecl> - </encodingDesc> - <!--<styleDefDecl scheme="css" schemeVersion="2.1"/> - <variantEncoding method="parallel-segmentation" location="internal"/>--> - - <!-- Profilbeschreibung, ggf. ergänzen --> - - - <revisionDesc> - <change when="2014-05-12">Beginn: Transkription der Leitauflage im Word-Format.</change> - <change when="2014-06-03">Beginn der ersten Korrekturphase durch abgleichende Lektüre - des Leittextes aus Word-Dateien mit dem Original.</change> - <change when="2014-07-07">Ende: Transkription der Leitauflage im Word-Format.</change> - <change when="2014-07-09">Datenkonversion ins XML-Format. Der Textbestand liegt zunächst - in Einzelsegmenten von ca. 20-30 Originalseiten vor, um die zeitgleiche Arbeit - mehrerer Personen an den Dokumenten zu ermöglichen.</change> - <change when="2014-07-31">Ende: Erste Korrekturphase des Leittextes. Fehlerkorrektur im - XML-Editor.</change> - <change when="2014-08-11">Auszeichnung Textstruktureinheiten (Kapitel, Paragraphen, - Überschriften, Absätze, Annotationen und ihre Verknüpfung mit dem Fließtext, - Aufzählungen, Seitenumbrüche), graphischer Hervorhebungen des Textes (Kursivdruck), - Sprache (Griechisch, Hebräisch) sowie Sonderzeichen. Erste - Markup-Kontrolle.</change> - <change when="2014-08-27">Auszeichnung und Auflösung von Abkürzungen und Druckfehlern; - Überprüfung von Sonderzeichen.</change> - <change when="2014-08-28">Beginn der zweiten Korrekturphase durch abgleichende Lektüre - des Leittextes aus der XHTML-Ansicht im Projektportal mit dem Original.</change> - <change when="2014-10-27">Anpassung der Auszeichnung, insbesondere Typisierung von - Annotationen (authorial/editorial), Präzisierung der XML-ID-Vergabe, Referenzierung - von Seitenwechsel.</change> - <change when="2014-12-04">Ende der zweiten Korrekturphase.</change> - <change when="2014-12-16">Beginn: Kollation aller Auflagen, Auszeichnung des - textkritischen Apparates (Textkritik) nach der Double-Endpoint-Methode.</change> - <change when="2015-04-20">Wechsel zu der Parallel-Segmentation-Methode in der - Auszeichnung der Textkritik wegen unzureichender Prozessierbarkeit der Daten. - Implementierung einer Korrekturansicht im TextGrid-Lab zur sofortigen Überprüfung - der Textkritik-Auszeichnung. Verknüpfung aller Dateien mit CSS und XSLT. Kontrolle - der Textkritikauszeichnung nach einer maschinellen Überführung der bereits - ausgezeichneten Daten in die Parallel-Segmentation-Methode und deren Anpassung - aufgrund eines geringfügigen Informationsverlusts.</change> - <change when="2015-06-04">Korrekturlektüre des Textausschnittes für die Modelledition - aus der Printversion.</change> - <change when="2015-08-01">Beginn: Anlegen der RDF-Objekte (Personen, bibliographische - Angaben). Beginn: editorische Erläuterungen.</change> - <change when="2015-08-13">Ende: Kollation aller Auflagen und - Textkritikauszeichnung.</change> - <change when="2015-09-03">Verlinkung der Querverweise im Text und zu den - Inhaltsverzeichnissen sowie zu den Corrigendalisten in allen Auflagen.</change> - <change when="2015-09-15">Anlegen der Hauptdatei, die alle Einzeldateien includiert. - Anbinden aller Texte aus den Einzeldateien an die Hauptdatei.</change> - <change when="2015-10-01">Differenzierte Anlage der Metadaten im Header der Hauptdatei - und kontinuierliche Metadatenpflege.</change> - <change when="2015-11-02">Verlinkung zu den autorschaftlichen Annotationen in allen - Auflagen.</change> - <change when="2015-11-15">Beginn: Anbinden der RDF-Objekte und gleichzeitige - Auszeichnung des Personenregisters und des Registers Antiker Autoren im ersten - Teilband.</change> - <change when="2015-12-01">Beginn: Auszeichnung variierender Strukturen der - Einzelauflagen (Strukturkritik). Kontrolle der Strukturkritikauszeichnung mithilfe - von Ansichten der Einzelauflagen im Projektportal.</change> - <change when="2016-02-15">Korrekturlektüre des Textausschnittes für die Modelledition - aus der druckähnlichen textkritischen Ansicht im Projektportal.</change> - <change when="2016-02-16">Korrekturlektüre des Textausschnittes für die Modelledition - aus den Einzelansichten aller Auflagen im Projektportal.</change> - <change when="2016-04-18">Beginn der ersten Korrekturphase der Textkritikauszeichnung - des gesamten Bandes.</change> - <change when="2016-05-03">Beginn: semantische Bibelstellenauszeichnung und gleichzeitige - Bibelstellenindexierung.</change> - <change when="2016-05-09">Anpassung der Listenauszeichnung.</change> - <change when="2016-05-30">Kontrolle der Metadaten im Header.</change> - <change when="2016-05-31">Erneute Korrekturlektüre des Textausschnittes für die - Modelledition aus der Printversion.</change> - <change when="2016-06-29">Veröffentlichung der Modelledition am Beispiel der Paragraphen - 140-150 des ersten Teilbandes.</change> - <change when="2016-09-08">Ende der ersten Korrekturphase der Textkritikauszeichnung des - gesamten Bandes. Gleichzeitige Anpassung der Textkritikauszeichnung.</change> - <change when="2016-10-01">Ende: semantische Bibelstellenauszeichnung und gleichzeitige - Bibelstellenindexierung.</change> - <change when="2016-10-17">Beginn: Kontrolle der Satzfehlerauszeichnung.</change> - <change when="2016-10-25">Beginn: Überprüfen der Querverweise im Text in ihrer - inhaltlichen Richtigkeit.</change> - <change when="2016-11-04">Ende: Überprüfen der Querverweise im Text in ihrer - inhaltlichen Richtigkeit.</change> - <change when="2016-11-07">Beginn: Anbinden der RDF-Objekte und gleichzeitige - Auszeichnung des Personenregisters und des Registers Antiker Autoren im dritten - Teilband.</change> - <change when="2016-11-25">Überführen der Seitenumbrüche in die - Block-Level-Elemente.</change> - <change when="2016-12-09">Anreicherung der Kapitel-Elemente auf allen hierarchischen - Ebenen mit XML-ID.</change> - <change when="2016-12-14">Ende: Anbinden der RDF-Objekte und gleichzeitiges Auszeichnen - des Personenregisters und des Registers Antiker Autoren im dritten - Teilband.</change> - <change when="2016-12-21">Inhaltliche Überprüfung der Berichtigung von Satzfehlern im - gesamten Band.</change> - <change when="2017-02-01">Beginn: Auswahl einschlägiger Begriffe für das Sachregister - und gleichzeitiges Auszeichnen des Sachregisters.</change> - <change when="2017-02-02">Korrektur des Bibelstellenregisters aus der ersten Printfahne, - Korrektur der Auszeichnung.</change> - <change when="2017-03-06">Ende: Auszeichnen des Sachregisters.</change> - <change when="2017-03-07">Wiederholte Kontrolle der Strukturkritikumsetzung mithilfe von - Ansichten der Einzelauflagen im Projektportal.</change> - <change when="2017-04-03">Kontrolle der Funktionalität der RDF-Objekte und deren - Anbindung an die Daten über die interaktive Ansicht im Projektportal.</change> - <change when="2017-05-15">Erste Printkontrolle des gesamten Bandes.</change> - <change when="2017-05-25">Kontextualisierende inhaltliche Einleitung erarbeitet und - korrigiert.</change> - <change when="2017-06-26">Auszeichnen der kontextualisierenden inhaltlichen - Einleitung.</change> - <change when="2017-07-13">Auszeichnung der Kolumnentitel für den Print.</change> - <change when="2017-08-24">Beginn: Anbinden der RDF-Objekte und gleichzeitiges - Auszeichnen des Personenregisters und des Registers Antiker Autoren im zweiten - Teilband.</change> - </revisionDesc> - </teiHeader> - <text> - <body> - <div n="0"> - <app> - <lem> + <witness xml:id="a"> + <desc>1. Aufl. 1786/89</desc> + </witness> + <witness xml:id="b"> + <desc type="base-text">2. Aufl. 1791</desc> + </witness> + <witness xml:id="c"> + <desc>3. Aufl. 1818/19</desc> + </witness> + </listWit> + </sourceDesc> + </fileDesc> + </teiHeader> + <text> + <body> + <div n="0"> + <app> + <lem> <titlePage> <titlePart type="main"> <pb edRef="#b" type="sp" n="I"/> diff --git a/rest/intermediate_format.xql b/rest/intermediate_format.xql index 65ba12d5bc572f3758ffdad7cd137988c77b6b52..e205316c5c8a70793c923599aea5d15d49754c75 100644 --- a/rest/intermediate_format.xql +++ b/rest/intermediate_format.xql @@ -4,13 +4,14 @@ declare namespace tei = "http://www.tei-c.org/ns/1.0"; import module namespace pre="http://bdn.edition.de/intermediate_format/preprocessing" at "xmldb:exist:///db/apps/interformat/modules/intermediate_format/preprocessing.xqm"; import module namespace ident = "http://bdn.edition.de/intermediate_format/identification" at "xmldb:exist:///db/apps/interformat/modules/intermediate_format/identification.xqm"; - +(: http://localhost:8080/exist/rest/apps/interformat/rest/intermediate_format.xql :) declare option exist:serialize "method=xml media-type=text/xml omit-xml-declaration=no indent=no"; -(: http://localhost:8080/exist/rest/apps/interformat/rest/intermediate_format.xql :) -declare variable $doc-path := request:get-parameter("path", ()); -(:declare variable $doc-path := "/db/apps/interformat/data/samples/samples4.xml";:) -let $doc := doc($doc-path) +declare variable $resource-uri := request:get-parameter("resource", ("/db/apps/interformat/data/samples/samples.xml")); +declare variable $uri := request:get-parameter("uri", ()); +declare variable $mode := request:get-parameter("mode", ()); + +let $doc := doc($resource-uri) let $preprocessed-data := pre:preprocessing($doc/tei:TEI) return ( ident:walk($preprocessed-data, ())