Spec-Zone.ru › Web APIs

XSLTProcessor: метод transformToFragment()

Базовая Широко доступна

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

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

Метод transformToFragment() интерфейса XSLTProcessor преобразует предоставленный источник Node в фрагмент документа DocumentFragment с использованием связанного с XSLTProcessor XSLT-стиля.

Синтаксис

transformToFragment(source, document)

Параметры

source

Источник Node для применения XSLT-стиля.

document

Документ 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 в случае ошибки.

См. также

  • XSLTProcessor.transformToDocument()

© 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

Spec-Zone.ru

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