Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

XSL — трансформация



С помощью XSL можно трансформировать XML-документ в любой вид, будь то HTML, WML, RTF, PDF, SQL, даже в SWF (flash запускаемый модуль), а так же в XML и XSL. XSL несёт в себе информацию о том, как будет оформлен документ, где и как должны располагаться данные.

Самой доступной XSL-T машиной на данный момент для Microsoft Windows является MSXML (поставляется с Internet Explorer начиная с версии 4.5 и выше); для систем на основе GNU — xsltproc. Для того, чтобы обработать XML документ c помощью XSL, необходимо в XML документе написать следующую инструкцию:

<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="my-style.xsl"?> <root> <!--... -- > </root>

Под Linux:

$ xsltproc -o result.html my-style.xsl document.xml

XSLT

Язык XSLT состоит из трёх с половиной десятков инструкций, все они имеют общий вид:

<пространство-имен:имя-инструкции [атрибут="значение" [атрибут="значение"]]></пространство-имён:имя-инструкции>,

где пространство-имен обычно «xsl», но могут использоваться и другие.

XSLT документ всегда является состоятельным(или валидным) XML документом и имеет следующую структуру:

<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <!-- набор инструкций -- > </xsl:template> <!--... -- > </xsl:stylesheet>

xsl:stylesheet — является корневым элементом для любого XSL документа. В него могут быть вложены теги верхнего уровня. (xsl:transform — устаревший синоним для xsl:stylesheet)

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


<script>

document.writeln('<head>');

...

Свойства элементов документов это ссылка на корневой документ.

Attributes — список атрибутов объектов.





Дата публикования: 2015-01-13; Прочитано: 222 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...