XML (extensible Markup Language) — формат обмена структурированными данными в пространстве web; стандарт, определенный Консорциумом World Wide Web (W3C). Информацию о XML и связанных технологиях можно получить по адресу http://www.w3.org/XML/. Для понимания материала главы необходимо разбираться в синтаксисе XML
Для работы с документами XML используются два способа.
Первый способ рассмотрен в предыдущей главе. Функции, описанные в данной главе, реализуют второй способ обработки. Событийная модель обработки (интерпретации) подразумевает следующую схему функционирования программы.
Заметьте, что интерпретатор предназначен для обработки документа, но не для его проверки; документ должен соответствовать грамматике XML (и правилам DTD).
В РНР интерпретатор XML использует библиотеку expat (ее также использует Apache-1.3.9 и последующие версии), см.: http://www. jclark.com/xml/. Скомпилировать РНР с поддержкой expat можно, используя параметр --with-xml.
Для документов поддерживаются кодировки US-ASCII, ISO-8859-1 (по умолчанию), UTF-8 (UTF-16 не поддерживается). Разделяют исходную и целевую кодировки. Исходная кодировка — это набор символов документа (ее можно изменять в процессе интерпретации). (Внутри РНР символы всегда хранятся в кодировке UTF-8, позволяется использовать символы размером до 21 бита.) В функции-обработчики данные передаются в целевой кодировке (для всех типов данных). При нахождении в документе-символа, не соответствующего исходной кодировке, выдается ошибка; а если символ не может быть представлен в целевой кодировке, то он заменяется на знак вопроса.