Unterseite: Bestellungstabelle
Wir werden nun eine Tabelle erstellen, in der die Bestellungen des vom Endbenutzer auf der Toplevel-Seite ausgewählten Kunden angezeigt werden sollen. Die Bestellungen sind in der XML-Seitenquelle Orders.xml gespeichert. Gehen Sie folgendermaßen vor, um die Tabelle "Orders" zu erstellen.
1.Ziehen Sie ein Steuerelement "Tabelle" aus dem Fenster "Steuerelemente" in das Design.
2.Erstellen Sie die Tabelle im daraufhin angezeigten Dialogfeld "Neue Tabelle" (siehe Abbildung unten) als dynamische Tabelle. Wählen Sie dazu die Option Dynamische Anzahl von Zeilen aus. Daraufhin wird eine Tabelle erstellt, deren Zeilenanzahl der Anzahl der Zeilenelemente in der Seitenquelle entspricht. Definieren Sie drei Spalten und eine Kopfzeile für die Tabelle (siehe Abbildung unten). Klicken Sie auf OK, um die Tabelle zu erstellen.
3.Ziehen Sie das Element Order aus dem Fenster "Seitenquellen" auf das Symbol Wiederholte Zeile der Tabelle im Design. Jedes order-Element entspricht nun einer Zeile der Tabelle und das Element order bildet den XPath-Kontext-Node der Tabelle.
4.Ziehen Sie das Steuerelement "Beschriftung" aus dem Fenster "Steuerelemente" in die erste Spalte der Kopfzeile. Geben Sie als Text für die Beschriftung Customer ein (siehe Abbildung unten). Erstellen Sie auf die gleiche Weise die folgenden Überschritten für die anderen Spalten: Order und Amount.
5.Wählen Sie alle drei Kopfzeilenbeschriftungen aus (indem Sie während der Auswahl der Beschriftungen die Strg-Taste gedrückt halten) und formatieren Sie die Beschriftungen (über das Fenster "Stile & Eigenschaften") nach Wunsch.
6.Ziehen Sie Beschriftungssteuerelemente aus dem Fenster "Steuerelemente" in die drei Spalten der Tabellenkörperzeile.
7.Wählen Sie alle drei Tabellenkörperzeilen-Beschriftungen aus (indem Sie während der Auswahl der Beschriftungen die Strg-Taste gedrückt halten) und formatieren Sie die Beschriftungen (über das Fenster "Stile & Eigenschaften") nach Wunsch.
Die Beschriftungen der Tabellenkörperzeilen wurden nun in die Tabellenzeilen platziert. Der Text dafür wird über XPath-Ausdrücke definiert, die im nächsten Abschnitt beschrieben werden.
Erstellen von XPath-Ausdrücken für die Beschriftungstexte
Unten sehen Sie, wie die Ausgabe der Tabelle aussehen sollte. Beachten Sie den Inhalt der verschiedenen Spalten.
Um XPath-Ausdrücke für den Text einer Beschriftung zu erstellen, wählen Sie zuerst die Beschriftung aus. Wählen Sie die Eigenschaft Text der Beschriftung im Fenster "Stile & Eigenschaften" aus und klicken Sie auf ihr XPath-Symbol. Alternativ dazu können Sie (i) mit der rechten Maustaste auf die Eignschaft Text klicken und Mit XPath berechnen auswählen oder (ii) die Eigenschaft Text auswählen und in der Menüleiste des Fensters auf das XPath-Symbol klicken. Geben Sie im Dialogfeld "XPath", das daraufhin angezeigt wird, den entsprechenden XPath-Ausdruck ein. Beachten Sie, dass der XPath-Node das entsprechende $ORDERS/Orders/Order-Element ist.
Für die Spalte "Customer"
if ($XML1/Root/CustomerCode!='All')
then concat(CustomerCode, ': ', $XML1/Root/CustomerName)
else concat(CustomerCode, ': ', for $i in CustomerCode return $CUSTOMERS/Customers/Customer[@code=$i][1]/Name)
•Für eine Tabelle mit den Bestellungen eines ausgewählten Kunden wird der Name des Kunden aus der $XML1-Struktur abgerufen.
•Für eine Tabelle, in der alle Bestellungen angezeigt werden, wird der Kundenname mit Hilfe des Kundencodes in der $ORDERS-Struktur als Schlüssel aus der $CUSTOMERS-Struktur abgerufen. (Der Kundencode ist in beiden Strukturen vorhanden.)
Für die Spalte "Order"
concat(@number, '/', OrderDate)
Für die Spalte "Amount"
concat(Currency, ' ', OrderAmount)
Fertigstellen der Tabelle "Orders"
Nachdem Sie den Inhalt der einzelnen Spalten definiert haben, formatieren Sie die Beschriftungen mit Hilfe der Eigenschaften aus dem Fenster "Stile & Eigenschaften" nach Wunsch. Wir müssen nun die Eigenschaft Sichtbar der Tabellenzeilengruppe definieren, sodass nur der auf der Toplevel-Seite ausgewählte Kunde in der Tabelle angezeigt wird. Die Eigenschaft Sichtbar wird im nächsten Abschnitt beschrieben.