matlab.io.xml.dom.TypeInfo class

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

Информация о типе схемы

Описание

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

The 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 элемент. The 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