XML и XSLT
- Предыдущая страница XML XPath
- Следующая страница XML XQuery
Через XSLT можно преобразовать XML документ в HTML.
Использование XSLT для отображения XML
XSLT(Расширенный язык стилей таблиц, eXtensible Stylesheet Language Transformations), это рекомендованный язык стилей XML.
XSLT значительно сложнее CSS. Через XSLT можно добавлять и удалять элементы и атрибуты в файл вывода. Вы также можете изменять порядок и сортировать элементы, выполнять тесты и определять, какие элементы скрывать или показывать.
XSLT использует XPath для поиска информации в XML документе.
Пример XSLT
Мы будем использовать以下的 XML документ:
<?xml version="1.0" encoding="UTF-8"?> <breakfast_menu> <food> <name>Belgian Waffles</name> <price>$5.95</price> <description>Two of our famous Belgian Waffles with plenty of real maple syrup</description> <calories>650</calories> </food> <food> <name>Strawberry Belgian Waffles</name> <price>$7.95</price> <description>Light Belgian waffles covered with strawberries and whipped cream</description> <calories>900</calories> </food> <food> <name>Berry-Berry Belgian Waffles</name> <price>$8.95</price> <description>Light Belgian waffles covered with an assortment of fresh berries and whipped cream</description> <calories>900</calories> </food> <food> <name>French Toast</name> <price>$4.50</price> <description>Толстые ломтики, сделанные из нашего домашнего кислого ржаного хлеба</description> <calories>600</calories> </food> <food> <name>Homestyle Breakfast</name> <price>$6.95</price> <description>Два яйца, бекон или колбаса, тосты и наши всегда популярные хаш-броны</description> <calories>950</calories> </food> </breakfast_menu>
Прежде чем показывать в браузере, преобразуйте XML в HTML с помощью XSLT:
Пример стиля XSLT:
<?xml version="1.0" encoding="UTF-8"?> <html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <body style="font-family:Arial;font-size:12pt;background-color:#EEEEEE"> <xsl:for-each select="breakfast_menu/food"> <div style="background-color:teal;color:white;padding:4px"> <span style="font-weight:bold"><xsl:value-of select="name"/> - </span> <xsl:value-of select="price"/> </div> <div style="margin-left:20px;margin-bottom:1em;font-size:10pt"> <p> <xsl:value-of select="description"/> <span style="font-style:italic">(колории <xsl:value-of select="calories"/> на порцию)</span> </p> </div> </xsl:for-each> </body> </html>
Учебник по XSLT
Если вы хотите узнать больше о XSLT, пожалуйста, посетите наш Учебник по XSLT.
- Предыдущая страница XML XPath
- Следующая страница XML XQuery