<sd:library xmlns:sd="http://www.server-daten.de/" xmlns="http://www.w3.org/1999/xhtml"> <sd:template sd:name="myName"> Max Mustermann </sd:template> <sd:template sd:name="searchLabel"> <sd:choose-lang> <sd:span sd:lang="de">Suchen</sd:span> <sd:span sd:lang="fr">chercher</sd:span> <sd:span>Search</sd:span> </sd:choose-lang> </sd:template> </sd:library>Diese kann in einer Ausgabeseite mit dem folgenden Code verwendet werden:
<sd:call-template sd:name="call-myName" sd:library-name="lib.html" sd:template-name="myName" />Die sprachabhängige Beschriftung für den Suchbutton, die über viele Ausgabeseiten hinweg einheitlich sein soll, erfolgt so:
<sd:button sd:name="myButton"> <sd:label-standard> <sd:call-template sd:name="call-searchLabel" sd:library-name="lib.html" sd:template-name="searchLabel" /> </sd:label-standard> </sd:button>Damit kann an verschiedenen Stellen unterschiedlicher Ausgabeseiten immer der Inhalt des Templates ausgegeben werden, so daß sich dieser Inhalt zentral verwalten läßt.
<body> <sd:param sd:name='parameter-name-1' sd:std-value='Max Mustermann'/> <sd:value sd:param-name='parameter-name-2'/> </body>Denn das Attribut sd:param-name erwartet einen Namen, der Wert des sd:name -Attributes eines sd:param -Elements ist. Wird der Ausdruck 'paramter-name-2' durch 'parameter-name-1' ersetzt, so ist die Ausgabeseite valide und zeigt den Parameterwert 'Max Mustermann' an. Diese scharfe Validierung ist sinnvoll, um mögliche Fehlerquellen zu reduzieren.
Ein sd:template -Element kann dagegen wie folgt aufgebaut sein:
<sd:template sd:name="myName"> <div style="background-color:yellow;"> Name: <sd:value sd:param-name="myParam" /> </div> </sd:template>Hier wird das sd:value -Element mit einem sd:param-name -Wert verwendet, der in der Library unbekannt ist. Enthält die Ausgabeseite, welche dieses sd:template -Element aufruft, ein sd:param -Element mit dem Namen 'myParam', so wird dieser Wert beim Ausführen ausgegeben.
An diesem Beispiel wird deutlich: Ein sd:template -Element holt sich gewisse aktuelle Werte aus der aufrufenden Umgebung, ohne daß diese Werte explizit übergeben werden müßten. Damit kann dasselbe sd:template -Element verschiedene Ausgaben erzeugen, falls es von verschiedenen Ausgabeseiten her aufgerufen wird. Aufgrund dieser Flexibilität kann allerdings nicht mehr so genau validiert werden, wie dies für gewöhnliche Ausgabeseiten möglich ist.