transform

Класс: трансформатор
Пакет: 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 объектПуть к файл
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 объектСкомпилированная таблица стилей

Расположение для хранения преобразованного выхода, заданное как одно из следующих значений:

ЗначениеИспользуйте, чтобы задать
вектор символов, строковый скаляр или matlab.io.xml.transform.ResultFile объектПуть к файлу
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