XML technology- resume 2

XML технология - резюме 2

10 февраля 2005/

Вверху - компьютерные обработки портретов, см. предыдущую страницу и страницу от 5 января 2005 г. Работа для журнала "ЛИЦЕЙСКОЕ и ГИМНАЗИЧЕСКОЕ ОБРАЗОВАНИЕ".

Итак, если XML файл откорректирован, то теперь он визуализируется для пользователя. На сервере APACHE есть две возможности. Первая - к вызываемым файлам всегда применяется некое преобразование. Например, вызываются файлы XML и к ним всегда применяется XSLT преобразование перед отправкой в интернет. Это так называемые фильтры - все файлы фильтруются, проходят через некоторое преобразование. Вторая возможность - выборочная фильтрация. Заранее все XML файлы мы преобразуем в HTML , а при вызове HTML страницы проверяется, было ли обновление соответствующего XML файла, и если было, то HTML страница генерируется заново из этого XML файла/ Страницы "50 лет ИПМ" так и сделаны, с тем исключением, что изменений там не происходит, все HTML страницы сгенерированы из XML файлов заранее.

Как фильтр работает и PHP. Это некий язык для работы на сервере, например, он что то берет из базы данных. Куски кода PHP вставляются в разные места HTML страницы, и каждый раз PHP-часть этой страницы интерпретируется перед посылкой в Интернет. Результат интерпретации - это куски уже HTML кода, и они появляются на странице. Это похоже на JAVASCRIPT, только работает на сервере (JAVASCRIPT - на клиенте). Я протестировал - кажется NAROD.RU не поддерживает PHP. Если это так, то и понятно почему - с очень большим количеством пользователей сервер может не справиться. Возможно, надо запросить разрешение на пользование PHP у администратора, он может либо запрещать, либо разрешать.

Представляется, что каждая - или почти каждая - страница должна за собой тянуть некоторую дополнительную информацию. Например, RSS - краткое содержание страницы, которое тоже можно подправлять. RSS - это простой XML словарь для краткого описания содержания документов. Впрочем, можно и не краткого, просто фиксируются некоторые стандарты описания. Далее - информация об обновлении, тоже быть может прямо в RSS . К тому же RSS может находиться и непосредственно в XML файле - где-нибудь в конце, и разные XSLT преобразования выбираю разное: одно интерпретирует сам XML файл, другое - его RSS часть. А может быть лучше отделить RSS.

RSS обновления страницы должно содержать знак приоритета - насколько важная это информация, рассылается ли она по запросам об изменении всего сайта или только по запросам на изменение это страницы. При формировании сообщение об изменении на всем сайте нужно сканировать все страницы и выбирать изменение с нужными приоритетами. После обновления страницыдолжен работать модуль, поддерживающий целостность - правильность - всей информации на сайте (целостность базы данных)

Структуру сообщений об обновлении, конечно, нужно продумывать отдельно - может быть подписка двух типов - только на сообщение об изменениях ("На странице .. произошло изменение") и подписка на сами RSS изменения (краткие резюме изменений).

На каждой странице должна быть организована подписка на сообщения об изменениях этой страницы. Должен сохраняться и автоматически обновляться массив адресов, по которым рассылается RSS обновления.

Кажется к APACHE можно подсоединять модули - модуль для работы с базой данных, модуль рассылки сообщений, модуль поддержки целостности базы данных … Модули получают входную информацию (например, текст сообщения и список адресов) и выполняют нужные действия. Насколько такие модули уже есть, насколько ими удобно и просто пользоваться? Конечно модуль целостности базы данных придется писать самим….

Возникает масса деталей. Например при подписке на новости страницы общее место - посылается письмо, требующее подтверждения, и только потом происходит подписка. Или в письмо подписки на конференцию добавляется возможность отписки ….Или надо предусмотреть такое: на странице может даваться информация о файле (ссылка), который загружается на сервер. Куда и как?

И еще - как организовать базу данных.? Общая структура базы - структура страниц сайта, а дальше хранение XML файла (из которого получается HTML страница), RSS этой страницы, RSS обновления этой страницы (?), и другой дополнительной информации. Например, на каждую страницу можно при желании накрутить специальную функциональность: страница прихода каких-нибудь отчетов может этим ограничится, а может еще информировать о содержании отчетов и т.д. Дополнительные функции не должны быть видны снаружи, это уже внутренние функции страницы, которые выносятся на уровень самой страницы как-то минимально. Каждая основная страница ( на которую попадаем из главного меню) может иметь внутренние страницы (куда можно попасть из специальной ссылки на этой основной странице), но дополнительную информацию типа RSS она уже не содержит - RSS формируется только для основных страниц. Но может быть разумно всегда сопровождать страницу ее кратким описанием - RSS, а также описанием обновления. Эту информацию можно не использовать, но вдруг она пригодиться? Изменения подчиненной страницы влекут изменения ее RSS и - не обязательно - изменение RSS соответствующей основной страницы.

По месту в базе данных, откуда мы берем RSS, можно определить адрес страницы, которой принадлежит эта RSS, и сформировать нужную ссылку.

Кроме продуманной структуры базы данных должна быть поддержка обновления такой структуры. Например, меняется некоторая страничка, меняется ее RSS и - или - RSS ее обновления, и далее эта информация должна, быть может, отразится на RSS других страниц. Может быть и на самих страницах - например, информация выноситься на первую страницу - со ссылкой на страницу, где изменение произошло. Вообще, первая - входная - страница сайта может иметь просто структуру RSS - просто поток сообщений. Вообще все часто обновляемые страницы - в некотором смысле RSS.

Выше RSS используется в таком смысле: это некоторый XML словарь (XML язык) для краткого описания содержания страницы или для краткого содержания обновляемых - дополняемых - блоков информации.

10 February

On XML technology ....

Сайт управляется системой uCoz