XSLTProcessor: метод reset()
Базовая поддержка Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Метод reset() интерфейса XSLTProcessor удаляет все параметры (<xsl:param>) и XSLT-стиль из процессора. Процессор затем будет находиться в исходном состоянии, в котором он был создан.
Синтаксис
reset()
Параметры
Нет.
Возвращаемое значение
None (undefined).
Примеры
Использование reset()
Этот пример демонстрирует, как метод reset() позволяет повторно использовать тот же экземпляр XSLTProcessor для нескольких преобразований с различными стилями.
HTML
<div id="result"></div>
JavaScript
const xmlString1 = `
<items>
<item>Item A</item>
<item>Item B</item>
</items>
`;
const xsltString1 = `
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<ul>
<xsl:for-each select="items/item">
<li><xsl:value-of select="."/></li>
</xsl:for-each>
</ul>
</xsl:template>
</xsl:stylesheet>
`;
const xmlString2 = `
<fruits>
<fruit>Apple</fruit>
<fruit>Banana</fruit>
</fruits>
`;
const xsltString2 = `
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<ol>
<xsl:for-each select="fruits/fruit">
<li><xsl:value-of select="."/></li>
</xsl:for-each>
</ol>
</xsl:template>
</xsl:stylesheet>
`;
const parser = new DOMParser();
const xmlDoc1 = parser.parseFromString(xmlString1, "application/xml");
const xsltDoc1 = parser.parseFromString(xsltString1, "application/xml");
const xmlDoc2 = parser.parseFromString(xmlString2, "application/xml");
const xsltDoc2 = parser.parseFromString(xsltString2, "application/xml");
const xsltProcessor = new XSLTProcessor();
// Import the first XSLT stylesheet and transform the first XML
xsltProcessor.importStylesheet(xsltDoc1);
let resultFragment = xsltProcessor.transformToFragment(xmlDoc1, document);
document.getElementById("result").appendChild(resultFragment);
// Reset the XSLTProcessor instance
xsltProcessor.reset();
// Import the second XSLT stylesheet and transform the second XML
xsltProcessor.importStylesheet(xsltDoc2);
resultFragment = xsltProcessor.transformToFragment(xmlDoc2, document);
document.getElementById("result").appendChild(document.createElement("hr"));
document.getElementById("result").appendChild(resultFragment);
Результат
Спецификации
| Спецификация |
|---|
| DOM # dom-xsltprocessor-reset |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
reset |
1 | 12 | 1 | ≤12.1 | 3.1 | 18 | 4 | ≤12.1 | 2 | 1.0 | 3 |
См. также
© 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/reset