[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