Страница 339 из 813 } ?> </td><td> <input type="submit" name="cmdButton" value="Проанализировать XML-документ"> </td></tr></table> </td></tr></table> Объектная модель документа Объектная модель документа(Document Object Model, DOM) представляет собой иерархическую модель для взаимодействия с документами. Она делает возможным доступ к частям документа путем непосредственного обращения к ним. XML-документы можно моделировать с помощью DOM, так как между частями любого XML-документа существуют специфические отношения. Как уже было показано, может существовать только один корневой элемент, и он является родительским для всех остальных элементов в XML-документе. Это означает, что корневой документ находится внизу (отсюда и название) иерархии или дерева, из которого "произрастают" остальные элементы. Следовательно, отношения между компонентами XML-документа могут быть выведены программно (именно это и делают функции DOM-расширения PHP; это расширение подробнее рассматривается далее). Элементы, расположенные внутри другого элемента, являются дочерними для этого элемента, тогда как элемент, внутри которого он расположен, является для него родительским. Поэтому элементы можно представлять как родителей и детей или как дерево с корнем, ветвями и листьями. Внутри модели DOM допустимы обе абстракции. Элементы и другие компоненты XML-документа внутри модели DOM считаются узлами. DOM-расширение DOM-расширение в PHP строго придерживается рекомендации Консорциума W3C, касающейся второго уровня DOM, которая гласит:"Модель DOM представляет собой API (application programming interface — программный интерфейс приложений) для корректных HTML- и правильно сформированных XML-документов". DOM позволяет программно создавать и осуществлять навигацию в любом правильно сформированном XML-документе, а также добавлять, редактировать и удалять из него узлы. Чтобы данное расширение было доступно в сценариях, необходимо скомпилировать PHP с параметром --with-dom=dom_dir. Для инсталляции PHP в Windows необходимо скопировать файл libxml2.dll или iconv.dll в каталог System32. Дальнейшие инструкции приведены в документации. Поддержка функций DOM-расширения на момент написания книги остается экспериментальной (поэтому в данной книге нет примеров его использования), в книге Профессиональное программирование на PHP (ИД "Вильямс", 2006 г) DOM-расширение PHP освещается более подробно. Использование функций DOM-расширения PHP В PHP имеются следующие DOM-функции: domxml_new_doc() для создания новых XML-документов, domxml_open_file() для открытия файла XML-документа в виде DOM-объекта, а также domxml_open_mem() для создания DOM-объекта из уже имеющегося в памяти XML-документа. Функции возвращают DOM-объект, а не строку или данные другого типа. Чтобы использовать PHP DOM-функции, обычно сначала необходимо создать объект DOMDocument, а затем манипулировать им, используя методы, которые
|