Altova StyleVision 2024 Professional Edition

Mit Hilfe des Debuggers können Sie einen XPath-Ausdruck im Kontext einer XML-Arbeitsdatei debuggen. Um den Debugger aufzurufen, klicken Sie im Dropdown-Menü des Befehls Auswertung/Debugging starten (siehe Abbildung unten) auf Debugger starten. Dadurch wird der Debug-Modus ausgewählt. Sie können anschließend zwischen der Ausdruckserstellung (Hilfe bei der Erstellung des Ausdrucks) und der Auswertung (zum Debuggen des Ausdrucks) wechseln. Um mit dem Debuggen zu beginnen, klicken Sie auf Auswertung/Debugging starten (F5).

XPXQWindowSelectEvalMode

Nachdem Sie einen Ausdruck eingegeben haben, können Sie durch Klick auf Auswertung/Debugging starten (F5) mit dem Debuggen beginnen (Stellen Sie sicher, dass Sie sich im Debug-Modus befinden).

 

 

Layout des Debug-Modus

Im Debug-Modus werden zum Ergebnisbereich zwei zusätzliche Bereiche hinzugefügt (siehe Abbildung unten):

 

der Call Stack- und der Debug-Punkte-Bereich. Jeder davon hat ein eigenes Register im Fenster.

das Bereich für Variablen und Überwachungsausdrücke; sowohl Überwachungsausdrücke als auch Variablen werden im selben Bereich angezeigt

Click to expand/collapse

Im Debugger-Modus stehen die folgenden Funktionalitäten zur Verfügung:

 

Hier können Sie in den XPath-Auswertungsvorgang einsteigen und Schritt für Schritt sehen, wie der XPath-Ausdruck ausgewertet wird. Verwenden Sie dazu die Symbolleisten-Schaltfläche Einsteigen (F11). Bei jedem Auswertungsschritt wird der Teil des Ausdrucks, der soeben ausgewertet wird, gelb markiert (siehe Abbildung oben), während das Ergebnis der Auswertung dieses Schritts im Ergebnisbereich angezeigt wird. So wurden z.B. in der Abbildung oben alle section-Nachfahren des Elements book ausgewählt.

Sie können Breakpoints setzen, wo die Auswertung angehalten werden soll, damit Sie Ergebnisse an diesen Stellen überprüfen können. Sie können die Auswertung durchlaufen lassen, indem Sie nur an den Breakpoints anhalten. Verwenden Sie dafür die Symbolleisten-Schaltfläche Debugger starten (F5). Dies geht schneller, als wenn Sie bei jedem Schritt mit Einsteigen (F11) anhalten.

Sie können Tracepoints setzen, um einen Bericht über die Ergebnisse an den als Tracepoints markierten Stellen zu sehen. Die Auswertung wird dabei nicht angehalten (außer bei Breakpoints), sondern die Tracepoint-Ergebnisse werden in einer Liste im Ergebnisbereich angezeigt.

Mit Hilfe von Überwachungsausdrücken können bestimmte Informationen (wie Dokumentdaten oder Auswertungsaspekte) überprüft werden. Dies ist vor allem an Breakpoints nützlich.

Variablen, die sich im Geltungsbereich befinden, werden einschließlich ihrer Werte im Bereich für Variablen und Überwachungsausdrücke angezeigt.

Prozessoraufrufe eines Auswertungsschritts werden auf dem Register "Call Stack" des Call Stack- und Debug-Punkte-Bereichs angezeigt.

Wenn Breakpoints und Tracepoints gesetzt wurden, werden diese auf dem Register "Debug-Punkte" des Call Stack- und Debug-Punkte-Bereichs angezeigt.

 

Nähere Informationen zu diesen Funktionalitäten finden Sie in der jeweiligen Beschreibung dazu weiter unten.

 

Ausführen des Debuggers

Das Debuggen eines XPath-Ausdrucks erfolgt in den folgenden Schritten:

 

