[Tustep-Liste] Inhalt einer Datei in Einzeldateien speichern
Stephan Moser
dtpw020 at mail.uni-wuerzburg.de
Do Okt 6 15:57:54 CEST 2005
Lieber Herr Brunschoen,
unterstellend, dass die Namenserweiterung ".xml" nicht nur "Larve" ist,
dass also Ihre <page nr="3"> am Ende auch ein </page> hat,
schlage ich folgende Lösung vor:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<!-- was transformiert werden soll: -->
<xsl:template match="//page">
<!-- Variable für Zieldatei: -->
<xsl:variable name="datei">
<!-- belegen mit der Seitennummer: -->
<xsl:value-of select="@nr"/>
<!-- und der Extension '.xml': -->
<xsl:text>.xml</xsl:text>
</xsl:variable>
<!-- Zieldatei bestimmen: -->
<xsl:result-document href="{$datei}">
<!-- <page> und den vielen Text darin
unveraendert ausgeben: -->
<xsl:copy-of select="."/>
</xsl:result-document>
</xsl:template>
</xsl:transform>
Sie können die Transformation mit einem beliebigen XSLT 2.0-Prozessor
durchführen. Ich benutze gern Saxon 8.5, weil man ihn per DOS-Befehlszeile
aufrufen kann. Wenn Sie die Zieldateien mit TUSTEP weiterverarbeiten
wollen, könnten Sie daher den Java-Aufruf für Saxon per $execute absetzen.
Allerdings fällt mir kein Weg ein, TUSTEP mitzuteilen, welche Zieldateien
enstanden sind und deshalb importiert werden müssen.
In dieser Kürze herzlichen Gruß nach Berlin
Ihr Stephan Moser
>
> in einer Datei sind Daten nach folgenden Schema geordnet:
>
> 8.1 | <page nr="3">
> 8.2 | Viel Text
> 8.3 | Viel Text
>
>
> 9.1 | <page nr="57">
> 9.1 | Noch viel mehr Text
>
> 10.1 | <page nr="63">
> 10.2 | Viel Text
>
> ...
>
> Es wäre hilfreich, wenn Tustep die Daten, die jeweils mit <page
> nr="n"> beginnen, in einer neuen Datei speichern könnte, wobei der
> Dateiname aus dem Wert der Seitenzahl bestehen soll, also z.B. 3.xml,
> 57.xml etc. Im Idealfall beginnt mit <page nr="n"> ein neuer Satz,
> also z.B. 8.1.
>
> Wir brauchen also wohl ein #ko.
>
> TUSTEP müßte
> die Zeichenfolge <<page nr="<>>/" suchen
> den Wert der Seitennummer auslesen, z.B.
> zf+ 1 |<<page nr="<>>/"|
> liv 1 i1 (an dieser Stelle Danke an Herrn Trauth)
>
> ggf. die aktuelle Satznummer auslesen
> den aktuellen Satz kopieren
> prüfen, ob eine Datei mit dem Namen i1.xml vorhanden ist
> Falls nein, eine neue permanente Datei anlegen
> den kopierten Satz einfügen
>
> und weitermachen bis Ende.
>
>
> Wer hat Zeit und Lust mir zu helfen?
>
> Liebe Grüße und vielen Dank im voraus
>
> Wolfram Brunschön.
>
> ------------------------------------------------------------
> Tustep-Liste at itug.de
> https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste
>
>
__________________________________________________________________________________
Dr. Stephan Moser Universität Würzburg
Tel. ++ 931 888 5846 - Kompetenzzentrum
Fax ++ 931 888 4616 für EDV-Philologie -
<sm at germanistik.uni-wuerzburg.de> Am Hubland, D-97074 Würzburg
Mehr Informationen über die Mailingliste Tustep-Liste