Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

tustep:loesungen:editor:tags_pruefen

Zurück zur Übersichtsseite - Editor


Tags prüfen

- Schneider-lastin schneider-lastin

Vorbemerkung: Mit den folgenden Anweisungen wird die Paarigkeit von Tags in einem Text geprüft.
Ein Tag ist eine in spitzen Klammern eingeschlossene Zeichenfolge. Es gibt Anfangs-Tags, Ende-Tags und leere Tags.

Anfangs-Tag:

  • <tagname> oder <tagname attribut1=wert1, attribut2=wert2, …>

Ende-Tag:

  • </tagname>

Leeres Tag:

  • <tagname/> oder <tagname attribut1=wert1, attribut2=wert2, …/>


Bedingungen:

  • Die spitzen Klammern dürfen nur als Anfangs- bzw. Endekennung von Tags, in Akzent-Codierungen (z.B. %<) oder in Codes für doppelte Anführungszeichen (z.B. #.< und #.>) vorkommen. Andere spitze Klammern müssen z.B. mit ^< bzw. ^> codiert sein.
  • Anfangs- und Endekennung eines Tags (also beide spitze Klammern) müssen im selben Satz stehen.
tpv           Tag-Prüfung vorwärts in der gesamten Datei
tp            Abkürzung für tp
tpv,pos       Tag-Prüfung vorwärts ab der angegebenen Position bis Dateiende
tpv,ber       Tag-Prüfung vorwärts im angegebenen Bereich, z.B. tpv,(3.1,5.999)

tpr           Tag-Prüfung rückwärts in der gesamten Datei
tpr,pos       Tag-Prüfung rückwärts ab der angegebenen Position bis Dateianfang
tpr,ber       Tag-Prüfung rückwärts im angegebenen Bereich, z.B. tpv,(3.1,5.999)

→ Leere Tags werden bei der Prüfung übergangen.

Spezielle Tag- und Klammerprüfungen

- ms.tru ms.tru

Neben der standardmäßigen Überprüfung von allen XML-Tags in einer Datei können die Anweisungen TPV und TPR auch genutzt werden, um a) nur bestimmte Tags bzw. Taghierarchien (Schachtelungen) zu überprüfen oder b) andere „Klammerstrukturen“, z.B. die Paarigkeit von #/+…#/- oder die korrekte, paarige Schachtelung runder und eckiger Klammern, zu überprüfen.

Die unter a) beschriebene Möglichkeit bietet sich insbesondere bei der schrittweisen Herstellung von wohlgeformtem XML, etwa im Rahmen einer Retrodigitalisierung oder im Rahmen einer Datenkonvertierung, an. In diesen Fällen können die bereits eingefügten XML-Tags auf ihre Paarigkeit hin überprüft werden, ohne dass Fehlermeldungen aus anderen, noch nicht bearbeiteten Tagstrukturen erwachsen.

Die Anweisung

tpv,,(),|<code>|(1|</code>|)1|

prüft beispielsweise, ob die Tags <code> und </code> korrekt geschachtelt sind.
Zwischen den ersten beiden Kommata kann in runden Klammern ein Bereich angegeben werden, falls die Überprüfung auf bestimmte Datensätze beschränkt werden soll. Das Klammerpaar „()“ zeigt an, dass TPV in der 'erweiterten' Fassung für Klammerprüfungen genutzt werden soll. Die Klammern „(1“ und „)1“ geben an, dass die jeweils vorstehenden Zeichenfolgen <code> bzw. </code> als öffnende respektive schließende Klammer angesehen werden sollen. Die Zahl gibt die jeweilige Zugehörigkeit an, was dann relevant wird, wenn mehrere Klammerpaare mit einer Anweisung überprüft werden sollen. Wenn Klammern bzw. Tags unterhalb von anderen Tags überprüft werden sollen, kann dies mittels mehrfacher Angabe von runden Klammern kenntlich gemacht werden. (((1 und )))1 zeigen entsprechend an, dass das mit diesen Kennern versehene Klammerpaar nur innerhalb der zweiten, zuvor definierten Klammer stehen darf.
Um verschiedene Klammerbereiche unabhängig voneinander überprüfen zu können, ist die Angabe von eckigen Klammern „[“ bzw. „]“ vorgesehen, um solche Bereiche abzutrennen:

tpv,,(),|<i>|(1|</i>|)1|<fn>|[2|</fn>|]2|