1.Geben Sie den XPath-Ausdruck in den Ausdrucksbereich ein.

2.Setzen Sie die gewünschten Breakpoints oder Tracepoints. Ein Breakpoint ist ein Punkt, an dem die Auswertung unterbrochen wird. Ein Tracepoint ist ein Punkt in der Auswertung, der aufgezeichnet wird, sodass Sie einen zurückverfolgbaren Pfad der Auswertungsergebnisse zur Verfügung haben.

3.Wenn Sie auf Debugger starten klicken, wird die Auswertung in einem einzigen Schritt bis zum Ende ausgeführt, es sei denn, es wurde ein Breakpoint im Ausdruck markiert. Klicken Sie wiederholt auf Debugger starten, um nach jedem Breakpoint fortzufahren und bis zum Ende der Auswertung zu gelangen.

4.Mit Hilfe der Funktionen Einsteigen/Aussteigen/Überspringen können Sie sich Schritt für Schritt durch die Auswertung bewegen.

 

 

 

Einsteigen, Aussteigen und Überspringen von Auswertungsschritten

Mit der Funktion "Einsteigen" können Sie die Auswertung Schritt für Schritt durchgehen. Jeder Klick leitet Sie durch den entsprechenden Schritt der Auswertung. Der aktuelle Schritt wird im Ausdruck markiert (siehe Abbildung unten). Mit der Funktion Aussteigen gelangen Sie zur nächsthöheren Ebene und mit Überspringen werden Schritte auf niedrigeren Ebenen übersprungen und Sie gelangen zum nächsten Schritt auf derselben Ebene. Um die Schrittfunktionen zu probieren, verwenden Sie den unten stehenden Ausdruck und klicken Sie auf die drei Schritt-Schaltflächen, um zu sehen, wie diese funktionieren.

 

In der Abbildung unten sehen Sie die Auswertung an der Stelle, an der die Verarbeitung bei Erreichen des Locator-Schritts Additionsschritts newsitem angehalten wird. In diesem Schritt wird der Node newsitem angezeigt.

Click to expand/collapse

 

Breakpoints

Breakpoints sind Punkte, an denen der Debugger angehalten werden soll, nachdem er mit Debugger starten gestartet wurde. Sie eignen sich dazu, einen bestimmten Teil eines Ausdrucks zu analysieren. Wenn der Debugger an einem Breakpoint anhält, können Sie das Ergebnis überprüfen. Mit Hilfe der Funktion Einsteigen können Sie anschließend die Ergebnisse des nächsten Schritts der Auswertung anzeigen. Um einen Breakpoint zu setzen, platzieren Sie den Cursor an der Stelle in den Ausdruck, an der Sie den Breakpoint setzen möchten und klicken Sie auf die Symbolleisten-Schaltfläche Breakpoint einfügen/löschen (F9). Der Breakpoint wird daraufhin mit einem rot strichlierten Überstrich markiert (siehe Abbildung unten). Um einen Breakpoint zu löschen, wählen Sie ihn aus und klicken Sie auf Breakpoint einfügen/löschen (F9).

 

Siehe auch Debug-Punkte weiter unten.

 

Tracepoints

Tracepoints sind Breakpoints, an denen die Ergebnisse aufgezeichnet und in der Ablaufverfolgungsstruktur des Registers Ergebnis (siehe Abbildung unten) angezeigt werden. Dadurch sehen Sie alle Auswertungsergebnisse bestimmter Teile des Ausdrucks. So wurden z.B. in der Abbildung unten Tracepoints in den Nodes team und member gesetzt. Die Ergebnisse dieser Tracepoints werden in der Ablaufverfolgungsstruktur angezeigt.

 

