Quell-XPath
Der Quell-XPath wird im Dialogfeld "Spalten auswählen" definiert. Damit wird festgelegt, welche Nodes im Dokument für die Auswahl der Daten für die X- und die Y-Achse zur Verfügung stehen. Über die Auswahlliste "Spaltensuchtiefe" wird definiert, wie viele untergeordnete Ebenen nach Nodes durchsucht werden, die für die Daten der X- und Y-Achse verwendet werden können.
![ChartSelectColumnsDlg](./images/chartselectcolumnsdlg.png)
Nachdem Sie den Quell-XPath ausgewählt haben, müssen Sie auf Spalten aktualisieren klicken, damit die Änderungen wirksam werden und damit die Auswahl der Daten für die X- und Y-Achse in Dialogfeld aktualisiert wird. Wenn der XPath-Ausdruck auch Prädikate enthält (so wird z.B. in /Data/Region[1] mit Hilfe des Prädikats [1] das erste Region Element ausgewählt), so muss das Kontrollkästchen "Indizes...inkludieren" aktiviert werden. Wenn Sie den Quell-XPath-Ausdruck ändern, denken Sie immer daran auf Spalten aktualisieren zu klicken.
Quell-XPath von der Cursorposition aus
Anhand des unten gezeigten XML-Dokuments wird erläutert, welcher Quell-XPath beim Öffnen des Dialogfelds "Spalten auswählen" ausgewählt wird. Hier sehen Sie zu Referenzzwecken das für das Beispiel verwendete XML-Dokument. Das Dokument ist unter dem Namen YearlySales.xml im Ordner C:\Dokumente und Einstellungen\<Benutzer>\Eigene Dokumente\Altova\XMLSpy2024\Examples\Tutorial gespeichert.
<?xml version="1.0" encoding="UTF-8"?>
<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="YearlySales.xsd">
<Region id="Americas">
<Year id="2005">30000</Year>
<Year id="2006">90000</Year>
<Year id="2007">120000</Year>
<Year id="2008">180000</Year>
<Year id="2009">140000</Year>
<Year id="2010">100000</Year>
</Region>
<Region id="Europe">
<Year id="2005">50000</Year>
<Year id="2006">60000</Year>
<Year id="2007">80000</Year>
<Year id="2008">100000</Year>
<Year id="2009">95000</Year>
<Year id="2010">80000</Year>
</Region>
<Region id="Asia">
<Year id="2005">10000</Year>
<Year id="2006">25000</Year>
<Year id="2007">70000</Year>
<Year id="2008">110000</Year>
<Year id="2009">125000</Year>
<Year id="2010">150000</Year>
</Region>
</Data>
Die folgende Fälle sind möglich:
•Wenn der Cursor an eine beliebige Stelle zwischen den Start-Tag (auch in einen Attributwert) und den End-Tag des Elements Data oder an eine beliebige Stelle innerhalb des Elements Data aber nicht in einen untergeordneten Node platziert wird, so lautet der Quell-XPath: /Data
•Wenn der Cursor an eine beliebige Stelle zwischen den Start-Tag (auch in einen Attributwert) und den End-Tag des Elements Region oder an eine beliebige Stelle innerhalb des Elements Region aber nicht in einen untergeordneten Node davon platziert wird, so lautet der Quell-XPath: /Data/Region
•Wenn der Cursor an eine beliebige Stelle zwischen den Start-Tag (auch in einen Attributwert) und den End-Tag des Elements Year oder an eine beliebige Stelle innerhalb des Elements Year platziert wird, so lautet der Quell-XPath: /Data/Region[N]/Year. Der Prädikatfilter [N] wählt das entsprechende Region Element aus, das das ausgewählte Year Element enthält. Daher werden die für die X- und die Y-Achse ausgewählten Daten auf Year Elemente dieses bestimmten Region Elements beschränkt.
•Wenn Sie nur ein Region Element auswählen möchten, beispielsweise /Data/Region[1], dann markieren Sie dieses Element. In diesem Fall ist dies, wie in der Abbildung unten gezeigt, das erste Region Element.
![ChartXMLSelection](./images/chartxmlselection.png)
• Wenn Sie zwei Region Elemente markieren, wird ein XPath-Ausdruck generiert, der nur diese beiden Region Elemente auswählt.
Der Quell-XPath-Ausdruck kann anschließend im Dialogfeld "Spalten auswählen" bearbeitet werden.
In der Grid-Ansicht erfolgt die Auswahl durch Klicken auf einen Node oder Markieren eines Bereichs. Der Quell-XPath, der anhand dieser Auswahl generiert wird, entspricht dem oben für die Textansicht beschriebenen.
Indizes in XPath integrieren
Das Kontrollkästchen Indizes in auto-generiertes XPath integrieren bestimmt, ob in den XPath-Ausdrücken Prädikatfilter verwendet werden, ob diese Prädikatfilter automatisch während des Aufrufs des Dialogfelds "Spalten auswählen" eingegeben werden oder ob sie manuell eingegeben werden. wenn, zum Beispiel, der Cursor in ein untergeordnetes Element des ersten Elements Region des Dokuments gesetzt wird und das Kontrollkästchen Indizes in auto-generiertes XPath integrieren aktiviert ist, lautet der automatisch eingegebene XPath-Ausdruck, zum Beispiel: /Data/Region[1]/Year. Ist das Kontrollkästchen Indizes in auto-generiertes XPath integrieren nicht aktiviert, so lautet der Ausdruck: /Data/Region/Year.
Das Kontrollkästchen Indizes in auto-generiertes XPath integrieren bestimmt ferner ob manuell eingegebene Prädikate beibehalten werden. Wenn Sie Prädikate im Quell-XPath Ausdruck verwenden möchten, müssen Sie das Kontrollkästchen Indizes in auto-generiertes XPath integrieren daher aktivieren.
Auswirkungen der Quell-XPath-Auswahl
Beachten Sie die folgenden Auswirkungen der Quell-XPath-Auswahl.
•Die Anzahl der Elemente in der vom Quell-XPath zurückgegebenen Sequenz bestimmt die Anzahl der Skalenstriche auf der X-Achse. Die Anzahl der Skalenstriche auf der X-Achse kann außer durch Ändern des Quell-XPath-Ausdrucks nur auf eine Art geändert werden, nämlich durch Auswahl einer Anzahl für Beschriftungen für eine Datenreihe, wobei deren Anzahl die Anzahl der Skalenstriche übersteigt. Nähere Informationen zu diesem Szenario finden Sie im Abschnitt Auswahl für die X-Achse.
•Der Quell-XPath Node ist der übergeordnete Node für alle Nodes, die für die Auswahl der Daten für die X- und Y-Achse zur Verfügung stehen und für alle XPath-Ausdrücke, die Sie eingeben.
•Aufgrund der oben genannten Tatsache, wirkt sich jede Änderung am Quell-XPath-Ausdruck nicht nur auf die Anzahl der Skalenstriche auf der X-Achse sondern auch auf den Kontext für alle XPath-Ausdrücke, die mit dem Diagramm im Zusammenhang stehen, aus.
Hier sehen Sie z.B., wie sich einige XPath-Ausdrücke in Bezug auf das oben gezeigte XML-Dokument auswirken.
•/Data/Region: Gibt die drei Region Elemente zurück, d.h. drei Skalenstriche auf der X-Achse. Jedes Region Element bildet wiederum den Kontext-Node für XPath-Ausdrücke.
•/Data/Region/Year: Gibt 18 Year Elemente zurück, d.h. 18 Skalenstriche auf der X-Achse. Jedes Year Element bildet wiederum den Kontext-Node für XPath-Ausdrücke.
•/Data/Region[1]/Year: Gibt die sechs Year Element Children des ersten Region Elements zurück, d.h. sechs Skalenstriche auf der X-Achse. Jedes Year Element des ersten Region Elements liefert wiederum den Kontext-Node für XPath-Ausdrücke.
•distinct-values(//Year/@id): Gibt sechs Elemente zurück (die einzelnen Werte des Year/@id Attributs: 2005, 2006, 2007, 2008, 2009, 2010). Da dieser XPath-Ausdruck aber kein Node-Element zurückgibt, kann er nicht als Kontext-Node für einen XPath-Ausdruck verwendet werden. Wenn die Elemente in dieser Sequenz für Nodes im XML-Dokument verwendet werden (z.B. mit der Funktion current() oder (abgekürzt: .)), dann muss der XPath-Ausdruck, der das aktuelle Element verwendet an der Dokument-Root beginnen, damit der Kontext verwendet werden kann. Beispiel: /Data/Region[1]/Year[@id eq .].