matlab.io.xml.dom.DocumentType class

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

Описание

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

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

Примечание

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

The 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