4.1.8.2  Clark Notation

Clark Notation Bei der Clark Notation kann dem Elementbezeichner mittels geschweifter Klammerung der benötigte Namespace vorangestellt werden. Das sieht z.B. wie folgt aus - wenn man auch gleich noch das ? -Prefix voranstellt:

?{http://www.tekturcms.de/namespaces/mein-namespace}spezieller-verarbeitungs-modus=true()
Plain Text

Im aufgerufenen Stylesheet wird zunächst der Namespace deklariert, dann der Parameter gesetzt und schliesslich die Logik angegeben:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:tk="http://www.tekturcms.de/namespaces/mein-namespace"
    exclude-result-prefixes="xs"
    version="2.0">
    
    <xsl:param name="tk:spezieller-verarbeitungs-modus" select="false()" as="xs:boolean"/>
    
    <xsl:template name="main">
        <xsl:choose>
            <xsl:when test="$tk:spezieller-verarbeitungs-modus">Gut</xsl:when>
            <xsl:otheriwse>Schlecht</xsl:otheriwse>
        </xsl:choose>
    </xsl:template>
    
</xsl:stylesheet>
Plain Text

Diesen Sonderfall braucht man eigentlich nur, wenn man in eine bestehende Transformation einen Parameter einführen will, dessen Bezeichner schon existiert, um so einen Namenskonflikt zu vermeiden - gesehen bspw. bei komplexen Schematron Regeln.