Spec-Zone.ru › Web APIs

XSLTProcessor: метод setParameter()

Базовая реализация Широко поддерживается

Данная функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Метод setParameter() интерфейса XSLTProcessor устанавливает значение параметра (<xsl:param>) в импортируемом в обработчик стиле.

Синтаксис

setParameter(namespaceURI, localName, value)

Параметры

namespaceURI

Пространство имён, связанное с именем параметра. Значение "null" обрабатывается так же, как пустая строка ("").

localName

Имя параметра в связанном пространстве имён.

value

Значение параметра.

Примечание: Firefox поддерживает любые типы параметров. Chrome, Edge и Safari поддерживают только строковые параметры.

Возвращаемое значение

None (undefined).

Примеры

Использование setParameter()

Этот пример демонстрирует, как передавать параметры из JavaScript в XSLT-стиль с помощью setParameter(), позволяя динамически изменять выходные данные преобразования на основе этих параметров.

HTML

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

JavaScript

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);

Результат

Спецификации

Спецификация
DOM
# dom-xsltprocessor-setparameter

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
setParameter
1Chrome поддерживает только строковые значения.
12Edge поддерживает только строковые значения.
1
≤12.1Opera поддерживает только строковые значения.
3.1Safari поддерживает только строковые значения.
18Chrome Android поддерживает только строковые значения.
4
≤12.1Opera поддерживает только строковые значения.
2Safari на iOS поддерживает только строковые значения.
1.0Samsung Internet поддерживает только строковые значения.
3WebView поддерживает только строковые значения.

См. также

  • XSLTProcessor.getParameter()
  • XSLTProcessor.removeParameter()
  • XSLTProcessor.clearParameters()
  • XSLTProcessor.reset()

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XSLTProcessor/setParameter

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API