Um einen Tracepoint zu setzen, platzieren Sie den Cursor an der Stelle in den Ausdruck, an der Sie den Tracepoint setzen möchten und klicken Sie auf die Symbolleisten-Schaltfläche Tracepoint einfügen/löschen (Umschalt+F9). Der Tracepoint wird daraufhin mit einem blau strichlierten Überstrich markiert (siehe Abbildung unten). Um einen Tracepoint zu löschen, wählen Sie ihn aus und klicken Sie auf Tracepoint einfügen/löschen (Umschalt+F9).

 

Click to expand/collapse

Anmerkung:Wenn an einer Stelle eines Ausdrucks sowohl ein Breakpoint als auch ein Tracepoint gesetzt wurde, so besteht der Überstrich aus abwechselnd gesetzten roten und blauen Strichen.

 

Siehe auch Debug-Punkte weiter unten.

 

Variablen, Überwachungsausdrücke und Call Stack

Variablen und Überwachungsausdrücke werden im Variablen- und Überwachungsausdrucksbereich (mittlerer unterer Bereich in der Abbildung unten) angezeigt.  

Click to expand/collapse

Variablen

Variablen, die im Ausdruck deklariert wurden und sich im aktuellen Auswertungsschritt im Geltungsbereich befinden, werden zusammen mit den jeweiligen aktuellen Werten angezeigt. So wurde z.B. in der Abbildung oben die Verarbeitung am Breakpoint in headline unterbrochen. Die Variable $i befindet sich in diesem Auswertungsschritt im Geltungsbereich, daher wird $i mit ihrem aktuellen Wert angezeigt. In der Abbildung oben ist dies der erste newsitem Node.

 

Überwachungsausdrücke

Überwachungsausdrücke sind Ausdrücke, die Sie entweder vor Beginn einer Auswertung oder während einer Unterbrechung der Auswertung eingeben können. Sie können für folgende Zwecke verwendet werden:

 

um bestimmte Bedingungen zu überprüfen. So wird z.B. in der Abbildung oben mit dem Überwachungsausdruck $i/metainfo/enteredBy/@id="NED" überprüft, ob dieses Nachrichtenelement (newsitem) vom Team-Mitglied mit der ID NED eingegeben wurde. Im Fall des ersten newsitem-Node besagt das Ergebnis true, dass diese Bedingung erfüllt wird.

um Daten in einem bestimmten Kontext zu suchen. So könnten wir z.B. im Kontext eines Elements Company den Überwachungsausdruck @id eingeben, um den Kundencode des Unternehmens im XML-Zieldokument nachzuschlagen.

um zusätzliche Daten zu generieren. So könnte etwa ein String generiert werden, um die Gesamtanzahl der newsitem-Nodes anzugeben.

 

Um einen Überwachungsausdruck einzugeben, klicken Sie in der Symbolleiste des Fensters auf Überwachung hinzufügen (in der Abbildung oben rot umrandet), geben Sie anschließend den Ausdruck ein und drücken Sie anschließend die Eingabetaste. Um einen Überwachungsausdruck zu entfernen, wählen Sie ihn aus und klicken Sie in der Symbolleiste auf Ausgewählten Überwachungsausdruck entfernen. Wenn der Ausdruck während des Debuggens aus irgendeinem Grund (z.B. wenn sich eine seiner Variablen nicht im Geltungsbereich befindet) nicht korrekt ausgewertet werden kann, wird der Überwachungsausdruck rot angezeigt.

 

Call Stack

Auf dem Register Call Stack des Call Stack- und Debug-Punkte-Bereichs (rechter unterer Bereich in der Abbildung oben) werden die Prozessoraufrufe bis zu diesem Punkt im Debugging angezeigt. Der aktuelle Prozessoraufruf erscheint gelb markiert. Beachten Sie, dass nur die Aufrufe, die direkt zum aktuellen Auswertungsschritt geführt haben, angezeigt werden.

 

Debug-Punkte

