Xml 将当前值从父节点值xslt增加1
如果条件为真,我需要将当前节点值从上一个节点值增加1。我在下面附上了我的XSLT和XML。若董事会和房间类型相同,我想增加一个从以前的Noofrom值Noofrom值。否则noofrom应该是1。目前我手动将其设置为2。谁能帮我一下吗。 我的XMLXml 将当前值从父节点值xslt增加1,xml,xslt,xpath,xhtml,Xml,Xslt,Xpath,Xhtml,如果条件为真,我需要将当前节点值从上一个节点值增加1。我在下面附上了我的XSLT和XML。若董事会和房间类型相同,我想增加一个从以前的Noofrom值Noofrom值。否则noofrom应该是1。目前我手动将其设置为2。谁能帮我一下吗。 我的XML <AvailableRoom> <HotelOccupancy> <RoomCount>1</RoomCount>
<AvailableRoom>
<HotelOccupancy>
<RoomCount>1</RoomCount>
<Occupancy>
<AdultCount>1</AdultCount>
<ChildCount>0</ChildCount>
</Occupancy>
</HotelOccupancy>
<HotelRoom SHRUI="DVB8XS0PRiyGagcJUhDETw==" availCount="2" onRequest="N">
<Board type="SIMPLE" code="RO-E10" shortname="RO">ROOM ONLY</Board>
<RoomType type="SIMPLE" code="SGL-E10" characteristic="DX">SINGLE DELUXE</RoomType>
<Price>
<Amount>178.020</Amount>
</Price>
</HotelRoom>
</AvailableRoom>
<AvailableRoom>
<HotelOccupancy>
<RoomCount>1</RoomCount>
<Occupancy>
<AdultCount>1</AdultCount>
<ChildCount>1</ChildCount>
</Occupancy>
</HotelOccupancy>
<HotelRoom SHRUI="yrfO/b/aFGqxZ9ks6Lu2Tg==" availCount="2" onRequest="N">
<Board type="SIMPLE" code="RO-E10" shortname="RO">ROOM ONLY</Board>
<RoomType type="SIMPLE" code="DBL-E10" characteristic="DX">DOUBLE DELUXE</RoomType>
<Price>
<Amount>186.480</Amount>
</Price>
</HotelRoom>
</AvailableRoom>
1.
1.
0
仅限房间
豪华单人间
178.020
1.
1.
1.
仅限房间
豪华双人房
186.480
我的XSLT
<xsl:for-each select="hm:AvailableRoom ">
<availableroom>
<hotelcode>
<xsl:value-of select="preceding-sibling::hm:HotelInfo/hm:Code"/>
</hotelcode>
<xsl:for-each select="hm:HotelOccupancy ">
<roomcount>
<xsl:value-of select="hm:RoomCount"/>
</roomcount>
<xsl:for-each select="hm:Occupancy ">
<guests>
<xsl:value-of select="sum((hm:AdultCount | hm:ChildCount)[number(.) = .])"/>
</guests>
<adults>
<xsl:value-of select="hm:AdultCount"/>
</adults>
<children>
<xsl:value-of select="hm:ChildCount"/>
</children>
</xsl:for-each>
</xsl:for-each>
<xsl:for-each select="hm:HotelRoom ">
<shrui>
<xsl:value-of select="@SHRUI"/>
</shrui>
<xsl:choose>
<xsl:when test="parent::hm:AvailableRoom/preceding-sibling::hm:AvailableRoom[1]/hm:HotelRoom/hm:RoomType=hm:RoomType and parent::hm:AvailableRoom/preceding-sibling::hm:AvailableRoom[1]/hm:HotelRoom/hm:Board=hm:Board">
<noofroom>2</noofroom>
</xsl:when>
<xsl:otherwise>
<noofroom>1</noofroom>
</xsl:otherwise>
</xsl:choose>
<board>
<xsl:value-of select="hm:Board"/>
</board>
<roomtype>
<xsl:value-of select="hm:RoomType"/>
</roomtype>
<roomcode>
<xsl:value-of select="hm:RoomType/@code"/>
</roomcode>
<boardcode>
<xsl:value-of select="hm:Board/@code"/>
</boardcode>
<xsl:for-each select="hm:Price ">
<amount>
<xsl:value-of select="hm:Amount"/>
</amount>
</xsl:for-each>
</xsl:for-each>
</availableroom>
</xsl:for-each>
2.
1.
那么你的问题是什么?你能给我们看一下你想要的输出吗?数据是按顺序排列的吗?在文档中,具有相同类型的“board”和“room”元素是否始终是连续的,或者它们可能在任何地方?可能是重复的