exponenta event banner

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

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

Описание

Объект matlab.io.xml.dom.DocuementType представляет тип документа.

getDoctype способ matlab.io.xml.dom.Document объект возвращает matlab.io.xml.dom.DocumentType объект, если Document был создан синтаксическим анализатором из XML-разметки, содержащей определение типа документа (DTD).

Примечание

A DocumentType объект наследует методы и свойства из matlab.io.xml.dom.Node класс, которые неэффективны или вызывают ошибки при использовании с DocumentType объект. Используйте только методы и свойства, описанные на этой странице.

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

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

ConstructOnLoad
true
HandleCompatible
true

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

Свойства

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

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

Атрибуты:

GetAccess
public
SetAccess
immutable
Transient
true
NonCopyable
true

Открытый идентификатор типа документа, указанный как символьный вектор.

Атрибуты:

GetAccess
public
SetAccess
immutable
Transient
true
NonCopyable
true

Системный идентификатор типа документа, указанный как символьный вектор.

Атрибуты:

GetAccess
public
SetAccess
immutable
Transient
true
NonCopyable
true

Локально определенные объекты и обозначения, указанные как символьный вектор. Локально определенные сущности и обозначения определяются в разметке, из которой был проанализирован тип документа.

Атрибуты:

GetAccess
public
SetAccess
immutable
Transient
true
NonCopyable
true

Методы

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

Примеры

свернуть все

В этом примере показано, как получить доступ к информации о типе документа и сущности в документе DOM, который был проанализирован из разметки XML, содержащей определение типа документа (DTD).

В примере используются следующие файлы, которые должны находиться в одной папке:

  • book.xml содержит определение типа документа, которое объявляет, что ресурс для chapter сущность - chapter.xml.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book [
<!ENTITY chapter SYSTEM "chapter.xml">
]>
<book>
    &chapter;
</book>
  • chapter.xml содержит разметку для главы.

<?xml version="1.0" encoding="UTF-8"?>
<chapter><title color="red">Introduction</title></chapter>

Синтаксический анализ XML в matlab.io.xml.dom.Document объект.

import matlab.io.xml.dom.*

doc = parseFile(Parser,'book.xml');

Для получения информации о типе документа используйте getDoctype способ Document объект.

docTypeObj = getDoctype(doc)
docTypeObj = 
  DocumentType with properties:

              Name: 'book'
          PublicID: ''
          SystemID: ''
    InternalSubset: '...'
       TextContent: ''
          Children: [1x0 matlab.io.xml.dom.Node]

Для получения информации об объектах, определенных типом документа, используйте getEntities способ DocumentType объект. Метод возвращает список сущностей в виде NamedNodeMap объект.

namedNodeMapObj = getEntities(docTypeObj);

Для возврата matlab.io.xm.dom.Entity объекты, которые представляют объекты, используйте item способ NamedNodeMap объект. Укажите первый индекс как 0.

n = getLength(namedNodeMapObj)-1;
for i=0:n
    item(namedNodeMapObj,i)
end
ans = 
  Entity with properties:

    InputEncoding: 'UTF-8'
         PublicID: ''
         SystemID: 'chapter.xml'
      XMLEncoding: 'UTF-8'
       XMLVersion: '1.0'
      TextContent: '...'
         Children: [1x2 matlab.io.xml.dom.Node]

Представлен в R2021a