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

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Die setParameter()-Methode des XSLTProcessor-Interfaces setzt den Wert eines Parameters (<xsl:param>) im im Prozessor importierten Stylesheet.

Syntax

js
setParameter(namespaceURI, localName, value) 

Parameter

namespaceURI

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

localName

Der Name des Parameters im zugehörigen Namespace.

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 mit setParameter() übergibt, um eine dynamische Modifikation der Transformationsausgabe basierend auf diesen Parametern zu ermöglichen.

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

Specification
DOM
# dom-xsltprocessor-setparameter

Browser-Kompatibilität

Siehe auch