xsl:mode on-no-match
Mit dem Attribut on-no-match
des xsl:mode
-Elements wird bestimmt, wie mit Elementen verfahren wird, für die kein explizites XSLT-Template definiert wurde. Insgesamt stehen sechs verschiedene Werte für das Attribut zur Auswahl:
text-only-copy
Das ist der Default-Modus. Er wird verwendet, wenn das Attribut
on-no-match
nicht angegeben ist. Für alle Knoten, für die kein Template existiert, wird der Inhalt (mit Sub-Tree) als Text in den Output übernommen. Die Auszeichnungen gehen hierbei verloren. Alle Unterknoten werden ebenfalls als Text in den Output geschrieben, es sei denn, hierfür sind explizite Templates definiert.shallow-copy
Elemente, für die kein Template existiert, werden unverändert in den Output kopiert. Für untergeordnete Elemente werden, sofern vorhanden, Templates angewandt, andernfalls werden diese ebenfalls unverändert übernommen.
shallow-skip
Elemente ohne Template-Match werden nicht mit in den Output übernommen, sondern verworfen. Sofern für untergeordnete Elemente Templates definiert sind, werden diese jedoch verarbeitet und entsprechend im Output berücksichtigt.
deep-copy
Sobald für einen Knoten kein Template definiert wurde, wird der gesamte Knoten samt Sub-Tree unverändert in den Output kopiert. Templates, die untergeordnete Elemente betreffen, werden ignoriert.
deep-skip
Sobald für einen Knoten kein Template definiert wurde, wird der gesamte Knoten samt Sub-Tree ignoriert und nicht in den Output kopiert. Wenn für untergeordnete Elemente Templates vorhanden sind, werden diese ignoriert.
fail
Es muss für jedes Element ein Template definiert sein. Andernfalls wird ein element-spezifischer Fehler geworfen.
Übungen zu xsl:mode on-no-match
Mit den folgenden Übungen wird der Einsatz verschiedener Werte für on-no-match
gezeigt.
- xsl:mode on-no-match="fail" (Übung 1)
- xsl:mode on-no-match="shallow-copy" (Übung 2)
- xsl:mode on-no-match="shallow-skip" (Übung 3)
<< zurück | vor >> |
Tipp der data2type-Redaktion: Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: |