Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

XSLTProcessor: setParameter() Methode

Deprecated

Avoid using this feature in new projects. XSLT is a candidate for removal from browsers because browser implementations are highly susceptible to memory safety vulnerabilities. This feature may be a candidate for removal from web standards or browsers.

Die setParameter() Methode der XSLTProcessor Schnittstelle setzt den Wert eines Parameters (<xsl:param>) im Stylesheet, das in den Prozessor importiert wurde.

Syntax

js
setParameter(namespaceURI, localName, value)

Parameter

namespaceURI

Der Namensraum, der mit dem Parameternamen verbunden ist. Ein "null" Wert wird genauso behandelt wie der leere String ("").

localName

Der Name des Parameters im zugehörigen Namensraum.

value

Der Wert des Parameters.

Hinweis: Firefox unterstützt jede Art von Parameter. Chrome, Edge und Safari unterstützen nur String-Parameter.

Rückgabewert

Keiner (undefined).

Beispiele

Verwendung von setParameter()

Dieses Beispiel zeigt, wie man Parameter von JavaScript an ein XSLT-Stylesheet übergibt, indem setParameter() verwendet wird, was eine dynamische Anpassung der Transformationsausgabe basierend auf diesen Parametern ermöglicht.

HTML

html
<div id="result"></div>

JavaScript

js
const xmlString = `
<items>
  <item>Item 1</item>
  <item>Item 2</item>
  <item>Item 3</item>
</items>
`;

const xsltString = `
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:param name="showItems" select="'yes'"/>
  <xsl:param name="highlightColor" select="'yellow'"/>
  <xsl:template match="/">
    <ul>
      <xsl:if test="$showItems = 'yes'">
        <xsl:for-each select="items/item">
          <li style="background-color: {$highlightColor};">
            <xsl:value-of select="."/>
          </li>
        </xsl:for-each>
      </xsl:if>
    </ul>
  </xsl:template>
</xsl:stylesheet>
`;

const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xmlString, "application/xml");
const xsltDoc = parser.parseFromString(xsltString, "application/xml");

const xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xsltDoc);

xsltProcessor.setParameter(null, "showItems", "yes");
xsltProcessor.setParameter(null, "highlightColor", "lightblue");

// Perform the transformation from XML to HTML
const resultFragment = xsltProcessor.transformToFragment(xmlDoc, document);

// Display the transformed result in the page
document.getElementById("result").appendChild(resultFragment);

Ergebnis

Spezifikationen

Spezifikation
DOM
# dom-xsltprocessor-setparameter

Browser-Kompatibilität

Siehe auch