XSLTProcessor: метод transformToFragment()
Базовая Широко доступна
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Метод transformToFragment() интерфейса XSLTProcessor преобразует предоставленный источник Node в фрагмент документа DocumentFragment с использованием связанного с XSLTProcessor XSLT-стиля.
Синтаксис
transformToFragment(source, document)
Параметры
Возвращаемое значение
Объект DocumentFragment.
Примеры
Использование transformToFragment()
Этот пример демонстрирует, как использовать transformToFragment() для преобразования XML-данных в HTML, который затем можно напрямую вставить в DOM как фрагмент документа.
HTML
<div id="result"></div>
JavaScript
const xmlString = `
<books>
<book>
<title>Book 1</title>
<author>Author 1</author>
</book>
<book>
<title>Book 2</title>
<author>Author 2</author>
</book>
</books>
`;
const xsltString = `
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<ul>
<xsl:for-each select="books/book">
<li>
<strong><xsl:value-of select="title"/></strong>
by <em><xsl:value-of select="author"/></em>
</li>
</xsl:for-each>
</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);
// Perform the transformation, returning the result as a document fragment
const resultFragment = xsltProcessor.transformToFragment(xmlDoc, document);
// Insert the result into the page
document.getElementById("result").appendChild(resultFragment);
Результат
Спецификации
| Спецификация |
|---|
| DOM # dom-xsltprocessor-transformtofragment |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
transformToFragment |
1Chrome возвращаетnull в случае ошибки. |
12Edge возвращаетnull в случае ошибки. |
1Firefox генерирует исключение в случае ошибки. |
≤12.1["Opera 12.1 и ранее генерируют исключение при ошибке.", "Opera 15 и более поздние версии возвращаютnull в случае ошибки."] |
3.1Safari возвращаетnull в случае ошибки. |
18Chrome Android возвращаетnull в случае ошибки. |
4Firefox для Android генерирует исключение в случае ошибки. |
≤12.1["Opera Android 12.1 и ранее генерируют исключение при ошибке.", "Opera Android 14 и более поздние версии возвращаютnull в случае ошибки."] |
2Safari на iOS возвращаетnull в случае ошибки. |
1.0Samsung Internet возвращаетnull в случае ошибки. |
3WebView возвращаетnull в случае ошибки. |
См. также
© 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/transformToFragment