Explizite Version: Pro Spalte wird ein sd:input-text - bzw. sd:cell-value -Element im passenden Kontext eingefügt und verweist mit seinem sd:col -Attribut auf die gewünschte Spalte. Damit läßt sich die Reihenfolge der Spalten sowie die Html-Darstellung jeder einzelnen Spalte individuell festlegen. Wird eine Spalte ausgelassen, so wird sie nicht ausgegeben bzw. kann nicht bearbeitet werden. Bei der Ausgabe einer Tabelle kann das sd:rs -Element die zusätzlichen Attribute sd:sc (SortColumn) und sd:so (SortOrder) erhalten, um die Ausgabe für jeden Erstaufruf geeignet zu sortieren.
Dynamische Version: Alternativ können mit sd:input-cell-set , sd:col-set und sd:cell-set auch Bereiche deklariert werden, welche sd:label , sd:input-text und sd:cell-value ohne das sd:col -Attribut enthalten. Diese Bereiche werden bei der Seitenausgabe für jede Spalte einmal aufgerufen, so daß sich der Name der aktuellen Spalte jeweils aus dem Kontext ergibt. Hier entspricht die Reihenfolge der Spalten der Definition in der Datenbank, es kann keine Spalte entfernt werden. Da für alle Spalten nur eine Vorlage existiert, werden auch alle Spalten gleichartig formatiert, wobei verschiedene Typen (Texteingabe, Relation, Ja/Nein oder BitSet) automatisiert berücksichtigt werden.
Diese Dynamisierung läßt sich zusätzlich durch Url-Überschreibungen so ausdehnen, daß dieselbe Ausgabeseite für die Bearbeitung mehrerer Tabellen genutzt wird. Ebenso können durch Url-Überschreibungen Sortierspalte, Richtung und der ausgegebene Bereich geändert werden. Damit läßt sich eine (einzige) Ausgabeseite zunächst für eine Tabelle dynamisch deklarieren und anschließend durch Links einer passenden Form so aufrufen, daß alle Tabellen der Datenbank mit dieser einzigen Ausgabeseite bearbeitet werden können.
Die Url-Überschreibungen stehen immer zur Verfügung. Sie werden intern auch genutzt, um die Logik für Sortierpfeile und das Blättern durch die Ergebnisse bereitzustellen. Es ist nicht möglich, Url-Überschreibungen auf einer Ausgabeseite zu verhindern. Sie bleiben jedoch wirkungslos, falls Ausgabespalten explizit ausgegeben werden und sich die Spaltennamen der verschiedenen Tabellen voneinander unterscheiden. Ferner wird die Berechtigungsprüfung immer ausgeführt, unabhängig davon, ob die Tabelle im sd:source-name -Attribut oder per Url-Überschreibung benannt ist.
Seitenname.html/Objektname/Parametername/Parameterwert [/weiterer Parameter/Wert] [/weiterer Objektname mit Parametern]Die Werte müssen fortlaufend notiert werden, hiesige Umbrüche erfolgen nur aus Gründen der Darstellung. Es folgt also immer der Objektname, gefolgt von Name-Wert-Paaren. Deren Reihenfolge ist beliebig, nicht benötigte Paare können weggelassen werden. Gültige Parameternamen sind:
table sc so range'table' kann für sd:input-table - und sd:rs -Elemente genutzt werden und erwartet als nächsten Ausdruck einen gültigen Tabellen-, View- oder Abfragennamen. Die beiden letzten Versionen sind nur beim sd:rs-Element sinnvoll. Die anderen Parameter gelten ebenfalls nur für dieses und erwarten einen gültigen Spaltennamen, 1 bzw. 2 für die Sortierrichtung oder einen Bereich '1-10' für die ersten zehn Ergebnisse. Damit erzeugt die Url
mySample.html/sample-output/table/Vertreter/sample-input/table/Vertreterdieselbe Ausgabeseite, behandelt diese jedoch so, als sei die Tabelle 'Vertreter' jeweils als Attributwert für die beiden Hauptelemente angegeben. Diese Tabelle wird ausgegeben und zur Bearbeitung angeboten. Die Url
mySample.html/sample-output/table/Umsatz/sample-input/table/Umsatzleistet dasselbe für die Tabelle 'Umsatz'.
Der Ausdruck
mySample.html/sample-output/so/2sortiert die Standardtabelle für das Element mit dem Namen sample-output abwärts und übernimmt hierbei die vorgegebene Sortierspalte. Die Ergänzung
mySample.html/sample-output/so/2/sc/A_Preisangewandt auf die Tabelle 'Artikel' zeigt den teuersten Artikel als erstes an.