Benutzer-Werkzeuge

Webseiten-Werkzeuge


tustep:loesungen:tustep_und_xml:standard_makros

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
tustep:loesungen:tustep_und_xml:standard_makros [2018/07/31 17:45]
Daniel Zang angelegt
tustep:loesungen:tustep_und_xml:standard_makros [2021/03/16 05:34] (aktuell)
Zeile 3: Zeile 3:
 ---- ----
 ====== #*TAGS: Erstellen einer Tag-Liste ====== ====== #*TAGS: Erstellen einer Tag-Liste ======
-[[http://www.wikispaces.com/user/view/ms.tru|{{http://www.wikispaces.com/user/pic/ms.tru-lg.jpg?16x16|ms.tru}}]] [[http://www.wikispaces.com/user/view/ms.tru|ms.tru]]\\ \\  Das Standard-Makro "#*TAGSdient der **Erstellung einer Liste** der in einer Quelldatei vorkommenden XML-Tags unter Berücksichtigung ihrer **hierarchischen Verortung**, um diese Tags anschließend in Parameter für das Satzprogramm umwandeln zu können. Damit kann eine nach TUSTEP importierte XML-Datei ohne Konvertierungszwischenschritt unmittelbar gesetzt werden. Weitere Anwendungen sind allerdings ebenfalls denkbar, insbesondere im Hinblick auf die zweite Zieldatei von "#*TAGS". Grundvoraussetzung für die Nutzung von "#*TAGSist, dass die Daten korrekt geschachtelt sind. Die nachfolgenden Codezeilen melden die Quelldatei an, kreieren einige Zieldateien und rufen schließlich das Standardmakro mit den entsprechenden Spezifikationen auf.\\  +- {{files_open:benutzericons:ms.tru-lg.jpg?nolink&16x16|ms.tru}} ms.tru\\ \\ Das Standard-Makro ''#*TAGS'' dient der **Erstellung einer Liste** der in einer Quelldatei vorkommenden XML-Tags unter Berücksichtigung ihrer **hierarchischen Verortung**, um diese Tags anschließend in Parameter für das Satzprogramm umwandeln zu können. Damit kann eine nach TUSTEP importierte XML-Datei ohne Konvertierungszwischenschritt unmittelbar gesetzt werden. Weitere Anwendungen sind allerdings ebenfalls denkbar, insbesondere im Hinblick auf die zweite Zieldatei von ''#*TAGS''. Grundvoraussetzung für die Nutzung von ''#*TAGS'' ist, dass die Daten korrekt geschachtelt sind. Die nachfolgenden Codezeilen melden die Quelldatei an, kreieren einige Zieldateien und rufen schließlich das Standardmakro mit den entsprechenden Spezifikationen auf.\\  
-  #AN,adressbook.tf +<code>#AN,adressbook.tf 
-  #DA,zieltags.tf,seq-ap +#DA,zieltags.tf,seq-ap 
-  #DA,zieltags2.tf,seq-ap +#DA,zieltags2.tf,seq-ap 
-  #DA,reihenfolge.tf,seq-ap +#DA,reihenfolge.tf,seq-ap 
-  #DA,hierarchie.tf,seq-ap +#DA,hierarchie.tf,seq-ap 
-  #DA,protokoll.tf,seq-ap+#DA,protokoll.tf,seq-ap
  
-  #*TAGS,QU=adressbook.tf,ZI=zieltags.tf'zieltags2.tf,LO=+,PR=protokoll.tf,REIH=reihenfolge.tf,HI=hierarchie.tf +#*TAGS,QU=adressbook.tf,ZI=zieltags.tf'zieltags2.tf,LO=+,PR=protokoll.tf,REIH=reihenfolge.tf,HI=hierarchie.tf</code> 
-Über die zusätzliche Spezifikation "MODUSkann gesteuert werden, ob bei der Verarbeitung geprüft werden soll, dass außerhalb des Wurzelelements sowie zwischen dem Wurzelelement und dem ersten ihm untergeordneten Element kein Text außer Leerzeichen steht.\\ \\  In der Datei zieltags.tf steht anschließend die Liste der Tags aus der Quelldatei. Ihre Stellung in der Taghierarchie kommt durch die Angabe der Punkte vor dem jeweiligen Tag zum Ausdruck:\\ \\ {{/file/view/tags1.PNG/605402039/tags1.PNG|tags1.PNG}}\\ \\  Diese Datei kann anschließend manuell um die gewünschten Satzinformationen ergänzt werden:\\ \\ {{/file/view/tags2.PNG/605402119/tags2.PNG|tags2.PNG}}\\ \\ [[/file/view/zieltagsman.tf/605402339/zieltagsman.tf|{{http://www.wikispaces.com/i/mime/32/text/html.png?32x32|zieltagsman.tf}}]][[/file/view/zieltagsman.tf/605402339/zieltagsman.tf|zieltagsman.tf]]\\  +Über die zusätzliche Spezifikation ''MODUS'' kann gesteuert werden, ob bei der Verarbeitung geprüft werden soll, dass außerhalb des Wurzelelements sowie zwischen dem Wurzelelement und dem ersten ihm untergeordneten Element kein Text außer Leerzeichen steht.\\ \\ In der Datei zieltags.tf steht anschließend die Liste der Tags aus der Quelldatei. Ihre Stellung in der Taghierarchie kommt durch die Angabe der Punkte vor dem jeweiligen Tag zum Ausdruck:
- +
-  * [[/file/detail/zieltagsman.tf|Details]] +
-  * [[/file/view/zieltagsman.tf/605402339/zieltagsman.tf|Download]] +
-  * 2 KB +
-\\ \\  Gegebenenfalls ist vor dem Start des Satzlaufs noch Preprocessing notwendig, um die Quelldatei für den Satz aufzubereiten (s. z.B. Einzelzeichencodierung; s. "#KOPIERE"):\\ \\ [[/file/view/satz.p/605402381/satz.p|{{http://www.wikispaces.com/i/mime/32/application/octet-stream.png?32x32|satz.p}}]][[/file/view/satz.p/605402381/satz.p|satz.p]]\\  +
- +
-  * [[/file/detail/satz.p|Details]] +
-  * [[/file/view/satz.p/605402381/satz.p|Download]] +
-  * 2 KB+
 \\  \\ 
-  #DE,,* +\\ {{files_open:bilder:tags1.PNG|tags1.PNG}}\\ \\  Diese Datei kann anschließend manuell um die gewünschten Satzinformationen ergänzt werden:\\ \\ {{files_open:bilder:tags2.PNG|tags2.PNG}} 
-  quelle = adressbook.tf +\\  
-  psdatei = satz.ps +\\ {{files_open:daten:zieltagsman.tf|zieltagsman.tf}} [2 KB] 
-  ziel = satzziel.7 +\\  
-  *EOF+\\ \\  Gegebenenfalls ist vor dem Start des Satzlaufs noch Preprocessing notwendig, um die Quelldatei für den Satz aufzubereiten (s. z.B. Einzelzeichencodierung; s. ''#KOPIERE''): 
 +\\  
 +\\ {{files_open:daten:satz.p|satz.p}} [2 KB] 
 +\\  
 +\\  
 +<code>#DE,,* 
 +quelle = adressbook.tf 
 +psdatei = satz.ps 
 +ziel = satzziel.7 
 +*EOF
  
-  #DA,<ziel>'tmp.1's.6's.9'protf,FR=- +#DA,<ziel>'tmp.1's.6's.9'protf,FR=- 
-  #DA,<psdatei>,FDF-AP+#DA,<psdatei>,FDF-AP
  
-  #- notwendiges Pre-processing +#- notwendiges Pre-processing 
-  #KO,<quelle>,tmp.1,,+,PA=* +#KO,<quelle>,tmp.1,,+,PA=* 
-  XX        |<\?xml*>|| +XX        |<\?xml*>|| 
-  XX        |@|^@| +XX        |@|^@| 
-  *EOF+*EOF
  
-  #SATZ,quelle=tmp.1,ziel=<ziel>,ausgabe=s.6,modus=t,loeschen=+,prot=s.9'protf,par=zieltagsman.tf +#SATZ,quelle=tmp.1,ziel=<ziel>,ausgabe=s.6,modus=t,loeschen=+,prot=s.9'protf,par=zieltagsman.tf 
-  #*psaus,quelle=s.6,datei=<PSDATEI>,lo=+ +#*psaus,quelle=s.6,datei=<PSDATEI>,lo=+</code> 
-Das Satzergebnis steht anschließend in der Datei satz.ps:\\ {{/file/view/tags3.PNG/605402457/tags3.PNG|tags3.PNG}}\\ \\  In der zweiten Zieldatei von "#*TAGS(zieltags2.tf) werden die Quelldaten dupliziert und die Tagsstruktur dahingehend angereichert, dass in sämtlichen Tagnamen die an der betreffenden Stelle der XML-Hierarchie noch geöffneten Tags in das jeweilige Tag ergänzt werden:\\ {{/file/view/tags4.PNG/605402661/800x362/tags4.PNG|tags4.PNG}}\\ \\ \\ +Das Satzergebnis steht anschließend in der Datei satz.ps: 
 +\\ {{files_open:bilder:tags3.PNG|tags3.PNG}}\\ \\  In der zweiten Zieldatei von ''#*TAGS'' (zieltags2.tf) werden die Quelldaten dupliziert und die Tagsstruktur dahingehend angereichert, dass in sämtlichen Tagnamen die an der betreffenden Stelle der XML-Hierarchie noch geöffneten Tags in das jeweilige Tag ergänzt werden:\\ {{files_open:bilder:tags4.PNG|tags4.PNG}}\\ \\ \\ 
 ====== #*XMLATTSOR: Sortieren von Attributen ====== ====== #*XMLATTSOR: Sortieren von Attributen ======
-[[http://www.wikispaces.com/user/view/ms.tru|{{http://www.wikispaces.com/user/pic/ms.tru-lg.jpg?16x16|ms.tru}}]] [[http://www.wikispaces.com/user/view/ms.tru|ms.tru]]\\ \\  Das Standardmakro "#*XMLATTSOR**sortiert** die Reihenfolge der **Attribute** in den XML-Tags einer Quelldatei in einer vom Benutzer anzugebenden oder in alphabetischer Reihenfolge (gem. der Standardsortierreihenfolge; vgl. im Handbuch "Code-Tabellen/Standard-Sortierfolge in TUSTEP") , was die Analyse der Daten und die Weiterverarbeitung u.U. erheblich erleichtern kann.\\ \\ [[/file/view/bsp_attr.tf/605402979/bsp_attr.tf|{{http://www.wikispaces.com/i/mime/32/text/html.png?32x32|bsp_attr.tf}}]][[/file/view/bsp_attr.tf/605402979/bsp_attr.tf|bsp_attr.tf]]\\  +- {{files_open:benutzericons:ms.tru-lg.jpg?nolink&16x16|ms.tru}} ms.tru\\ \\  Das Standardmakro ''#*XMLATTSOR'' **sortiert** die Reihenfolge der **Attribute** in den XML-Tags einer Quelldatei in einer vom Benutzer anzugebenden oder in alphabetischer Reihenfolge (gem. der Standardsortierreihenfolge; vgl. im Handbuch "Code-Tabellen/Standard-Sortierfolge in TUSTEP") , was die Analyse der Daten und die Weiterverarbeitung u.U. erheblich erleichtern kann. 
- +\\  
-  * [[/file/detail/bsp_attr.tf|Details]] +\\ {{files_open:daten:bsp_attr.tf|bsp_attr.tf}} [2 KB] 
-  * [[/file/view/bsp_attr.tf/605402979/bsp_attr.tf|Download]] +\\ 
-  * 2 KB+
 \\ \\  Das nachfolge Skript steuert die alphabetische Sortierung der Attribute der Quelldatei in die Zieldatei sortziel.tf.\\  \\ \\  Das nachfolge Skript steuert die alphabetische Sortierung der Attribute der Quelldatei in die Zieldatei sortziel.tf.\\ 
-  #DE,,* +<code>#DE,,* 
-  quelle = bsp_attr.tf +quelle = bsp_attr.tf 
-  ziel =   sortziel.tf +ziel =   sortziel.tf 
-  *EOF+*EOF
  
-  #DA,<ziel>,SEQ-AP+#DA,<ziel>,SEQ-AP
  
-  #*XMLATTSOR,QU=<quelle>,ZI=<ziel>,LO=+,REIH=alpha+#*XMLATTSOR,QU=<quelle>,ZI=<ziel>,LO=+,REIH=alpha</code>
 \\  Darüber hinaus kann vom Benutzer eine Reihenfolge festgelegt werden:\\  \\  Darüber hinaus kann vom Benutzer eine Reihenfolge festgelegt werden:\\ 
-  #DE,,* +<code>#DE,,* 
-  quelle = bsp_attr.tf +quelle = bsp_attr.tf 
-  ziel =   sortziel_be.tf +ziel =   sortziel_be.tf 
-  *EOF+*EOF
  
-  #DA,<ziel>,SEQ-AP+#DA,<ziel>,SEQ-AP
  
-  #*XMLATTSOR,QU=<quelle>,ZI=<ziel>,LO=+,REIH=* +#*XMLATTSOR,QU=<quelle>,ZI=<ziel>,LO=+,REIH=* 
-        * @type-Attribut falls vorhanden immer an +      * @type-Attribut falls vorhanden immer an 
-        * erste Stelle schreiben, den Rest +      * erste Stelle schreiben, den Rest 
-        * alphabetisch sortieren +      * alphabetisch sortieren 
-  XS1       |type|a| +XS1       |type|a| 
-  *EOF +*EOF</code> 
-Wie in den Zieldateien ersichtlich ist, werden bei der Verarbeitung nicht nur die Attribute sortiert, sondern auch Leerzeichen und Leerzeilen aus der Quelldatei entfernt.\\ \\  Eine ähnliche Funktion zum Sortieren von Attributen ist in [[/TUSCRIPT|TUSCRIPT]] unter als SORT_ATTRIBUTES(liste, namen) implementiert. Auch hier sind alphabetische sowie benutzerdefinierte Sortierreihenfolgen möglich.\\ \\ +Wie in den Zieldateien ersichtlich ist, werden bei der Verarbeitung nicht nur die Attribute sortiert, sondern auch Leerzeichen und Leerzeilen aus der Quelldatei entfernt.\\ \\  Eine ähnliche Funktion zum Sortieren von Attributen ist in [[tuscript|TUSCRIPT]] unter als SORT_ATTRIBUTES(liste, namen) implementiert. Auch hier sind alphabetische sowie benutzerdefinierte Sortierreihenfolgen möglich.\\ \\ 
 ====== #*TADE: Erstellung einer Definitionsdatei ====== ====== #*TADE: Erstellung einer Definitionsdatei ======
-[[http://www.wikispaces.com/user/view/ms.tru|{{http://www.wikispaces.com/user/pic/ms.tru-lg.jpg?16x16|ms.tru}}]] [[http://www.wikispaces.com/user/view/ms.tru|ms.tru]]- [[http://www.wikispaces.com/user/view/schaelkle|{{http://www.wikispaces.com/user/pic/schaelkle-lg.jpg?16x16|schaelkle}}]] [[http://www.wikispaces.com/user/view/schaelkle|schaelkle]]\\ \\  Bei der Eingabe oder Korrektur von XML-Daten im Editor kann es eine große Hilfe sein, wenn Vorschläge unterbreitet werden, **welche Tags** an einer bestimmten Stelle laut Vorgabe **erlaubt sind**. Eine mögliche Vorgehensweise wird im Folgenden an einem Beispiel skizziert.\\ \\ **Musterdatei:**\\ [[/file/view/clausewitz.tf/467983970/clausewitz.tf|{{http://www.wikispaces.com/i/mime/32/text/html.png?32x32|clausewitz.tf}}]][[/file/view/clausewitz.tf/467983970/clausewitz.tf|clausewitz.tf]]\\  +- {{files_open:benutzericons:ms.tru-lg.jpg?nolink&16x16|ms.tru}} ms.tru - [ schaelkle | schaelkle ]\\ \\ Bei der Eingabe oder Korrektur von XML-Daten im Editor kann es eine große Hilfe sein, wenn Vorschläge unterbreitet werden, **welche Tags** an einer bestimmten Stelle laut Vorgabe **erlaubt sind**. Eine mögliche Vorgehensweise wird im Folgenden an einem Beispiel skizziert.\\ \\ **Musterdatei:** 
- +\\  
-  * [[/file/detail/clausewitz.tf|Details]] +\\ {{files_open:daten:clausewitz.tf|clausewitz.tf}} [1 MB] 
-  * [[/file/view/clausewitz.tf/467983970/clausewitz.tf|Download]] +\\  
-  * 1 MB +\\ Quelle: Clausewitz, Carl von: Vom Kriege. Hinterlassenes Werk des Generals Carl von Clausewitz, Dritter Theil, Berlin 1834, In: Deutsches Textarchiv <http://www.deutschestextarchiv.de/clausewitz_krieg03_1834>, abgerufen am 11.11.2013.\\ \\ **Schritt 1:**\\  Ausgangspunkt ist eine nach TUSTEP konvertierte XML-Datei.\\ \\ **Achtung**: Die Ausgangs-XML-Datei darf keine interne DTD enthalten, wie z.B.:\\  <!DOCTYPE TEI SYSTEM "tei_all.dtd"[\\  <!ENTITY auml "&#x00E4";>\\  ....\\  ]>\\ \\  oder\\  <!DOCTYPE note [\\  <!ELEMENT note (to,from,heading,body)>\\  <!ELEMENT to (#PCDATA)>\\  <!ELEMENT from (#PCDATA)>\\  <!ELEMENT heading (#PCDATA)>\\  <!ELEMENT body (#PCDATA)>\\  ]>\\  (s. hierzu [[http://www.w3schools.com/dtd/dtd_intro.asp|Link W3Schools]])\\ \\  Eine solche DTD ist ggf. auszukommentieren oder aus der Datei zu löschen. Andernfalls erhält man beim Aufruf von #*TADE (s.u.) die Fehlermeldung "Datenfehler: Nach < keine > mehr im Satz (x.y)".\\ \\  Ggf. ist die Quelldatei zunächst anzumelden:\\ 
-\\  Quelle: Clausewitz, Carl von: Vom Kriege. Hinterlassenes Werk des Generals Carl von Clausewitz, Dritter Theil, Berlin 1834, In: Deutsches Textarchiv <http://www.deutschestextarchiv.de/clausewitz_krieg03_1834>, abgerufen am 11.11.2013.\\ \\ **Schritt 1:**\\  Ausgangspunkt ist eine nach TUSTEP konvertierte XML-Datei.\\ \\ **Achtung**: Die Ausgangs-XML-Datei darf keine interne DTD enthalten, wie z.B.:\\  <!DOCTYPE TEI SYSTEM "tei_all.dtd"[\\  <!ENTITY auml "&#x00E4";>\\  ....\\  ]>\\ \\  oder\\  <!DOCTYPE note [\\  <!ELEMENT note (to,from,heading,body)>\\  <!ELEMENT to (#PCDATA)>\\  <!ELEMENT from (#PCDATA)>\\  <!ELEMENT heading (#PCDATA)>\\  <!ELEMENT body (#PCDATA)>\\  ]>\\  (s. hierzu [[http://www.w3schools.com/dtd/dtd_intro.asp|Link W3Schools]])\\ \\  Eine solche DTD ist ggf. auszukommentieren oder aus der Datei zu löschen. Andernfalls erhält man beim Aufruf von #*TADE (s.u.) die Fehlermeldung "Datenfehler: Nach < keine > mehr im Satz (x.y)".\\ \\  Ggf. ist die Quelldatei zunächst anzumelden:\\ +
   #AN,clausewitz.tf   #AN,clausewitz.tf
 \\ **Schritt 2:**\\  Kreieren einer Definitionsdatei\\  \\ **Schritt 2:**\\  Kreieren einer Definitionsdatei\\ 
Zeile 93: Zeile 92:
 Nach der erfolgten Makrodefinition kann an eine beliebige Stelle des Editors geklickt und mittels der Tastenkombination\\  Nach der erfolgten Makrodefinition kann an eine beliebige Stelle des Editors geklickt und mittels der Tastenkombination\\ 
   SHIFT+CTRL+T bzw. SHIFT+STRG+T   SHIFT+CTRL+T bzw. SHIFT+STRG+T
-ein **Anzeigefenster** mit den zur Auswahl stehenden Tags aufgerufen werden.\\  → Die gleiche Funktionalität kann per Button in einer Makroleiste bereitgestellt werden; siehe dazu [[/Editormakros|Makroleiste.]]\\ \\  Alternativ kann ein mit einem Tagging zu versehender Textteil markiert und anschließend mit einem an der betreffenden Stelle erlaubten Tag versehen werden. Hierzu können folgende Definitionen benutzt werden:\\ +ein **Anzeigefenster** mit den zur Auswahl stehenden Tags aufgerufen werden.\\  → Die gleiche Funktionalität kann per Button in einer Makroleiste bereitgestellt werden; siehe dazu [[tustep:loesungen:editormakros|Makroleiste.]]\\ \\  Alternativ kann ein mit einem Tagging zu versehender Textteil markiert und anschließend mit einem an der betreffenden Stelle erlaubten Tag versehen werden. Hierzu können folgende Definitionen benutzt werden:\\ 
   Y,M_RP=SAVE_CUR,MRK_INI,MRK_CHG:0B   Y,M_RP=SAVE_CUR,MRK_INI,MRK_CHG:0B
   Y,M_RR=MRK_DEL_REP,REST_CUR,TXT_CHG:TFT,SELECT_TAG,TXT_CHG:0B,MRK_INS,TXT_CHG:TFT,ADD_END_TAG   Y,M_RR=MRK_DEL_REP,REST_CUR,TXT_CHG:TFT,SELECT_TAG,TXT_CHG:0B,MRK_INS,TXT_CHG:TFT,ADD_END_TAG
tustep/loesungen/tustep_und_xml/standard_makros.1533059144.txt.gz · Zuletzt geändert: 2021/03/16 05:34 (Externe Bearbeitung)