matlab.io.xml.transform.StylesheetSourceDocument class

Пакет: matlab.io.xml.transform

Исходный документ таблицы стилей для преобразования

Описание

Используйте объект matlab.io.xml.transform.StylesheetSourceDocument класс, чтобы задать matlab.io.xml.dom.Document объект как таблица стилей, используемая для преобразования. Вы можете предоставить StylesheetSourceDocument объект как вход таблицы стилей в transform или transformToString метод matlab.io.xml.transform.Transformer объект.

The matlab.io.xml.transform.StylesheetSourceDocument класс является handle класс.

Атрибуты класса

ConstructOnLoad
true
HandleCompatible
true

Для получения информации об атрибутах класса см. раздел «Атрибуты класса».

Создание

Описание

пример

stylesheetSourceObj = matlab.io.xml.transform.StylesheetSourceDocument(doc) создает matlab.io.xml.transform.StylesheetSourceDocument объект со Document значение свойства установлено на заданное matlab.io.xml.dom.Document объект.

Свойства

расширить все

Документ, содержащий таблицу стилей, заданную как matlab.io.xml.dom.Document объект.

Атрибуты:

GetAccess
public
SetAccess
immutable
Transient
true
NonCopyable
true

Методы

расширить все

Примеры

свернуть все

Предположим, что вы хотите настроить таблицу стилей для преобразования, но не хотите изменять файл, содержащий таблицу стилей. Можно считать файл таблицы стилей в документ DOM, изменять стиль в документе, а затем использовать документ в качестве таблицы стилей для преобразования. Задайте таблицу стилей как matlab.io.xml.transform.StylesheetSourceDocument объект.

Этот пример преобразует разметку XML для стран и их столичных городов в HTML таблицы. Исходный XSL- файла задает таблицу с цветом по умолчанию, черным. Пример анализирует XSL из файла в matlab.io.xml.dom.Document объект, изменяет стиль, чтобы сделать таблицу зеленой, и передает Document объект преобразования как matlab.io.xml.transform.StylesheetSourceDocument объект.

В примере используются следующие файлы:

  • capitals.xml

<Countries>
    <Country><Name>Canada</Name><Capital>Ottawa</Capital></Country>
    <Country><Name>France</Name><Capital>Paris</Capital></Country>
    <Country><Name>Peru</Name><Capital>Lima</Capital></Country>
</Countries>
  • capitals.xsl

<?xml version="1.0"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
      <table>
      <tr>
        <th>Country</th>
        <th>Capital</th>
      </tr>
      <xsl:for-each select="Countries/Country">
        <tr>
          <td><xsl:value-of select="Name"/></td>
          <td><xsl:value-of select="Capital"/></td>
        </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

Синтаксический анализ файла таблицы стилей в matlab.io.xml.dom.Document объект.

import matlab.io.xml.dom.*
import matlab.io.xml.transform.*
import matlab.io.xml.xpath.*

ssDoc = parseFile(Parser,"capitals.xsl");

Найдите элемент таблицы и добавьте атрибут стиля, который задает цвет зеленого цвета.

tableElem = evaluate(Evaluator,"//table",ssDoc);
styleAttr = createAttribute(ssDoc,"style");
setValue(styleAttr,"color:green");
setAttributeNode(tableElem,styleAttr);

Создайте StylesheetSourceDocument объект, stylesheetObj, который содержит Document объект с разметкой XSL, используемый для преобразования.

stylesheetObj = StylesheetSourceDocument(ssDoc);

Выполните преобразование и обеспечьте stylesheetObj как таблица стилей, capitals.xml как исходный XML, и capitals.html как имя выходного файла.

transform(Transformer,"capitals.xml",stylesheetObj,"capitals.html");

Откройте capitals.html в браузере.

web("capitals.html")

Вот HTML таблицы:

Введенный в R2021a