-
Примечание | LXP – коммерческий продукт, разработанный авторами этой книги. Пакет не распространяется на условиях открытых исходных текстов. На компакт-диске имеется пробная версия LXP. | LXP (или mod_lxp) представляет собой сервер приложений, спроектированный в виде модуля Apache.
-
К числу базовых возможностей LXP относится включение внешних файлов, лексический разбор кода XML и прямой интерфейс между SQL и PostgreSQL. В версии 0.8 команды SQL выполняются через динамическое или устойчивое подключение к СУБД PostgreSQL.
-
Чтобы установить LXP, необходимо предварительно установить и настроить web-сервер Apache с поддержкой mod_so (модуль общих объектов Apache). Если при конфигурировании Apache этот модуль не использовался, компиляцию придется провести заново с ключом --enable-module=so.
-
Хотя LXP решает задачи, традиционно относящиеся к области программирования, при проектировании LXP авторы стремились к тому, чтобы эти задачи решались без изменения общего синтаксиса, используемого при разметке HTML (или XHTML).
-
Переменной называется изменяемое значение в памяти, доступ к которому осуществляется по имени. Имя требуется для идентификации и последующего использования того значения, которое оно представляет. Конкретные возможности переменной зависят от тега LXP.
-
В LXP предусмотрены средства для присваивания и чтения значений cookie. Присваивание осуществляется тегом <setcookie>, а для вывода используется тег <putcookie>. | Присваивание cookie | Значение cookie должно присваиваться перед отправкой каких-либо данных с сервера Apache.
-
В процессе разбора тегов атрибуты либо читаются буквально, либо интерпретируются. По правилам, действующим во многих языках, заключенное в апострофы значение (например, name=' value') воспринимается буквально независимо от того, из каких символов оно состоит.
-
Простейший способ условной генерации данных в LXP основан на встроенной поддержке тегов условной логики. Условные теги позволяют скрывать или активизировать целые блоки посредством проверки условий для переменных и cookie.
-
Тег <for> предназначен для многократного выполнения блоков LXP. При вызове он всегда получает обязательный атрибут start, а также один из атрибутов end и endbefore. Всем атрибутам должны быть присвоены числовые значения.
-
В системе управления включением данных LXP центральное место занимает тег <include>. Он работает в разных режимах в зависимости от переданного атрибута method или контекста, определяемого значениями атрибутов.
-
В файлы LXP можно включать другие файлы LXP, если сервер Apache имеет доступ по чтению к документу, заданному в атрибуте src. Все переменные, заданные во включающем документе LXP, будут доступны для чтения и модификации во включаемом документе LXP.
-
Во многих динамических web-сайтах предусмотрена функция публикации содержимого файлов с разделителями (например, файла headlines с сайта Linux Today) в некотором формате, фильтруемом на программном уровне.
-
Процедура включения внешнего правильно оформленного (well-formed) документа XML очень похожа на метод parsed. Режим обработки XML активизируется присваиванием атрибуту method значения XML, RSS или RDF.
-
При включении внешних источников данных, входящих в конфигурацию Apache, тег <include> вызывается с методом URI или local. В обоих случаях выполняется подзапрос к Apache, то есть включение обрабатывается как прямой запрос Apache, результаты которого вставляются в позицию тега <include> документа LXP.
-
В некоторых ситуациях переменные LXP требуется использовать в контексте тегов HTML. Предположим, у вас имеется графическое изображение с динамически изменяемой шириной. Помните, что LXP выполняет подстановку только в теrax LXP, а в тегах HTML это сделать не удастся.