Eine zweite Nutzung besteht darin, dem sd:for -Attribut den Namen eines sd:rs -Elements zuzuweisen. Jede Suche, welche das sd:rs -Element neu füllt, wird mit den Werten des sd:ro-value-Elements ergänzt ausgeführt. Damit kann bsp. sichergestellt werden, daß nur die zu einem Hauptdatensatz passenden Detailzeilen ausgegeben werden.
Das sd:std-value -Attribut kann mit dem Wert eines passenden Datentyps belegt werden, dieser wird nach der Erstellung oder Bearbeitung eines Datensatzes direkt übernommen. Oder das Attribut erhält den Spaltennamen als Wert, also denselben Wert wie das sd:col -Attribut. In diesem Fall wird beim Editieren einer Zeile der alte, bereits in der Datenbank gespeicherte Wert unverändert übernommen. Schließlich kann mit dem sd:new-value -Attribut ein Wert festgelegt werden, welcher der Zelle dann zugewiesen wird, falls ein neuer Datensatz erstellt wird.
Eine weitere Belegung für sd:new-value / sd:std-value besteht darin, '$' und einen Namen zu nutzen. Existiert für diesen Namen aufgrund einer früheren Speicherung einer Zeile unter Verwendung des sd:cached-id -Attributes oder aufgrund des Seitenaufrufs mit dem Namen eines sd:param -Elements mit gesetztem sd:cached-name -Attribut ein für diesen Nutzer gecachter Wert, so wird dieser Wert eingesetzt.
Werden sd:new-value / sd:std-value mit '%' und einen Namen belegt, so wird der Wert eines gleichnamigen sd:param -Elements eingesetzt.
Diese Technik stellt bsp. eine Warenkorb-Funktionalität bereit: Die erste Aktion eines Nutzers speichert eine Bestell-Zeile und cacht die Id. Die folgenden Speicherungen erzeugen Datensätze in Detailtabellen zu dieser Bestellung und erhalten die Id des Hauptdatensatzes über das sd:ro-value - Element.
Eine zweite Nutzung besteht darin, eine Ausgabeseite mit dem Namen eines sd:param -Elements und der ID eines Hauptdatensatzes aufzurufen, so daß dieser Wert ausgelesen und gecacht wird. Damit läßt sich sicherstellen, daß nur die zu diesem Hauptdatensatz gehörenden Detaildatensätze angezeigt werden.
Die dritte Verwendung dieses Elements besteht darin, bei einer Tabelle eine Spalte 'Editierstatus' nicht auszugeben und sie für neue Datensätze bsp. mit sd:new-value='1' vorzubelegen. Damit kann mit einer einfachen Suche innerhalb der internen Bearbeitung ermittelt werden, welche Datensätze neu hinzugefügt wurden. Eine interne Bearbeitung setzt den Wert bsp. auf '2' (= freigegeben) oder auf 4 (= gesperrt). Wird ein Datensatz erneut auf einer Ausgabeseite editiert, so sichert die Zuweisung <sd:std-value='Editierstatus'>, daß der Wert dieser Spalte unverändert bleibt. Zugehörige Ausgaben nutzen ein sd:ro-value - Element mit sd:std-value='2', so daß Leser nur die freigegebenen Zeilen sehen.
Der Wert des sd:missing-value -Attributs wird verwendet, falls nach allen vorherigen Prüfungen noch kein Wert ermittelt werden konnte. Das Attribut sollte immer dann genutzt werden, falls eine Nichtbelegung zu fehlerhaften Speicherungen oder zu Informationslecks führen könnte. So läßt sich das Speichern eines ansonsten unsinnigen Detaildatensatzes vermeiden, falls für die Relationenspalte der Wert -1 über das sd:missing-value -Attribut gesetzt wird. Ebenso erzeugt der Wert -1 für eine Relationenspalte leere Suchergebnisse.
Das sd:ro-value - Element ist als Hauptelement definiert. Es kann damit innerhalb seines sd:input-table -Elements genutzt werden, ebenso können jedoch mehrere dieser Elemente am Beginn des body-Abschnitts gesammelt werden.
Das ist nützlich, wenn eine Spalte eines Unterformulars per sd:ro-value - Element vorbelegt wird, aber dadurch keine unnötigen Leerzeilen entstehen sollen.
<sd:ro-value sd:for='sample-input' sd:col='Editierstatus' sd:std-value='Editierstatus' sd:new-value='1'/>Beispiel für die Suche: Damit ist sichergestellt, daß nur jene Zeilen ausgegeben werden, die zur Ausgabe freigegeben wurden:
<sd:ro-value sd:for='sample-output' sd:col='Editierstatus' sd:std-value='2'/>Beispiel für ein Element, das gegebenenfalls ein leeres Suchergebnis produziert.
<sd:ro-value sd:for='sample-output' sd:col='main_TableId' sd:std-value='$my-internal-param' sd:missing-value='-1'/>