因此,在最后一个匹配"AttributeList";,我需要显示由分隔符分割的来自它的内容"&";。不幸的是,我所尝试的一切都不起作用;标记化,字符串函数。。。自从im版本1.0以来。分离器不起作用。我需要帮助!
XML:`
<Name>Hotel Lemax</Name>
<NumberOfStars>5</NumberOfStars>
<PhotoList>
<Photo>
<Url>http://demotest.itravelsoftware.com/fotografije_itravel/7/717_636077307841478526.jpg</Url>
</Photo>
<Photo>
<Url>http://demotest.itravelsoftware.com/fotografije_itravel/7/715_636077306767263022.jpg</Url>
</Photo>
<Photo>
<Url>http://demotest.itravelsoftware.com/fotografije_itravel/7/714_636077303419440444.jpg</Url>
</Photo>
<Photo>
<Url>http://demotest.itravelsoftware.com/fotografije_itravel/7/539_636064349608545756.jpg</Url>
</Photo>
</PhotoList>
<RoomList>
<Room>
<Name>Double room</Name>
<Price>100 EUR</Price>
<AttributeList>
<Attribute>
<Name>Deluxe</Name>
</Attribute>
<Attribute>
<Name>Half board</Name>
</Attribute>
</AttributeList>
</Room>
<Room>
<Name>Triple room</Name>
<Price>200 EUR</Price>
<AttributeList>
<Attribute>
<Name>Deluxe</Name>
</Attribute>
<Attribute>
<Name>Full board</Name>
</Attribute>
<Attribute>
<Name>Jacuzzi</Name>
</Attribute>
</AttributeList>
</Room>
</RoomList>
`
XSLT:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0〃;xmlns:xsl="http://www.w3.org/1999/XSL/Transform"gt;
<xsl:template match="/">
<html>
<head>
<title>
<xsl:value-of select="Hotel/Name"/>
</title>
</head>
<body>
<h1>
<xsl:value-of select="Hotel/Name"/>
</h1>
<h2> Number of stars:
<xsl:value-of select="Hotel/NumberOfStars"/>
</h2>
<div>
First photo: <br/>
<xsl:apply-templates select="//Photo[1]"/>
</div>
<div>
Other photos: <br/>
<xsl:call-template name="Lista"/>
<xsl:call-template name="Lista"/>
<xsl:call-template name="Lista"/>
</div>
<div>
Rooms:
<br/><br/>
<xsl:apply-templates select="//Room"/>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="//Photo">
<img src="{.}" style="width: 100px; height: 100px;"></img>
</xsl:template>
<xsl:template name="Lista">
<xsl:value-of select="/PhotoList"/>
<img src="{.}" style="width: 100px; height: 100px; padding: 0 20px;"></img>
</xsl:template>
<xsl:template match="//Room">
<xsl:apply-templates select="Name"/>
<xsl:apply-templates select="Price"/>
<xsl:apply-templates select="AttributeList"/>
</xsl:template>
<xsl:template match="Name">
<b>Name:</b> <b><xsl:value-of select="."/></b> <br/><br/>
</xsl:template>
<xsl:template match="Price">
Price:<xsl:value-of select="."/>
<br/>
</xsl:template>
<xsl:template match="AttributeList">
Attributes:
<xsl:for-each select=".">
<xsl:value-of select="."/>
</xsl:for-each>
<br/><br/>
</xsl:template>
<xsl:stylesheet>
输出为:
属性:豪华半板。。。属性:豪华全板按摩浴缸
我想要的输出是:
属性:豪华,半板。。。属性:豪华,全板,按摩浴缸
尝试更改此项:
<xsl:template match="AttributeList">
Attributes:
<xsl:for-each select=".">
<xsl:value-of select="."/>
</xsl:for-each>
<br/><br/>
</xsl:template>
至:
<xsl:template match="AttributeList">
Attributes:
<xsl:for-each select="Attribute">
<xsl:value-of select="Name"/>
<xsl:if test="position()!=last()">, </xsl:if>
</xsl:for-each>
<br/><br/>
</xsl:template>