überprüft die Schachtelung von <i>. Dabei werden zwei Klammerbereiche unterschieden: derjenige innerhalb von Fußnoten („<fn>|[2|</fn>|]2|“) und derjenige außerhalb von Fußnoten. In der Beispieldatei testkl.tf findet sich eine entsprechende Schachtelung. Entfernt man ein öffnendes oder schließendes <i>-Tag innerhalb oder außerhalb der Fußnoten, wird eine entsprechende Fehlermeldung bei der Ausführung der o.g. Anweisung ausgegeben.

testkl.tf [2 KB]

Über die beschriebenen Funktionen hinausgehend, besteht die Möglichkeit, dass innerhalb von Klammern auch zu definierende Zeichenfolgen (z.B. Milestones oder Schlagwörter) überprüft werden können. Die zu überprüfenden Zeichenfolgen sind mit „@“ zu kennzeichnen:

testkl2.tf [8 KB]

tpv,,(),|<fn>|(1|\*|@@1|</fn>|)1|


überprüft, dass Asterisken (*) nur auf der zweiten Klammerstufe, im betreffenden Fall also unterhalb von „<fn>“ vorkommen. Wird an anderer Stelle ein „*“ eingetragen (z.B. unterhalb von „<i>“ oder unterhalb des Wurzelelemens), erhält man eine Fehlermeldung.

Taglisten

- ms.tru ms.tru

Im Editor stehen verschiedene Möglichkeiten zur Verfügung, sich die in einer notwendigerweise korrekt geschachtelten Datei verwendeten Tags ausgeben zu lassen:

tl           gibt eine alphabetische Liste aller Tags aus
tlh           gibt eine hierarchische Liste aller Tags inkl. der übergeordneten Tags bis zum Wurzelelement aus
tli           gibt eine hierarchische Liste aller Tags inkl. der übergeordneten Tags bis zum Wurzelelement aus, beginnend beim untersten Tag der Hierarchie


Für die genannten Anweisungen stehen jeweils erweiterbare Formulierungen zur Verfügung:

tl,ber,mds,pfad
tlh,ber,mds,pfad
tli,ber,mds,pfad


Für ber kann ein Datensatzbereich eingeschränkt werden. Modus (mds) steuert die Behandlung der XML-Kommentare: Mit „-“ wird bewerkstelligt, dass XML-Kommentare beim Prüfen übergangen werden, während mit einem „+“, die Daten zwischen „^<!–“ und „–^>“ mit überprüft werden. Wird keine Angabe zu mds gemacht, werden „<!–“ und „–>“ wie Anfangs- und Endetags behandelt und damit ebenfalls auf Paarigkeit überprüft.
Mit pfad kann nach einem Tag gesucht werden, das in den Daten an einer bestimmten Stelle der Taghierarchie steht. Hierbei sind drei Arten von Angaben möglich: a) <tagname> für ein Tag mit dem Namen „tagname“, b) <*> für ein Tag mit beliebigem Namen und c) * für null oder beliebig viele Taags mit beliebigem Namen.

tl,,,|*<abbr>|


findet sämtliche <abbr>-Tags in der gesamten Datei unabhängig von ihrer Hierarchiestufe. Mit RETURN kann man sich durch die Treffer navigieren lassen.

tl,(5.1,-1),,|*<note><abbr>|


findet nur diejenigen <abbr>-Tags, die unmittelbar unterhalb eines <note>-Elements stehen. Gesucht wird ab Datensatz 5.1 bis zum Dateiende.

Prüfung illegaler Tagnamen

- ms.tru ms.tru

Möchte man Tags auf ihre Paarigkeit hin überprüfen sowie bei den weiteren Tag-bezogenen Anweisungen (TL, TLH…) mit einbeziehen, die nicht den TUSTEP-Konventionen für Tagnamen entsprechen (s.o.), so kann man die entsprechenden Tagnamen, die als legal angesehen werden sollen, definieren. Die erste nachstehende Definition legt fest, dass „<%1>….</%1>“ und "<-2>...</-2>" bei der Paarigkeitsprüfung wie Tags mit regelkonformen Tagnamen behandelt werden sollen:

tpl=|%1|-2|
tpl=           löscht die Definitionen


Mit der Anweisung tpl können leere Tags (=milestones) definiert werden. Sie werden folglich bei der Paarigkeitsprüfung ignoriert. Mit den beiden nachfolgenden Anweisungen wird „<+44>“ zunächst als legaler Tagname und anschließend als Milestone definiert:

tpn=|+44|
tpl=|+44|
tpl=           löscht die Definitionen

Zurück zur Übersichtsseite - Editor

tustep/loesungen/editor/tags_pruefen.txt · Zuletzt geändert: 2021/03/16 05:34 (Externe Bearbeitung)