如何在显示[xslt 1.0]的select元素的每个值后面放置分隔符



因此,在最后一个匹配"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>

相关内容

  • 没有找到相关文章

最新更新