transform

Класс: matlab.io.xml.transform.Transformer
Пакет: matlab.io.xml.transform

Преобразуйте XML-документ

Синтаксис

transform(transformer,input,stylesheet,output)
document = transform(transformer,input,stylesheet)
transform(transformer,input,output)
document = transform(transformer,input)

Описание

transform(transformer,input,stylesheet,output) использование transformer преобразовать input использование stylesheet и хранит результат в месте, заданном output.

document = transform(transformer,input,stylesheet) возвращает результат как matlab.io.xml.dom.Document объект.

transform(transformer,input,output) требует, чтобы входной документ содержал инструкцию по обработке, которая задает таблицу стилей и хранит результат в месте, заданном output. Например, эта разметка в начале XML-документа задает таблицу стилей под названием catalog.xsl это расположено в текущей папке.

<?xml version="1.0" encoding="UTF-8"?>
 <?xml-stylesheet type="text/xsl" href="catalog.xsl"?>

document = transform(transformer,input) требует, чтобы входной документ содержал инструкцию по обработке, которая задает таблицу стилей и возвращает результат как matlab.io.xml.dom.Document объект.

Входные параметры

развернуть все

Трансформатор XML-документа в виде matlab.io.xml.transform.Transformer объект.

XML, чтобы преобразовать в виде одного из этих значений:

ЗначениеИспользуйте, чтобы задать
вектор символов, строковый скаляр или matlab.io.xml.transform.SourceFile объектПуть к XML-файлу
matlab.io.xml.transform.SourceString объектСтрока XML
matlab.io.xml.dom.Document, или matlab.io.xml.transform.SourceDocument объектПроанализированный XML-документ

XML, чтобы преобразовать в виде одного из этих значений:

ЗначениеИспользуйте, чтобы задать
вектор символов, строковый скаляр или matlab.io.xml.transform.StylesheetSourceFile объектПуть к файлу таблицы стилей
matlab.io.xml.transform.SourceString объектРазметка XSL
matlab.io.xml.dom.Document, или matlab.io.xml.transform.StylesheetSourceDocument объектПроанализированный документ
matlab.io.xml.transform.CompiledStylesheet объектТаблица стилей Compiled

Местоположение, чтобы сохранить преобразованный выход в виде одного из этих значений:

ЗначениеИспользуйте, чтобы задать
вектор символов, строковый скаляр или matlab.io.xml.transform.ResultFile объектFilepath
matlab.io.xml.transform.ResultString объектСтрока результата
matlab.io.xml.transform.ResultDocument объектПроанализированный документ

Выходные аргументы

развернуть все

Результат преобразования, возвращенный как matlab.io.xml.dom.Document объект.

Примеры

развернуть все

Этот пример преобразовывает разметку XML для стран и их столиц в HTML-таблицу.

Пример использует эти файлы:

  • 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>

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

import matlab.io.xml.transform.*
transform(Transformer,"capitals.xml","capitals.xsl","capitals.html");

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

web("capitals.html")

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

Возвращать результат преобразования как matlab.io.xml.dom.Document возразите, обеспечьте выходной аргумент, вместо того, чтобы задать местоположение результата как входной параметр.

import matlab.io.xml.transform.*
doc = transform(Transformer,"capitals.xml","capitals.xsl");
Введенный в R2021a