Может кто знает, нужно перебрать элементы в xml через xsl , но не используя
for-each
Есть, например, такой xml
<?xml version="1.0" encoding="WINDOWS-1251"?>
<?xml-stylesheet type='text/xsl' href='dogs.xsl'?>
<tutorial>
<enimals>
<dogs>
<dogsCaption>Собаки</dogsCaption>
<dogsCaptionName>Порода</dogsCaptionName>
<dogsCaptionWeight>Вес</dogsCaptionWeight>
<dogsCaptionColor>Цвет</dogsCaptionColor>
<dog>
<dogName>Дог</dogName>
<dogWeight caption="кг">35</dogWeight>
<dogColor>серый</dogColor>
</dog>
<dog>
<dogName>Овчарка</dogName>
<dogWeight caption="кг">25</dogWeight>
<dogColor>чёрная</dogColor>
</dog>
<dog>
<dogName>Пудель</dogName>
<dogWeight caption="кг">15</dogWeight>
<dogColor>белый</dogColor>
</dog>
</dogs>
</enimals>
</tutorial>
Есть xsl c
for-each
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<table border="1">
<tr bgcolor="#CCCCCC">
<td align="center"><strong><xsl:value-of select="//dogsCaptionName"/></strong></td>
<td align="center"><strong><xsl:value-of select="//dogsCaptionWeight"/></strong></td>
<td align="center"><strong><xsl:value-of select="//dogsCaptionColor"/></strong></td>
</tr>
<xsl:for-each select="tutorial/enimals/dogs/dog">
<tr bgcolor="#F5F5F5">
<td><xsl:value-of select="dogName"/></td>
<td align="right"><xsl:value-of select="dogWeight"/> <xsl:value-of select="dogWeight/@caption"/></td>
<td><xsl:value-of select="dogColor"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
Здравствуйте, HammerSpb, Вы писали:
перебрать элементы в xml через xsl , но не используя for-each
Используйте <xsl:apply-templates select="..."/>
HS>Может кто знает, нужно перебрать элементы в xml через xsl , но не используя for-each
HS>Есть, например, такой xml
HS>HS><?xml version="1.0" encoding="WINDOWS-1251"?>
HS><?xml-stylesheet type='text/xsl' href='dogs.xsl'?>
HS><tutorial>
HS><enimals>
HS> <dogs>
HS> <dogsCaption>Собаки</dogsCaption>
HS> <dogsCaptionName>Порода</dogsCaptionName>
HS> <dogsCaptionWeight>Вес</dogsCaptionWeight>
HS> <dogsCaptionColor>Цвет</dogsCaptionColor>
HS> <dog>
HS> <dogName>Дог</dogName>
HS> <dogWeight caption="кг">35</dogWeight>
HS> <dogColor>серый</dogColor>
HS> </dog>
HS> <dog>
HS> <dogName>Овчарка</dogName>
HS> <dogWeight caption="кг">25</dogWeight>
HS> <dogColor>чёрная</dogColor>
HS> </dog>
HS> <dog>
HS> <dogName>Пудель</dogName>
HS> <dogWeight caption="кг">15</dogWeight>
HS> <dogColor>белый</dogColor>
HS> </dog>
HS> </dogs>
HS></enimals>
HS></tutorial>
HS>
HS>Есть xsl c for-each
HS>HS><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
HS><xsl:template match="/">
HS><table border="1">
HS> <tr bgcolor="#CCCCCC">
HS> <td align="center"><strong><xsl:value-of select="//dogsCaptionName"/></strong></td>
HS> <td align="center"><strong><xsl:value-of select="//dogsCaptionWeight"/></strong></td>
HS> <td align="center"><strong><xsl:value-of select="//dogsCaptionColor"/></strong></td>
HS> </tr>
HS> <xsl:for-each select="tutorial/enimals/dogs/dog">
HS> <tr bgcolor="#F5F5F5">
HS> <td><xsl:value-of select="dogName"/></td>
HS> <td align="right"><xsl:value-of select="dogWeight"/> <xsl:value-of select="dogWeight/@caption"/></td>
HS> <td><xsl:value-of select="dogColor"/></td>
HS> </tr>
HS> </xsl:for-each>
HS></table>
HS></xsl:template>
HS></xsl:stylesheet>
HS>
Здравствуйте, HammerSpb, Вы писали:
HS>Может кто знает, нужно перебрать элементы в xml через xsl , но не используя for-each
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<table border="1">
<tr bgcolor="#CCCCCC">
<td align="center"><strong><xsl:value-of select="//dogsCaptionName"/></strong></td>
<td align="center"><strong><xsl:value-of select="//dogsCaptionWeight"/></strong></td>
<td align="center"><strong><xsl:value-of select="//dogsCaptionColor"/></strong></td>
</tr>
<xsl:apply-templates select="tutorial/enimals/dogs"/>
</table>
</xsl:template>
<xsl:template match="dogs">
<xsl:apply-templates select="dog"/>
</xsl:template>
<xsl:template match="dog">
<tr bgcolor="#F5F5F5">
<td><xsl:value-of select="dogName"/></td>
<td align="right"><xsl:value-of select="dogWeight"/> <xsl:value-of select="dogWeight/@caption"/></td>
<td><xsl:value-of select="dogColor"/></td>
</tr>
</xsl:template>
</xsl:stylesheet>
... << RSDN@Home 1.2.0 alpha 4 rev. 1144>>