Интерфейсы DOM
Наиболее фундаментальным интерфейсом в DOM является интерфейс Node (узел). Этот интерфейс представляет собой один узел из дерева документа. Поскольку почти все объекты в DOM являются узлами, большинство интерфейсов являются расширениями интерфейса Node. Это означает, что объекты, реализующие эти интерфейсы, обладают всеми свойствами и методами интерфейса Node и, кроме того, необходимыми дополнительными свойствами и методами.
С помощью интерфейсов можно описывать общие типы объектов, а если интерфейс реализован, то любой объект может иметь этот тип.
Вернемся к примеру с Musician. Чем больше я о нем думаю, тем больше утверждаюсь в мысли, что на самом деле существует множество различных типов музыкантов. Что делать, если понадобится интерфейс для особого типа музыканта, например интерфейс JazzMusician? Джазовые музыканты могут иногда делать то, чего другие музыканты не могут, например соло произвольной формы, но они также делают все, что и остальные музыканты.
Читая описания интерфейсов, помните, что свойства и методы, перечисленные для каждого интерфейса, — это всего лишь минимум, требуемый для любой реализации DOM. Это означает, что при написании реализации DOM можно расширять интерфейсы, добавляя их собственные свойства и методы, и большинство реализаций DOM имеют расширенный, по сравнению с базовым, интерфейс.
Наиболее фундаментальным интерфейсом в DOM является интерфейс Node (узел). Этот интерфейс представляет собой один узел из дерева документа. Поскольку почти все объекты в DOM являются узлами, большинство интерфейсов являются расширениями интерфейса Node. Это означает, что объекты, реализующие эти интерфейсы, обладают всеми свойствами и методами интерфейса Node и, кроме того, необходимыми дополнительными свойствами и методами.
С помощью интерфейсов можно описывать общие типы объектов, а если интерфейс реализован, то любой объект может иметь этот тип.
Вернемся к примеру с Musician. Чем больше я о нем думаю, тем больше утверждаюсь в мысли, что на самом деле существует множество различных типов музыкантов. Что делать, если понадобится интерфейс для особого типа музыканта, например интерфейс JazzMusician? Джазовые музыканты могут иногда делать то, чего другие музыканты не могут, например соло произвольной формы, но они также делают все, что и остальные музыканты.
Читая описания интерфейсов, помните, что свойства и методы, перечисленные для каждого интерфейса, — это всего лишь минимум, требуемый для любой реализации DOM. Это означает, что при написании реализации DOM можно расширять интерфейсы, добавляя их собственные свойства и методы, и большинство реализаций DOM имеют расширенный, по сравнению с базовым, интерфейс.
Ядро DOM состоит из следующих интерфейсов. Интерфейсы ядра, в свою очередь, подразделяются на Fundament Interfaces (основные интерфейсы) и Extended Interfaces (расширенные
интерфейсы).
■ Fundamental Interfaces должны присутствовать во всех реализации DOM, даже в тех, которые рассчитаны на работу исключительно XML-документами
■ Extended Interfaces должны входить в состав только тех реализаций DOM, которые рассчитаны на работу с XML
Объектная модель документа является API не только для работы с XML-документами, но и с HTML-документами, CSS-таблицами стилей и некоторыми другими видами документов. Конечно же, DOM-реализации могут специализироваться на работе исключительно с XML-документами или только с HTML-документами, или с определенными типами документов.
Ограничения "не более одного интерфейса на объект" не существует. Можно создать интерфейс Sof twareDeveloper (разработчик программного обеспечения), содержащий метод writeCode () и добавить его к объекту Person выполнение к интерфейсу Musician. Те, кто будет использовать объект Регг будут знать, что это не только музыкант, но и разработчик программ обеспечения, который обладает функциональными возможностями.
ЕСЛИ создать объект под названием Person (человек), то можно запрограммировать его так, чтобы он использовал интерфейс Musician. Это означает, объект Person будет объявлен как обладающий всеми свойствами и метод интерфейса Musician. Каждый, кто будет использовать объект Person, будем знать, что он обладает свойством instruments () и методом startSong() выполнение к любым другим свойствам и методам, которые может поддерживать этот объект.
Меню
- XML в браузере: каскадные таблицы стилей
- XML-декларация
- XPath
- XSLT и XPath
- Анализ XML
- Атрибуты
- Внутреннее устройство XSLT
- Внутреннее устройство XSLT
- Зачем нам нужны таблицы стилей
- Императивное программирование против декларативного программирования
- Инструкции обработки
- Интерфейсы DOM
- Каскадные таблицы стилей и XML
- Комментарии
- Недопустимые символы в PCDATA
- Правильно оформленный XML
- Пустые элементы
- Совместное использование XSLT и CSS
- Таблицы стилей для звукового вывода
- Таблицы стилей и HTML
- Теги, текст и элементы
- Что такое DOM
- Что такое XSL
- Элементы XSLT и их использование
- Ядро DOM в деталях
