нельзя составлять документы XML.
Исходный код PRAX можно взять на http://www.oreillynet.com/~rael/lang/">http://www.oreillynet.com/~rael/lang/ php/PRAX/.
Работа с PRAX в РНР
С помощью PRAX можно обрабатывать документ XML способом, похожим на запрос SQL. Запрос SQL возвращает набор записей, который можно обрабатывать или выводить. PRAX ведет себя таким же образом, и был разработан, чтобы обрабатывать данные именно так.
Есть два варианта работы с PRAX - можно послать в PRAX строку XML или открыть с его помощью файл XML. В следующем примере мы открываем файл из файловой системы.
Пример кода PRAX
Следующий код является модификацией кода примера, предоставленного автором PRAX Раелем Дорнфестом (Rael Dornfest).
В этой главе сделаны небольшие изменения в классе PRAX. php. Код примера автора выводил все на экран, чего мы делать не хотим. Мы воспользуемся глобальной отладкой. Автор был извещен, но если код не обновлен, потребуется обновить класс самостоятельно или загрузить его с http://www/"> http://www . wrox.com/. Вот что необходимо сделать:
• ОткрытьРРАХ. php в текстовом редакторе
• Найти CTpoKy$this->debug = 1;
• Заменить эту строку следующей: $this->debug = $GLOBALS["debug"];
Для этого примера необходимо наличие двух файлов в одном и том же каталоге:
• travel_simple.xml
• travel_sample. php
Вспомним, что в t ravel. xml есть атрибуты и довольно глубокая вложенность. PRAX игнорирует атрибуты типа name="a". Если в документе XML более двух уровней вложенности, содержимое вложенных элементов объединяется.
Например, в нашем файле XML есть элемент Package, являющийся родительским для Package_dateofdep и Package_price. Значения этих двухдочерних элементов объединяются и образуют один массив. В нашем примере этот массив содержит "5/8/98 879" и "5/8/98 779".
При работе с PRAX допускается не более трех уровней вложенности, поэтому либо удалите из файла travel, xml элементы <Package>. . .</Package>, либо измените элементы так, чтобы они все находились на одном уровне:
<Resort_drinks>false</Resort„drinks> <Package_dateofdep>5/1/98</Package_dateofdep>
<Package_price>779</Package_prlce>
Иными словами, приведите свой документ XML к формату SML, прежде чем воспользоваться PRAX. Модифицированная версия travel.xml носит название travel_simple.xml.
Файл кода^ауе1_затр1е. php загружает, читает и выводит содержимое файла XML в виде таблицы HTML: