Библиотека zXml, разработанная авторами книги, предоставляет воз-нежность работы с XPath через унифицированный интерфейс. За пре¬доставление функциональности XPath отвечает объект zXPath, имею¬щий два метода.
Первый метод - selectSingleNode(). Он аналогичен одноименному ме¬тоду из реализации в IE и возвращает первый узел, совпадающий с шаблоном поиска. Но, в отличие от реализации IE, данный метод при¬нимает три аргумента: контекстный узел, строку выражения XPath и строку, содержащую объявления пространств имен. У строки с объяв¬лениями пространств имен должен быть такой формат:
Вели вы не предполагаете работать с пространствами имен, третий ар¬гумент функции selectSingleNode() можно опустить.
Результат функции selectSingleNodeQ - отобранный узел XML или •mil, если совпадений в документе не было найдено. Если броузер не поддерживает XPath, метод генерирует исключение, которое сооб-вжнт, что броузер не поддерживает работу с XPath. Следующий пример вычисляет выражение XPath в рамках корневого элемента документа:

Этот пример отыскивает первый элемент , содержащийся валементе , в контексте корневого элемента документа. Если виемент будет найден, он переводится в последовательную форму и отображается перед пользователем в диалоговом окне.
Второй метод zXPath - selectNodes(), он возвращает набор узлов подобно нитоду selectNodes() из IE. Синтаксис его очень напоминает синтаксис нвтода selectSingleNode(), описанного выше: метод принимает те же са-аше три аргумента и предъявляет те же самые правила по отношению вространств имен. Как и selectSingleNodeQ, данный метод генерирует исключение, если броузер не имеет механизма работы с XPath. В сле¬дующем примере демонстрируется применение метода selectNodes():
j^var-.sNameSpace = "xmlns: na='http://site!, com' xmlns:pub=.' http://site2. com'"; &var.oRoot = oXmlDom.documentElement; t*_,var sXPath = "na:book/pub:name"; •-var oNodes,= zXPath.selectNodes(oRoot, sXPath, sNameSpace);
-"-if (oNodes.length > 0) {
Этот фрагмент кода отыскивает в документе все элементы