[Tustep-Liste] Einfügen von tags mit tuscript
Dr. Gottfried Reeg
reeg at zedat.fu-berlin.de
Mi Jun 17 10:00:24 CEST 2009
Liebe Frau Jockers,
könnten Sie mir bitte ien paar Daten schicken, das macht die Sache etwas
einfacher.
Grüße aus Berlin
Gottfried Reeg
Barbara Jockers schrieb:
> Diskussionsforum Tustep-Liste
> Weitere Informationen: www.itug.de
> ------------------------------------------------------------
>
> Liebe Listenleser,
>
> leider bin ich am Ende meiner (sehr geringen) tuscript-Weisheit
> angekommen. Ausgangspunkt ist eine aus Word importierte Datei, deren
> Tags wenig geschachtelt hintereinander stehen. Jetzt sollen
> hierarchische Tags eingefügt werden. So soll das ganze nachher aussehen:
>
> <?xml version="1.0"?>
> <document>
> <buchstabe id="BUCHSTABE">
> <segment no="SEGMENTIDENTIFIKATOR">
> <eintrag>
> <ll></ll>
> <koi type="lat"></koi> <!-- kann fehlen -->
> <bed>
> <ae></ae>
> <gram>
> <w></w>
> <sch></sch> <!-- w und sch können (als Paar) mehrmals auftreten -->
> </gram>
> <lv>
> <koi type="lv"></koi> <!-- kann fehlen -->
> <beleg>
> <bl></bl>
> </beleg> <!-- beleg kann mehrmals auftreten -->
> </lv>
> <li></li>
> </bed> <!-- bed kann mehrmals auftreten -->
> </eintrag> <!-- eintrag kann mehrmals auftreten -->
> </segment> <!-- segment kann mehrmals auftreten -->
> </buchstabe> <!-- buchstabe kann mehrmals auftreten -->
> </document>
>
> Die zu bearbeitenden Teildateien haben entweder ein Segment- oder ein
> Buchstabentag. Dieses wird zusammen mit <bed> und <bl> eingefügt
> (s.u.). Außerdem fehlen noch die Tags <eintrag>, <gram>, <lv>. Da
> diese in Abhängigkeit von der Tagumgebung eingesetzt werden müssen,
> brauche ich dafür Bedingungen. (weiter nach dem Makro)
>
> $$ MODE TUSCRIPT
> SET quelle = "dprobe_na.xml"
> SET buchstabe = "d"
> SET segment = "1"
> SET status = CREATE ("zwi3", SEQ-T, -std-)
> IF (segment .EQ. "-") THEN
> BUILD X_TABLE xx = *
> DATA ,<<body>>,<<buchstabe id="{buchstabe}">>,
> DATA ,<<section>>,,
> DATA ,<<ae>>,<<bed>><<ae>>,
> DATA ,<<beleg>>,<<beleg>><<bl>>,
> DATA ,<</beleg>>,<</bl>><</beleg>>,
> DATA ,<</li>>,<</li>><</bed>>,
> DATA ,<</section>>,,
> DATA ,<</body>>,<</buchstabe>>,
> ELSE
> BUILD X_TABLE xx = *
> DATA ,<<body>>,,
> DATA ,<<section>>,<<segment no= "{segment}">>,
> DATA ,<<ae>>,<<bed>><<ae>>,
> DATA ,<<beleg>>,<<beleg>><<bl>>,
> DATA ,<</beleg>>,<</bl>><</beleg>>,
> DATA ,<</li>>,<</li>><</bed>>,
> DATA ,<</section>>,<</segment>>,
> DATA ,<</body>>,,
> ENDIF
> IF (quelle .EI. "_na.xml") THEN
> ACCESS qdaten: READ/STREAM "zwi2" sq.zq/uq, atag + text + etag, typ, stack
> MODIFY ACCESS qdaten X_TABLE xx
> ACCESS zdaten: WRITE/ERASE/STREAM "zwi3" sz.zz/uz, atag+text+etag, num, stack
> LOOP
> READ/EXIT qdaten
> WRITE/NEXT/CLEAR zdaten
> ENDLOOP
> ENDACCESS qdaten
> ENDACCESS zdaten
> RELEASE X_TABLE xx
> ENDIF
>
> Wenn ich das Handbuch richtig verstanden habe, kann ich nach "ACCESS
> zdaten" noch ein zweites Modify schalten, bzw. mehrere, wenn man sie
> in Abhängigkeit von Bedingungen setzt. Aber wie muß ich vorgehen, daß
> danach tags eingefügt werden, und zwar an die richtige Stelle?
> Wahrscheinlich braucht man auch loop dafür?
>
> Für Nachhilfe in dieser Angelegenheit wäre ich äußerst dankbar.
>
> Außerdem habe ich noch ein paar kleine Fragen:
> Gibt es in Tuscript etwas, was dem #ko-Parameter BLU entspricht? Denn
> die Option NSP für READ gilt ja wohl nur für Fremddateien?
> Warum wird die Zieldatei im Programm-Modus numeriert?
>
> In der Hoffnung, daß ich Ihre Geduld nicht zu sehr strapaziere,
> mit vielen Grüßen
> Barbara Jockers
>
> ------------------------------------------------------------
> Tustep-Liste at itug.de
> https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste
>
>
Mehr Informationen über die Mailingliste Tustep-Liste