exponenta event banner

matlab.io.xml.dom.TypeInfo класс

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

Сведения о типе схемы

Описание

Объект matlab.io.xml.dom.TypeInfo класс определяет имя, пространство имен и деривацию элемента или типа атрибута, определенного схемой.

matlab.io.xml.dom.TypeInfo класс является handle класс.

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

ConstructOnLoad
true
HandleCompatible
true

Сведения об атрибутах класса см. в разделе Атрибуты класса.

Создание

Создание matlab.io.xml.dom.TypeInfo объект, вызовите getSchemaTypeInfo способ matlab.io.xml.dom.Element или matlab.io.xml.dom.Attr объект, содержащийся в проанализированном matlab.io.xml.dom.Document объект. Информация о типе доступна в элементе или атрибуте только в том случае, если синтаксический анализатор настроен на проверку XML по схеме и сохранение информации о проверке после схемы (PSVI) в элементах и атрибутах.

Свойства

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

Имя этого типа схемы, указанное как символьный вектор.

Атрибуты:

GetAccess
public
SetAccess
immutable
NonCopyable
true
Transient
true

Пространство имен этого типа схемы, указанное как символьный вектор.

Атрибуты:

GetAccess
public
SetAccess
immutable
NonCopyable
true
Transient
true

Методы

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

Примеры

свернуть все

В этом примере сохраняется информация о проверке после схемы (PSVI) в элементах проанализированного XML-документа, а затем используется matlab.io.xml.dom.TypeInfo объект для получения типа одного из элементов.

Файл checkingaccount.xml содержит разметку для банковского счета и указывает схему checkingaccount.xsd.

type checkingaccount.xml
<?xml version="1.0" encoding="UTF-8"?>

<account
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="checkingaccount.xsd">
  <id>12345678</id>
  <name>Jane Jones</name>
  <balance>1000.00</balance>
</account>

Схема указывает, что account элемент имеет id, name, и balance элемент. id и name элементы должны содержать строку и balance элемент должен содержать десятичное число.

type checkingaccount.xsd
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="account">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="id" type="xs:string"/>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="balance" type="xs:decimal"/>
    </xs:sequence>
   </xs:complexType>
</xs:element>

</xs:schema>

Настройте синтаксический анализатор для проверки XML по схеме и сохранения информации о проверке после схемы в проанализированных элементах. Считывайте XML-файл в документ DOM с помощью синтаксического анализатора.

import matlab.io.xml.dom.*

parser = Parser();
parser.Configuration.Schema = true;
parser.Configuration.Validate = true;
parser.Configuration.HasPSVI = true;
doc = parseFile(parser,"checkingaccount.xml");

Найти balance элемент в документе.

nodelistObj = getElementsByTagName(doc,"balance");
balanceElementObj = node(nodelistObj,1);

Возвращает информацию о типе для balance элемент как matlab.io.xml.dom.TypeInfo объект.

typeInfoObj = getSchemaTypeInfo(balanceElementObj);

Чтобы получить имя типа, вызовите getTypeName способ.

getTypeName(typeInfoObj)
ans = 
'decimal'
Представлен в R2021a