MasterGH Опубликовано 12 августа, 2011 Поделиться Опубликовано 12 августа, 2011 Большинство людей знают о HTML/CSS/javascript/XML, но никогда не знали, что по XML данным можно формировать, например, HTML по другой разметке XSL.Формат XML это необычно мощная маркап разметка данных.XML и HTML = XSL = XSLT+ EXSLT + XPath + XSL-FO XSL - языки преобразования и визуализации XML-документов:1) XSLT: язык преобразования XML-документов2) EXSLT (Extensions to Extensible Stylesheet Language Transformations) — общественная инициатива по созданию расширений для XSLT, придающих бо?льшую функциональность языку трансформаций. Образцами расширений являются математические функции (генерация случайного числа), работа с датами, расширенные операции со строками и регулярными выражениями.3) XPath (XML Path Language) — язык запросов к элементам XML-документа.Разработан для организации доступа к частям документа XML в файлах трансформации XSLT. Входит в XQuery.4) XSL-FO - язык разметки типографских макетов и иных предпечатных материалов. Короче из XML можно сгенерировать HTML, XHTML, тестовый файл и даже можно сформовать другой XML. А также благодаря языку XSL-FO можно сформовать документ для печати в виде текстового фалйа, PDF, PS, RTF. А также SQL, или даже SWF (flash-запускаемый модуль), а также сформировать другую XSL разметку.Наиболее востребованное это XSLT и XPath с помощью которых можно создавать стили формирования документов из динамично изменяющейся базы данных. Таким образом вам достаточно иметь в Интернете вирутальную папку с ftp доступом для обновления вашей базы данных XML. Когда пользователь открывает ваш сайт, то формируется из XSLT+XPath. Весьма удобно если у вас нет доступа к инфраструктурам: серверу базы данных, веб-серверу и т.п.Хороший пример: Группировка и сортировка годовXML: <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="years.xsl"?> <root> <object year="2003"/> <object year="2001"/> <object year="2005"/> <object year="2005"/> <object year="2003"/> <object year="2006"/> <object year="2006"/> <object year="2006"/> <object year="2005"/> <object year="2001"/> </root>years.xsl: <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:key name="years" match="/root/object" use="@year" /> <xsl:template match="root" priority="-1"> <HTML> <BODY> <xsl:for-each select="object[generate-id()=generate-id(key('years',@year))]"> <xsl:sort select="@year" order="descending"/> <xsl:value-of select="@year" /> <xsl:if test="position()!=last()"> <xsl:text>, </xsl:text> </xsl:if> </xsl:for-each> </BODY> </HTML> </xsl:template> </xsl:stylesheet>Результат:2006, 2005, 2003, 2001Теперь не только программисты, но и вы знаете о роли XLS. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения