Документация DHTML
| Документация DHTML | Документация Smarty | SVG/VML Графика и JavaScript
| Документация bash |
Глава 4.5. Дополнительные интерфейсы базовой модели
В этой главе мы рассматриваем дополнительные интерфейсы базовой модели DOM. Эти интерфейсы предназначены для XML-документов, поэтому читатели, которых интересует только работа с HTML-документами, могут эту главу безболезненно пропустить. Ее содержимое нам понадобится, когда мы дойдем до описания XML DOM.
4.5.1. Секция CDATA: интерфейс CDATASection
Поддержка: Соответствует стандарту (XMLDOMCDATASection). Соответствует стандарту.
Интерфейс CDATASection реализует секции CDATA XML-документов. Он наследует все свойства и методы интерфейса Text и содержит текст секции CDATA, т. е. все, что находится между ограничителями <![CDATA[ и ]]>. Собственных свойств и методов у него нет. Основным отличием узлов данного типа от узлов типа Text является то, что при нормализации узлов методом Node.normalize соседние секции CDATA не сливаются в одну секцию.
4.5.2. Тип документа: интерфейс DocumentType
Поддержка: Соответствует DOM 1 (XMLDOMDocumentType). Соответствует DOM 2.
Каждый объект типа Document имеет атрибут doctype, значением которого является либо null, либо объект DocumentType. Интерфейс DocumentType обеспечивает доступ ко всем разделам и нотациям, определенным для данного документа. DOM 2 не допускает редактирования узлов этого типа; они предназначены только для чтения. Интерфейс DocumentType наследует методы и свойства интерфейса Node и имеет дополнительно следующие свойства.
Свойство | Изменяемое | Модель | Описание |
---|---|---|---|
entities | Нет | DOM 1 | Список деклараций разделов. |
internalSubset | Нет | DOM 2 | Внутреннее подмножество DTD. |
name | Нет | DOM 1 | Имя DTD. |
notations | Нет | DOM 1 | Список деклараций нотаций. |
publicId | Нет | DOM 2 | Публичный идентификатор DTD. |
systemId | Нет | DOM 2 | Системный идентификатор DTD. |
Свойство entities
Синтаксис: объект.entities Изменяемое: нет
Поддержка: Только для XML-документов. Соответствует стандарту.
Свойство entities возвращает объект типа NamedNodeMap, содержащий список всех деклараций разделов в документе, как внутренних, так и внешних. Параметрические разделы в список не включаются. Каждому разделу соответствует объект типа Entity. Пример:
alert(document.doctype.entities.length);
Свойство internalSubset
Синтаксис: объект.internalSubset Изменяемое: нет
Поддержка: Не поддерживается. Соответствует стандарту.
Свойство internalSubset возвращает текст внутреннего подмножества DTD в виде строки. Фактически возвращаемое значение определяется конкретной реализацией XML-процессора. Пример:
alert(document.doctype.internalSubset);
Свойство name
Синтаксис: объект.name Изменяемое: нет
Поддержка: Только для XML-документов. Соответствует стандарту.
Свойство name возвращает строку, содержащую имя DTD, т. е. имя, непосредственно следующее за ключевым словом !DOCTYPE. Пример:
alert(document.doctype.name);
Свойство notations
Синтаксис: объект.notations Изменяемое: нет
Поддержка: Только для XML-документов. Соответствует стандарту.
Свойство notations возвращает объект типа NamedNodeMap, содержащий список всех деклараций нотаций в документе. Каждой нотации соответствует объект типа Notation. Пример:
alert(document.doctype.notations.length);
Свойство publicId
Синтаксис: объект.publicId Изменяемое: нет
Поддержка: Не поддерживается. Соответствует стандарту.
Свойство publicId возвращает строку, содержащую публичный идентификатор внешнего подмножества DTD. Пример:
alert(document.doctype.publicId);
Свойство systemId
Синтаксис: объект.systemId Изменяемое: нет
Поддержка: Не поддерживается. Соответствует стандарту.
Свойство systemId возвращает строку, содержащую системный идентификатор внешнего подмножества DTD. Пример:
alert(document.doctype.systemId);
4.5.3. Нотация: интерфейс Notation
Поддержка: Соответствует стандарту (XMLDOMNotation). Соответствует стандарту.
Интерфейс Notation соответствует декларации нотации в DTD XML-документа. DOM 2 не допускает редактирования узлов этого типа; они предназначены только для чтения. Интерфейс Notation наследует методы и свойства интерфейса Node и имеет дополнительно следующие свойства (имя нотации хранится в свойстве nodeName).
Свойство | Изменяемое | Модель | Описание |
---|---|---|---|
publicId | Нет | DOM 1 | Публичный идентификатор нотации. |
systemId | Нет | DOM 1 | Системный идентификатор нотации. |
Свойство publicId
Синтаксис: объект.publicId Изменяемое: нет
Поддержка: Соответствует стандарту. Соответствует стандарту.
Свойство publicId возвращает строку, содержащую публичный идентификатор нотации, или null, если его нет. Пример:
alert(document.doctype.notations[0].publicId);
Свойство systemId
Синтаксис: объект.systemId Изменяемое: нет
Поддержка: Соответствует стандарту. Соответствует стандарту.
Свойство systemId возвращает строку, содержащую системный идентификатор нотации, или null, если его нет. Пример:
alert(document.doctype.notations[0].systemId);
4.5.4. Раздел: интерфейс Entity
Поддержка: Соответствует стандарту (XMLDOMEntity). Соответствует стандарту.
Интерфейс Entity соответствует разделу XML-документа. DOM 2 не допускает редактирования узлов этого типа; они предназначены только для чтения. Интерфейс Entity наследует методы и свойства интерфейса Node и имеет дополнительно следующие свойства (имя раздела хранится в свойстве nodeName).
Свойство | Изменяемое | Модель | Описание |
---|---|---|---|
notationName | Нет | DOM 1 | Имя нотации. |
publicId | Нет | DOM 1 | Публичный идентификатор раздела. |
systemId | Нет | DOM 1 | Системный идентификатор раздела. |
Свойство notationName
Синтаксис: объект.notationName Изменяемое: нет
Поддержка: Соответствует стандарту. Соответствует стандарту.
Свойство notationName возвращает строку, содержащую нотацию раздела для неанализируемых разделов или null, если раздел анализируемый. Пример:
alert(document.doctype.entities[0].notationName);
Свойство publicId
Синтаксис: объект.publicId Изменяемое: нет
Поддержка: Соответствует стандарту. Соответствует стандарту.
Свойство publicId возвращает строку, содержащую публичный идентификатор раздела, или null, если его нет. Пример:
alert(document.doctype.entities[0].publicId);
Свойство systemId
Синтаксис: объект.systemId Изменяемое: нет
Поддержка: Соответствует стандарту. Соответствует стандарту.
Свойство systemId возвращает строку, содержащую системный идентификатор раздела, или null, если его нет. Пример:
alert(document.doctype.entities[0].systemId);
4.5.5. Ссылка на раздел: интерфейс EntityReference
Поддержка: Соответствует стандарту (XMLDOMEntityReference). Соответствует стандарту.
Интерфейс EntityReference реализует ссылки на разделы в XML-документах. Он наследует все свойства и методы интерфейса Node; собственных свойств и методов у него нет. Отметим, что специальные символы XML- и HTML-документов, которые являются частным случаем ссылок, всегда заменяются в процессе синтаксического анализа документа на соответствующие символы Unicode. Что касается остальных ссылок разделов, то момент их замены на соответствующие текстовые строки зависит от конкретного XML-процессора.
4.5.6. Директива: интерфейс ProcessingInstruction
Поддержка: Соответствует стандарту (XMLDOMProcessingInstruction). Соответствует стандарту.
Интерфейс ProcessingInstruction соответствует директивам в XML-документах. Он наследует все свойства и методы интерфейса Node. Кроме того, он имеет следующие свойства.
Свойство | Изменяемое | Модель | Описание |
---|---|---|---|
data | Да | DOM 1 | Текст директивы. |
sheet | Нет | DOM 2 | Указатель на таблицу стилей. |
target | Нет | DOM 1 | Имя директивы. |
Свойство data
Синтаксис: объект.data Изменяемое: да Исключения: NO_MODIFICATION_ALLOWED_ERR
Поддержка: Соответствует стандарту. Соответствует стандарту.
Свойство data возвращает или задает строку, содержащую текст директивы, т. е. все, что содержится в ней от первого пробела до ограничителя ?>. Например, для директивы <?xml version="1.0"?> это свойство вернет строку 'version="1.0"'. Значение этого свойства совпадает со значением свойства nodeValue.
Свойство sheet
Синтаксис: объект.sheet Изменяемое: нет
Поддержка: Не поддерживается. Соответствует стандарту.
Свойство sheet возвращает указатель на объект StyleSheet, соответствующий внешней таблице стилей, если это директива xml-stylesheet и если данная реализация DOM поддерживает таблицы стилей.
Свойство target
Синтаксис: объект.target Изменяемое: нет
Поддержка: Соответствует стандарту. Соответствует стандарту.
Свойство target возвращает строку, содержащую имя директивы, т. е. все, что содержится в ней до первого пробела. Например, для директивы <?xml version="1.0"?> это свойство вернет строку 'xml'.