URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 3428
[ Назад ]

Исходное сообщение
"Тематический каталог: Как сделать новостную ленту испльзуя XMLXSLT (xml web)"

Отправлено auto_topic , 16-Мрт-04 20:35 
Обсуждение статьи тематического каталога: Как сделать новостную ленту испльзуя XMLXSLT (xml web)

Ссылка на текст статьи: http://www.opennet.me/base/dev/xml_news.txt.html


Содержание

Сообщения в этом обсуждении
"Как сделать новостную ленту испльзуя XMLXSLT (xml web)"
Отправлено mitya , 16-Мрт-04 20:35 
можно сделать интереснее:
иметь один фаил контейнер для новостей который содержит ссылки на фаилы новостей
при конвертации в html ползовать команду с префиксом --xinclude

$ xsltproc --xinclude form.xsl document.xml > result.html
в результате мы получаем настоящую модульность
для xml документов  

теперь для обновления нужно просто переименовать
файлы новостей  (mv 9.xml 10.xml)
здесь имеется в виду чем больше номер тем старше новость  
$ ./script.sh
  

Примеры Файлов:
document.xml - контейнер для новостей
1.xml- одн из фаилов с объектом новость
script.sh скрипт для переименования новостей(update)

------------- begin document.xml------------------
<?xml version="1.0" encoding="koi8-r"?>                                          
<document xmlns:xi="http://www.w3.org/2003/XInclude">
<news-section>
<!-- ссылки на отдельные фаилы -->
<xi:include href='news/1.xml' parse='xml'/>
<xi:include href='news/2.xml' parse='xml'/>
<!-- и так далее -->
</news-section>

</document>
------------- end document.xml------------------
простая новость
------------- begin 1.xml----------------
<news>
    <date>14.01.2004</date>
    <author>I`m</author>
    <title>Пример новости</title>
    <brief>файл сделанный для примеров и тестов</brief>
    Дальше пошел порсто произвольный текст..
    И так далее и так далее..
</news>

------------- end 1.xml------------------


-------------- begin script.sh----------------
#!/bin/sh

for name in 10 9 8 7 6 5 4 3 2 1
  do
  mv $name.xml $old_name.xml
  old_name=$name
done
-------------- end script.sh----------------