Created
October 31, 2015 15:13
-
-
Save romanitalian/c917b0398fd5972ddb71 to your computer and use it in GitHub Desktop.
How to use xslt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<?xml-stylesheet href="file_template.xslt" type="text/xsl"?><!-- путь до xslt стилей указан в аттрибуте href --> | |
<data> | |
<title>Владелец и его собаки</title> | |
<owner>Владелец</owner> | |
<my_test> | |
<first>Имя</first> | |
<second>Фамилия</second> | |
<second>Ла-ла-ла</second> | |
</my_test> | |
<animals> | |
<title>Собаки</title> | |
<dogs> | |
<dog> | |
<dogName>Шарик</dogName> | |
<dogWeight caption="кг">18</dogWeight> | |
<dogColor>рыжий с черными подпалинами</dogColor> | |
</dog> | |
<dog> | |
<dogName>Тузик</dogName> | |
<dogWeight caption="кг">10</dogWeight> | |
<dogColor>белый с черными пятнами</dogColor> | |
</dog> | |
<dog> | |
<dogName>Бобик</dogName> | |
<dogWeight caption="кг">2</dogWeight> | |
<dogColor>бело-серый</dogColor> | |
</dog> | |
<dog> | |
<dogName>Трезор</dogName> | |
<dogWeight caption="кг">25</dogWeight> | |
<dogColor>черный</dogColor> | |
</dog> | |
</dogs> | |
</animals> | |
</data> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> | |
<xsl:output method="html"/><!-- вывести как html --> | |
<xsl:template match="/"><!-- из корня документа с данными --> | |
<html> | |
<head> | |
<title><xsl:value-of select="/data/title"/></title> | |
</head> | |
<body> | |
<b><xsl:value-of select="/data/owner"/>:</b> <!-- вместо $nbsp; используем:   --> | |
<xsl:for-each select="/data/my_test/*"><!-- цикл для каждого элемента из блока: /data/my_test/* --> | |
<xsl:if test="position()!=1" xml:space="preserve">, </xsl:if><!-- проставить запятые строго между элементами (вне элементов не ставим - ни до, ни после) --> | |
<xsl:value-of select="."/><!-- получить содержимое "value-of", из узла с любым именем: select="." --> | |
</xsl:for-each> | |
<table border="1"> | |
<b><xsl:value-of select="/data/animals/title"/>:</b> | |
<xsl:for-each select="/data/animals/dogs/dog"><!-- цикл для каждого элемента из блока: /data/animals/dogs/dog --> | |
<tr> | |
<td> | |
<xsl:value-of select="dogName"/><!-- получить содержимое "value-of", из узла с именем: dogName --> | |
</td> | |
<td> | |
<xsl:value-of select="dogWeight"/><!-- получить содержимое "value-of", из узла с именем: dogWeight --> | |
<xsl:value-of select="dogWeight/@caption"/><!-- получить содержимое "value-of", из узла с именем: dogWeight и аттрибутом: caption --> | |
</td> | |
<td> | |
<xsl:value-of select="dogColor"/><!-- получить содержимое "value-of", из узла с именем: dogColor --> | |
</td> | |
</tr> | |
</xsl:for-each> | |
</table> | |
</body> | |
</html> | |
</xsl:template> | |
</xsl:stylesheet> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment