Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, имена его функций и всё, что задокументировано, может измениться в последующих релизах РНР без предупреждения. Вы предупреждены и можете использовать это расширение только под вашу ответственность.
Расширение domxml может быть переопределено в версии PHP 4.3.0 в пользу
лучшего соответствия стандарту DOM. В этом расширении всё ещё имеются
некоторые старые функции, но они более не должны использоваться. Особо нужно
исключить не-объектно-ориентированные функции.
Это расширение позволяет работать с XML-документами с помощью DOM API. Оно также предоставляет функцию
domxml_xmltree() для включения всего XML-документа в дерево PHP-объектов. В настоящее время это
дерево должно считаться read-only - вы можете его модифицировать, но это не
имеет смысла, поскольку DomDocument_dump_mem() не может быть применена. Следовательно, если вы хотите читать XML-файл и
записывать модифицированную его версию, используйте функции DomDocument_create_element(), DomDocument_create_text_node(), set_attribute(), etc. и в конце -
DomDocument_dump_mem().
Имеются некоторые функции, которые не вписываются стандарт DOM и не должны
поэтому использоваться; они перечислены в следующей таблице. Функция DomNode_append_child() изменила поведение. Она добавляет теперь потомка, а не родственника. Если это
нарушает работу вашего приложения, используйте не-DOM-функцию
DomNode_append_sibling().
Таблица 1. Не рекомендуемые функции и замены для них
Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.
API этого модуля следует, насколько возможно, стандарту DOM Level 2.
Поэтому данный API является полностью объектно-ориентированным.
Хорошо было бы иметь доступ к стандарту DOM при использовании этого модуля.
Хотя данный API является объектно-ориентированным, имеется много функций,
которые можно вызывать не-объектно-ориентированным путём с помощью передачи
объекта, с которым работают, как первого аргумента. Эти функции в основном
предназначены для сохранения совместимости со старыми версиями расширения, но
больше не рекомендуются для использования в новых разработках.
Этот API отличается от официального DOM API двумя вещами. Во-первых, все
атрибуты класса реализованы как функции с тем же именем, а во-вторых - имена
функций следую соглашению PHP по именованию. Это значит, что DOM-функция lastChild() будет записана как last_child().
Этот модуль определяет несколько классов, которые перечислены -
включая их методы - в следующих таблицах. Классы с эквивалентом в DOM Standard именуются DOMxxx.
Таблица 3. Список классов
Имя класса
Родительский класс
DomAttribute
DomNode
DomCData
DomNode
DomComment
DomCData : DomNode
DomDocument
DomNode
DomDocumentType
DomNode
DomElement
DomNode
DomEntity
DomNode
DomEntityReference
DomNode
DomProcessingInstruction
DomNode
DomText
DomCData : DomNode
Parser
Пока ещё называется DomParser
XPathContext
Таблица 4. Класс DomDocument (DomDocument : DomNode)
Многие примеры в этом справочнике требуют строки xml. Вместо повторения
этой строки в каждом примере, она будет помещена в файл и включена в каждый
пример. Этот include-файл показан в следующем разделе-примере. Вы можете также
создать xml-документ и читать его с помощью DomDocument_open_file().