XSLT <xsl:namespace-alias> Element

Definition und Verwendung

Das Element <xsl:namespace-alias> wird verwendet, um Namensräume in der Ausgabe durch andere Namensräume zu ersetzen, mit anderen Worten, andere Präfixe zu verwenden, um die mit einem bestimmten Namensraum verbundenen Präfixe zu ersetzen.

Anmerkung:<xsl:namespace-alias> ist ein oberster Element (top-level element) und muss ein Kind von <xsl:stylesheet> oder <xsl:transform> sein.

Manchmal generiert ein XSLT-Datei eine andere XSLT. Dies führt zu Namensraumproblemen, da es keine klare Möglichkeit gibt, zwei Präfix derselben Namensraum zu deklarieren, und der Prozessor behandelt die zwei Präfix nicht als selben Namensraum. Mit dem Befehl <xsl:namespace-alias> kann eine Übergangs-Namensraum für einen alternativen Präfix zugewiesen werden, die Stylesheet angewendet wird, und der alternative Namensraum wird auf den XSLT-Namensraum gemappt.

Obwohl die Dateigenerierung von XSL zu XSL der Hauptnutzung dieses Befehls ist, ist er nicht der einzige Zweck. Dieser Befehl kann an jedem Ort, wo es Namensraumkonflikte gibt, verwendet werden (z.B. xsi: Schema-Datentypen-Namensraum).

Syntax

<xsl:namespace-alias
stylesheet-prefix="prefix|#default"
result-prefix="prefix|"#default"/>

Attribut

Attribut Wert Beschreibung
stylesheet-prefix
  • prefix
  • #default
Notwendig. Bestimmt den Namensraum, den Sie ändern möchten.
result-prefix
  • prefix
  • #default
Notwendig. Bestimmt die erwartete Namensraum für die Ausgabe.

Beispiel

Beispiel 1

Der Präfix wxsl wird im Ausgabeoutput in den Präfix xsl: umgewandelt:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wxsl="http://www.codew3c.com/w3style.xsl">
<xsl:namespace-alias stylesheet-prefix="wxsl" result-prefix="xsl"/>
<xsl:template match="/">
  <wxsl:stylesheet>
    <xsl:apply-templates/>
  </wxsl:stylesheet>
</xsl:template>
</xsl:stylesheet>