Глава 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Синтаксис: объект.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Синтаксис: объект.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Синтаксис: объект.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Синтаксис: объект.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'. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||