exponenta event banner

matlab.io.xml.transform.StylesheetSourceDocument класс

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

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

Описание

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

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