matlab.io.xml.dom.TypeInfo class

Пакет: 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Имя, и 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