Auf dem Register Debug-Punkte des Call Stack- und Debug-Punkte-Bereichs (rechter unterer Bereich in der Abbildung oben) werden die im Ausdruck gesetzten Breakpoints (rote Kreise) und Tracepoints (blaue Kreise) angezeigt. Jeder Debug-Punkt wird mit der jeweiligen Zeilen- und Zeichennummer angezeigt. So bedeutet etwa AxisStep@2:12, dass sich in Zeile 2, bei Zeichen 12 des Ausdrucks im Ausdrucksbereich ein Debug-Punkt befindet.

Click to expand/collapse

Beachten Sie die folgenden Funktionalitäten:

 

Durch Doppelklick auf Anhaltebedingung eingeben im Bereich Debug-Punkte, Eingabe des Ausdrucks für die Bedingung und Drücken der Eingabetaste können Sie eine Break-Bedingung für Breakpoints eingeben. Dieser Breakpoint ist nur dann aktiv, wenn das Resultat der Auswertung der Bedingung true ist. So aktiviert die Break-Bedingung $i/metainfo/enteredBy/@id="ABE" die Breakpoints in der Überschrift jedes Nachrichtenelements newsitem, das vom Team-Mitglied mit der ID ABE eingegeben wurde. In der Abbildung sehen Sie, dass die Auswertung an diesem Breakpoint angehalten wurde. (Beachten Sie außerdem, dass der Überwachungsausdruck an diesem Breakpoint false zurückgibt).

Durch Klick auf die entsprechende Symbolleisten-Schaltfläche Alle Debug-Punkte aktivieren und Alle Debug-Punkte deaktivieren (grün umrandete Schaltflächen in der Abbildung oben) können Sie alle Debug-Punkte aktivieren bzw. deaktivieren. Wenn ein Debug-Punkt deaktiviert ist, bleibt er bis zu seiner erneuten Aktivierung für alle Auswertungen deaktiviert.

Einzelne Breakpoints können im dazugehörigen Kontextmenü aktiviert bzw. deaktiviert werden.

 

Symbolleisten-Schaltflächen in den Fenstern

Die Bereiche des Dialogfelds "XPath-Ausdruck bearbeiten" im Debug-Modus (siehe Abbildung oben) enthalten Schaltflächen für die Navigation, Suche und Kopierfunktionen. Diese Schaltflächen werden in der Tabelle unten von links nach rechts beschrieben. Die dazugehörigen Befehle finden Sie auch im Kontextmenü der aufgelisteten Einträge.

Symbol

Funktion

Weiter, Zurück

Wählt jeweils den nächsten bzw. vorhergehenden Eintrag in der Ergebnisliste aus

Ausgewählte Textzeile in die Zwischenablage kopieren

Kopiert die Wertespalte des ausgewählten Ergebniseintrags in die Zwischenablage. Um alle Spalten zu kopieren, aktivieren Sie den Befehl Beim Kopieren werden alle Spalten inkludiert (siehe unten)

Alle Nachrichten in die Zwischenablage kopieren

Kopiert die Wertespalte aller Ergebniseinträge, darunter auch leere Werte, in die Zwischenablage. Jeder Eintrag wird als separate Zeile kopiert.

Beim Kopieren werden alle Spalten inkludiert

Wechselt zwischen der Funktion zum Kopieren (i) aller Spalten und (ii) nur der Wertespalte. Das Spaltentrennzeichen ist ein einziges Leerzeichen.

Suchen

Öffnet ein Suchdialogfeld zum Suchen nach einem beliebigen String - darunter auch von Sonderzeichen - in der Ergebnisliste.

Vorheriges suchen

Sucht nach der vorhergehenden Instanz des zuletzt im Suchdialogfeld gesuchten Eintrags.

Weitersuchen

Sucht nach der nächsten Instanz des zuletzt im Suchdialogfeld gesuchten Eintrags.

Mit Child Nodes erweitern

Erweitert den ausgewählten Eintrag und alle seine Nachfahren

Mit Child Nodes reduzieren

Reduziert den ausgewählten Eintrag und alle seine Nachfahren

Zurücksetzen

Löscht die Ergebnisliste.

 

© 2018-2024 Altova GmbH