Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Стандарт DOM XML




Объектная модель документа DOM описывает набор стандартных методов для работы с XML узлом и документом (http://www.w3.org/DOM). Например, в XML процессоре ESOP используется упрощенная модель DOM, состоящая из двух классов: Node и XML, которые реализуют основные интерфейсные методы работы с документом и XML узлом. При работе с XML документом последний разбирается (парсится) и хранится целиком в памяти в виде одного объекта. В связи с этим в разрабатываемых проектах не рекомендуется использовать слишком большие XML документы (более 500 кбайт), так как их обработка требует больших системных ресурсов, в отличие от стандартной модели SAX (http://www.megginson.com/sax). Тем не менее, применение DOM модели дает быстрый доступ к узлам и атрибутам, что намного эффективнее для небольших XML документов.

Для адресации и работы с отдельными узлами и атрибутами XML документа можно использовать два способа:

методы, использующие прямое обращение к потомкам: getChildNode(), getChildNodes(), getAttribute(), selectChild() и др.;

методы, использующие частные запросы X-Path: selectByXPath(), selectSingleNode(), selectNodes() и др.

В библиотеке процессора ESOP реализована большая часть методов стандарта DOM Level 1, DOM Level 2 и часть DOM Level 3:

Список методов DOM, поддерживаемых процессором ESOP:

createElement($name) - создание XML узла (конструктор);

removeNode() - удаление XML узла (деструктор);

nodeName() - получение имени XML узла;

nodeType() - получение типа XML узла (1 — элемент, 3 — текстовый узел);

nodeValue([$text]) - получение/присвоение текстового содержимого XML узла;

parentNode() - получение родительского XML узла;

getAttribute($attr) - получение значения атрибута XML узла;

getAttributes() - получение списка атрибутов XML узла (ссылка на хеш);

setAttribute($attr,$v) - присвоение значения атрибуту XML узла;

removeAttribute($attr) - удаление атрибута XML узла;

hasAttribute($attr) - проверка наличия атрибута XML узла;

hasAttributes() - проверка наличия атрибутов XML узла;

hasChildNodes() - проверка наличия потомков XML узла;

textContent([$text]) – получение/присвоение содержания XML узла.

toString() – преобразование XML узла в строку.

toXML($ctx) – инициализация XML узла строковым значением.

getChildNodes() – получение потомков XML узла.

getChildNode([$i]) – получение i-го потомка XML узла.

getLastChild() – получение последнего потомка XML узла.

getFirstChild() – получение первого потомка XML узла.

getNextSibling() – получение следующего потомка XML узла.

getPreviousSibling() – получение предыдущего потомка XML узла.

getElementsByTagName($name) – получение порожденных XML узлов, соответствующих заданному имени.

getElementByID($id) – получение XML узла, соответствующего заданному идентификатору (атрибут ID).

createChild($name) – создание потомка XML узла

appendChild($node) – добавление потомка XML узла.

removeChild($node) – удаление потомка XML узла.

selectChild($name) – выбор потомка XML узла по заданным критериям. Узел выбирается при полном совпадении всех атрибутов.

replaceChild($new,$node) – замена заданного потомка XML узла новым.

insertBefore($new,$node) – вставка нового потомка XML узла до заданного.

selectByXPath($path) – выбор XML узла, содержания или атрибута в соответствии с частным X-Path запросом.

selectNodes($path) – выбор массива XML узлов в соответствии с частным X-Path запросом.

selectSingleNode($path) – выбор одного XML узла в соответствии с частным X-Path запросом.

removeByXPath($path) – удаление узлов/атрибутов/содержимого в соответствии с частным X-Path запросом.

replaceByXPath($path,$rep) – замещение узлов/атрибутов/содержимого в соответствии с частным X-Path запросом.

appendByXPath($path,$rep) – добавление узлов/атрибутов/содержимого в соответствии с частным X-Path запросом.

Полное описание поддерживаемых методов интерфейса DOM приведено в описании API функций библиотеки ESOP.




Поделиться с друзьями:


Дата добавления: 2014-12-25; Просмотров: 475; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.