Main Content

matlab.io.xml.transform.StylesheetSourceDocument 类

命名空间: matlab.io.xml.transform

用于转换的样式表源文档

自 R2021a 起

描述

使用 matlab.io.xml.transform.StylesheetSourceDocument 类的对象将 matlab.io.xml.dom.Document 对象指定为用于转换的样式表。您可以提供一个 StylesheetSourceDocument 对象作为 matlab.io.xml.transform.Transformer 对象的 transformtransformToString 方法的样式表输入。

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 标记转换为 XML 表。原始 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,其中包含具有用于转换的 XSL 标记的 Document 对象。

stylesheetObj = StylesheetSourceDocument(ssDoc);

执行转换,并提供 stylesheetObj 作为样式表,capitals.xml 作为源 XML,以及 capitals.html 作为输出文件的名称。

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

在浏览器中打开 capitals.html。

web("capitals.html")

下面是 HTML 表:

版本历史记录

在 R2021a 中推出