XSLT: сначала ждали, теперь догоняем. Кому это выгодно и что вы теряете?

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    XSLT: сначала ждали, теперь догоняем. Кому это выгодно и что вы теряете? - Presentation Transcript

    1. Как совершается выбор ? Технология XSLT
    2. Нужна шаблонизация, которая
      • Четко разграничивает обязанности
      • Позволяет повторное использование
      • Позволяет сменить технологию
      • Сейчас (или скоро) в мейнстриме
      • Не затухнет через год
      • Совместимость
    3. Популярные варианты?
      • Smarty
      • Native PHP + MVC
      • Собственные шаблоны (“TPL”)
      • XSLT
    4. Недостатки TPL
      • Индивидуальность
      • Недостаточная гибкость
      • В конце концов «eval()» => смешение логик
      • Привязанность к решению
      • Улучшение шаблонизатора => проблемы с совместимостью
    5. Недостатки TPL /%([A-z А-Яа-я0-9]+ s+[A-z А-Яа-я0-9_]+([ A-z А-Яа-я /._-()0-9%:<>,!@|'&=;?+#]*))%/ mu /%([A-z?-? А-я /._-()0-9%:<>,!@|'&=;?+#]*)%/ m
    6. Недостатки Smarty
      • Толкает к смешению логик
      • Зависимость от бизнес-логики
      • Легко сломать
      • Сложно поддерживать
      • Сложно расширять
    7. Кратко
      • XML — недавно исполнилось 10 лет
      • XML уже внедрен почти везде
      • XSLT — стандарт утвержден в 1999 году
    8. Западный опыт
      • XML — стандарт де-факто
      • XSLT — стандарт де-факто
        • .NET
        • Зарубежные коробочные CMS (CeBIT 2008) ‏
        • Чистые XML-XSLT фреймворки
      • UTF-8 стандарт де-факто
    9. Наш опыт
      • Специфичная технология
      • Множество мифов
        • Миф о сложности
        • Миф о недостатке кадров
      • Повсеместное использование альтернатив
        • TPL
        • Smarty
        • ...
    10. XSLT
      • Полная абстракция данных от представления
      • Независимость представления и бизнес-логики
      • Гибкость
      • Наглядность
      • Структурированность
      • Предпосылки к мультиязычности
      • Настоящая кроссплатформенность
    11. Пример “ наглядности ”
      • <items>
        • <item id=&quot;22896&quot; link=&quot;/&quot; name=&quot;Добро пожаловать&quot; />
        • <item id=&quot;16520&quot; link=&quot;/downloads/&quot; name=&quot;Скачать&quot; />
        • <items>
          • <item id=&quot;22997&quot; link=&quot;/downloads/manual/&quot; name=&quot;PHP Manual&quot; />
        • </items>
        • <item id=&quot;16521&quot; link=&quot;/about/&quot; name=&quot;Компания&quot; />
      • </item>
    12. Естественное разделение представления и бизнес-логики
    13. Децентрализованность
      • Связь intranet-internet сайтов
      • Mash-up'ы
        • Google Picasa
        • wordpress
        • Новости
        • Ozon ( http:// shop.lyxsus.ru / ) ‏
      • Связь компонент, на разных платформах
    14. AJAX
      • XML уже готов
      • Возможность повторного использования шаблонов ( ?)
    15. «Вкусности» XSLT
      • Условия
      • Циклы
      • Расширения (exslt) ‏
      • DTD
      • Тестирование по XSD-схемам
      • Возможности повторного использования
    16. История web-разработки
      • Развитие рынка web-разработки в СНГ
      • Переход от HTML, JS
      • Б есплатный ‏ PHP и др.
      • Массовость используемых технологий
    17. Нетехнические факторы
      • Примеры неэффективного использования
      • Инертность
      • Опыт клиентского использоваия
      • Миф о сложности
      • Необходимость перехода
      • Склонность к изобретанию велосипедов
      • Недоверие к новым технологиям
      • «Невыгодность»
    18. Недостатки
      • Декларативный язык
        • Обучение
        • Переход
      • Стриктовость
      • Скорость
    19. Обучение
      • С чистого листа
      • С бекграундом верстальщика
      • С бекграундом программиста
    20. Задача
      • Вывести меню , П одсветить четные пункты
      • Без if, for-each, call-template
      • <items>
        • <item link=&quot;/&quot; name=&quot;Добро пожаловать&quot; />
        • <item link=&quot;/downloads/&quot; name=&quot;Скачать&quot; />
        • <items>
          • <item link=&quot;/downloads/manual/&quot; name=&quot;PHP Manual&quot; />
        • </items>
        • <item link=&quot;/about/&quot; name=&quot;Компания&quot; />
      • </item>
    21. Пример <xsl:template match=&quot;items&quot;> <ul class=&quot;menu&quot;><xsl:apply-templates select=&quot;item&quot; /></ul> </xsl:template> <xsl:template match=&quot;item&quot;> <li> <a href=&quot;{@link}&quot;><xsl:value-of select=&quot;@name&quot;/></a> <xsl:apply-templates select=&quot;items&quot; /> </li> </xsl:template> <xsl:template match=&quot;item[position() div 2 = 1]&quot;> <li class=&quot;odd&quot;> <a href=&quot;{@link}&quot;><xsl:value-of select=&quot;@name&quot;/></a> <xsl:apply-templates select=&quot;items&quot; /> </li> </xsl:template>
    22. Технология XSLT
        • Антонинко Сергей
        • Umisoft
        • Е-mail: sa@umisoft.ru
    23. Streams © ООО &quot;Юмисофт&quot;, 2007 schema://path/ URI XML Document UDF () Stream wrapper class Класс-обертка реализует интерфейс для работы с пользовательскими схемами Адрес URI Логика обработки URI определяется пользователем в зависимости от schema На входе URI на выходе готовый XML Document , который является результатом document ()
    24. Запрос по пользовательской схеме “ Взять сторонний XML- документ и применить к нему шаблоны” < xsl:template match=“/”> <xsl:apply-templates select=“document(‘my://some/ud/path’)” /> </xsl:template>
    25. Связывание XML и XSLT © ООО &quot;Юмисофт&quot;, 2008 MAPPING XML XSL Жесткое связывание XML XSL XML XSL XML XSL Динамическое связывание 1 1

    + mildmild, 2 years ago

    custom

    605 views, 0 favs, 0 embeds more stats

    Сергей Антонинко, системный more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 605
      • 605 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 3
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories