XSLTProcessor: removeParameter() Methode

Baseline Widely available

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

Die removeParameter()-Methode der XSLTProcessor-Schnittstelle entfernt den Parameter (<xsl:param>) und dessen Wert aus dem Stylesheet, das im Prozessor importiert wurde.

Syntax

js
removeParameter(namespaceURI, localName)

Parameter

namespaceURI

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

localName

Der Name des Parameters im zugehörigen Namespace.

Rückgabewert

Keiner (undefined).

Beispiele

Verwendung von removeParameter()

Zuerst wird der showItems-Parameter auf "yes" gesetzt, was das Anzeigen der Listenelemente in der Ausgabe ermöglicht.

Danach wird der showItems-Parameter mit removeParameter() entfernt, und die Transformation wird erneut durchgeführt, wodurch keine Elemente angezeigt werden.

HTML

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

JavaScript

js
const xmlString = `
<items>
  <item>Item 1</item>
  <item>Item 2</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:template match="/">
    <!-- If showItems is 'yes', display the list of items -->
    <xsl:if test="$showItems = 'yes'">
      <ul>
        <xsl:for-each select="items/item">
          <li><xsl:value-of select="."/></li>
        </xsl:for-each>
      </ul>
    </xsl:if>
    <!-- If showItems is 'no', display a message -->
    <xsl:if test="$showItems = 'no'">
      <div>No content to show</div>
    </xsl:if>
  </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);

// Set 'showItems' to 'no' and perform the first transformation
xsltProcessor.setParameter(null, "showItems", "no");
const resultContainer = document.getElementById("result");
let resultFragment = xsltProcessor.transformToFragment(xmlDoc, document);
resultContainer.appendChild(resultFragment);

// Add a horizontal rule to separate the results
resultContainer.appendChild(document.createElement("hr"));

// Remove the 'showItems' parameter, reverting it to the default value ('yes')
xsltProcessor.removeParameter(null, "showItems");
resultFragment = xsltProcessor.transformToFragment(xmlDoc, document);
resultContainer.appendChild(resultFragment);

Ergebnis

Spezifikationen

Specification
DOM
# dom-xsltprocessor-removeparameter

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
removeParameter

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch