XSLT-based движок для сайта

Тема в разделе "WASM.HEAP", создана пользователем _DEN_, 31 июл 2009.

  1. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Цель - максимальная экономия рабочего времени, минимальный оверворк, максимальный контроль над XHTML-результатом, отсутствие необходимости писать на php.

    Вот пример шаблона:

    Код (Text):
    1. <?xml version="1.0" encoding="windows-1251" ?>
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    3.  
    4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
    5.  
    6.     <head>
    7.  
    8.         <!-- Простая вставка фрагмента XML -->
    9.         <xslt xsl="head.xsl" />
    10.  
    11.     </head>
    12.  
    13.     <body>
    14.  
    15.         <!-- Вставка XML-фрагмента, полученного XSLT-преобразованием -->
    16.         <xslt xsl="menu.xsl" xml="sitemap.xml" />
    17.  
    18.         <!-- Все тоже самое, только данные из базы -->
    19.         <xslt xsl="news.xsl" xml="sql://news()" />
    20.  
    21.         <!-- Все тоже самое, только с параметром из GET-запроса -->
    22.         <xslt xsl="article.xsl" xml="article/{{args:page}}.html" />
    23.  
    24.         <!-- Обобщенный интерфейс к некоторому модулю. На выходе - фрагмент XML -->
    25.         <module id="currency" args="type=[usd, eur, gbp]" />
    26.  
    27.         <xslt xsl="footer.xsl" />
    28.  
    29.     </body>
    30.  
    31. </html>
    Свои теги: xslt, module. При необходимости легко добавляются любые другие. Выход процессора повторно прогоняется через мой шаблонизатор, таким образом собственные теги могут ссылаться друг на друга, в том числе рекурсивно, сколько угодно раз.

    Свои значения: {{args: ... }} - параметры GET-запроса. С легкостью добавляются любые другие пространства значений.

    Результат - XSLT-based верстка с возможностью запрашивать данные по любым протоколам (FS, SQL, и т.д.), возможностью рекурсивных ссылок на собственные фрагменты, плюс легкое подключение любых сторонних модулей и протягивание значений.

    На данный момент все готово. Весь php-код - 70 строк. Что скажете? :)
     
  2. Voodoo

    Voodoo New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2003
    Сообщения:
    297
    Адрес:
    Новосибирск
    код в студию!
     
  3. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Voodoo

    Хе-хе... Речь не о том, чтобы оценить код, а о том, чтобы оценить использование :derisive:
     
  4. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    _DEN_
    Да где ж исполнение то? Барыжная ты душонка.
     
  5. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Я сейчас тоже разрекламирую свою мега супер весчь и никому ничего не дам. Но только если за большие деньги.
     
  6. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    _DEN_
    я не совсем понял, ты хочеш на сервере преобразование делать или клиенту
    XML скидывать, что-бы браузер сам на кленте всё пеобразовал?
     
  7. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Booster

    > Да где ж исполнение то? Барыжная ты душонка.

    Не поверишь! Я специально не хочу выкладывать исходник, потому что именя интересует ИМЕННО удобство использования, и я нихочу давать ни одного шанса или повода свести беседу к обсуждению реализации :) Мне важно прежде всего использование.

    Если бы вы были пользователями такого движка, то какие на какие недостатки могли бы указать?
     
  8. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    wsd

    На сервере. Клиент получает готовый XHTML-документ и, в действительности, не знает каким образом этот документ был получен.
     
  9. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Booster

    А исходник я попозже обязательно выложу :derisive:
     
  10. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Booster
    а зачем исходники? там же простое XSLT преобразование ;)
     
  11. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
  12. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    wsd

    8 мегабайт гов.на в архиве? Бгг, спасибо, у меня весь код - 70 строк.
     
  13. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    _DEN_
    это просто для ознакомления с хорошо развитым XML движком.
    там можно создать шаблон страницы, а движок будет её показывать в разных представлениях
    ХТМЛ, wap, pdf, rtf и т.д. один раз пишем и дочерта в чём видим :)
     
  14. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Я не шарю в этом, слова вроде умные, но не понятные. Поясните мне популярно. ^)
     
  15. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    wsd

    А можно пример эстетически приятного сайта на этом движке? Визуализация в вебе и на печати происходит по настолько разным законам и критериями, что я не верю, что существует такой шаблонизатор, который по одному шаблону даст приятный результат на мониторе 2048х1536, на мониторе 1024х768 и при печати на лист A4.

    Кроме того, для меня очень важен понлый контроль над содержанием выходного документа, вплоть до каждого тега и аттрибута. Сколько времени я потрачу на изучение кокуна, если только архив его сорцов - 8 метров? :)
     
  16. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    _DEN_
    это хороший взрослый проект.
    кстати он на яве, а не пхп.
    надо искать :)
    должен быть.
    8 метров разве проблема? грузани и немного поиграйся с самплесами и поймёш
    твоё это или нет.
     
  17. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    wsd

    Это меня пугает в первую очередь))) Apache, GNU, Opensource - эти слова для меня давно уже нецензурные :)


    Это огромнейшая проблема. Практически вселенского масштаба. Мой двиг сейчас 70 строк. Когда я сделаю в нем все мыслимое и немыслимое что только может понадобиться в задачах эстетической верстки простых сайтов, он будет от силы строк 500, то есть 15 килобайт в незажатом виде.


    А зачем? :) Мой двиг уже покрывает 90% моих потребностей :)
     
  18. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    _DEN_
    решать тебе, я просто для ознакомления предложил :)
    Booster
    сейчас дела доделаю и объясню
     
  19. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824