Note that there are some explanatory texts on larger screens.

plurals
  1. POXSLT 1.0 Group By Tags
    primarykey
    data
    text
    <p>I have the following XML data:</p> <pre><code> &lt;result&gt; &lt;row&gt; &lt;CountryId&gt;26&lt;/CountryId&gt; &lt;CountryName&gt;United Kingdom&lt;/CountryName&gt; &lt;NoOfNights&gt;1&lt;/NoOfNights&gt; &lt;AccommodationID&gt;6004&lt;/AccommodationID&gt; &lt;RoomID&gt;1&lt;/RoomID&gt; &lt;RoomName&gt;Double for Sole Use&lt;/RoomName&gt; &lt;RatePlanID&gt;1&lt;/RatePlanID&gt; &lt;RoomRatePlan&gt;Advance&lt;/RoomRatePlan&gt; &lt;NoOfSameTypeRoom&gt;0&lt;/NoOfSameTypeRoom&gt; &lt;RoomSize/&gt; &lt;Max_Person&gt;1&lt;/Max_Person&gt; &lt;RackRate&gt;189&lt;/RackRate&gt; &lt;CurrencySymbol&gt;&amp;pound;&lt;/CurrencySymbol&gt; &lt;NoOfRoomsAvailable&gt;4&lt;/NoOfRoomsAvailable&gt; &lt;Rate&gt;79.00&lt;/Rate&gt; &lt;RatePerDay&gt;27 Mar 2013_79.00&lt;/RatePerDay&gt; &lt;/row&gt; &lt;row&gt; &lt;CountryId&gt;26&lt;/CountryId&gt; &lt;CountryName&gt;United Kingdom&lt;/CountryName&gt; &lt;NoOfNights&gt;1&lt;/NoOfNights&gt; &lt;AccommodationID&gt;6004&lt;/AccommodationID&gt; &lt;RoomID&gt;1&lt;/RoomID&gt; &lt;RoomName&gt;Double for Sole Use&lt;/RoomName&gt; &lt;RatePlanID&gt;2&lt;/RatePlanID&gt; &lt;RoomRatePlan&gt;Standard&lt;/RoomRatePlan&gt; &lt;NoOfSameTypeRoom&gt;0&lt;/NoOfSameTypeRoom&gt; &lt;RoomSize/&gt; &lt;Max_Person&gt;1&lt;/Max_Person&gt; &lt;RackRate&gt;189&lt;/RackRate&gt; &lt;CurrencySymbol&gt;&amp;pound;&lt;/CurrencySymbol&gt; &lt;NoOfRoomsAvailable&gt;5&lt;/NoOfRoomsAvailable&gt; &lt;Rate&gt;89.00&lt;/Rate&gt; &lt;RatePerDay&gt;27 Mar 2013_89.00&lt;/RatePerDay&gt; &lt;/row&gt; &lt;row&gt; &lt;CountryId&gt;26&lt;/CountryId&gt; &lt;CountryName&gt;United Kingdom&lt;/CountryName&gt; &lt;NoOfNights&gt;1&lt;/NoOfNights&gt; &lt;AccommodationID&gt;6004&lt;/AccommodationID&gt; &lt;RoomID&gt;2&lt;/RoomID&gt; &lt;RoomName&gt;Double Room&lt;/RoomName&gt; &lt;RatePlanID&gt;1&lt;/RatePlanID&gt; &lt;RoomRatePlan&gt;Advance&lt;/RoomRatePlan&gt; &lt;NoOfSameTypeRoom&gt;0&lt;/NoOfSameTypeRoom&gt; &lt;RoomSize/&gt; &lt;Max_Person&gt;2&lt;/Max_Person&gt; &lt;RackRate&gt;199&lt;/RackRate&gt; &lt;CurrencySymbol&gt;&amp;pound;&lt;/CurrencySymbol&gt; &lt;NoOfRoomsAvailable&gt;5&lt;/NoOfRoomsAvailable&gt; &lt;Rate&gt;89.00&lt;/Rate&gt; &lt;RatePerDay&gt;27 Mar 2013_89.00&lt;/RatePerDay&gt; &lt;/row&gt; &lt;/result&gt; </code></pre> <p>My XSLT for the above xml is this:</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8" ?&gt; &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"&gt; &lt;xsl:output omit-xml-declaration="yes" indent="yes" method="xml" /&gt; &lt;xsl:strip-space elements="*"/&gt; &lt;!-- Default template : ignore unrecognized elements and text --&gt; &lt;xsl:template match="*|text()" /&gt; &lt;!-- Match document root : add hotels element and process each children node of result --&gt; &lt;xsl:template match="/"&gt; &lt;hotels&gt; &lt;!-- We assume that the XML documents are always going to follow the structure: result as the root node and xml_acc elements as its children --&gt; &lt;xsl:for-each select="result/row"&gt; &lt;result&gt; &lt;hotel_rooms&gt; &lt;xsl:element name="hotel_id"&gt; &lt;xsl:value-of select="AccommodationID"/&gt; &lt;/xsl:element&gt; &lt;xsl:apply-templates /&gt; &lt;/hotel_rooms&gt; &lt;xsl:element name="Rate"&gt; &lt;xsl:element name="RoomRatePlan"&gt; &lt;xsl:value-of select="RoomRatePlan"/&gt; &lt;/xsl:element&gt; &lt;xsl:element name="numeric_price"&gt; &lt;xsl:value-of select="Rate"/&gt; &lt;/xsl:element&gt; &lt;/xsl:element&gt; &lt;/result&gt; &lt;/xsl:for-each&gt; &lt;/hotels&gt; &lt;/xsl:template&gt; &lt;!-- Elements to be copied as they are --&gt; &lt;xsl:template match="NoOfNights|RoomName|RoomSize|Max_Person|RackRate|RatePerDay|CurrencySymbol|NoOfRoomsAvailable|RoomDescription|RoomFacilities|PolicyComments|Breakfast|Policy|Message"&gt; &lt;xsl:copy-of select="." /&gt; &lt;/xsl:template&gt; &lt;xsl:template match="Photo_Max60"&gt; &lt;RoomImages&gt; &lt;Photo_Max60&gt; &lt;xsl:value-of select="." /&gt; &lt;/Photo_Max60&gt; &lt;Photo_Max300&gt; &lt;xsl:value-of select="../Photo_Max300" /&gt; &lt;/Photo_Max300&gt; &lt;Photo_Max500&gt; &lt;xsl:value-of select="../Photo_Max500" /&gt; &lt;/Photo_Max500&gt; &lt;/RoomImages&gt; &lt;/xsl:template&gt; &lt;/xsl:stylesheet&gt; </code></pre> <p>In XSLT 1.0, I want to group by Room ID and Hotel ID . so in the above data, I Want the result like this.</p> <pre><code>&lt;hotels&gt; &lt;result&gt; &lt;hotel_rooms&gt; &lt;hotel_id&gt;6004&lt;/hotel_id&gt; &lt;NoOfNights&gt;1&lt;/NoOfNights&gt; &lt;RoomID&gt;1&lt;/RoomID&gt; &lt;RoomName&gt;Double for Sole Use&lt;/RoomName&gt; &lt;RoomSize/&gt; &lt;Max_Person&gt;1&lt;/Max_Person&gt; &lt;RackRate&gt;189&lt;/RackRate&gt; &lt;CurrencySymbol&gt;&amp;pound;&lt;/CurrencySymbol&gt; &lt;NoOfRoomsAvailable&gt;4&lt;/NoOfRoomsAvailable&gt; &lt;RatePerDay&gt;27 Mar 2013_79.00&lt;/RatePerDay&gt; &lt;/hotel_rooms&gt; &lt;Rate&gt; &lt;RoomRatePlan&gt;Advance&lt;/RoomRatePlan&gt; &lt;numeric_price&gt;79.00&lt;/numeric_price&gt; &lt;RoomRatePlan&gt;Standard&lt;/RoomRatePlan&gt; &lt;numeric_price&gt;89.00&lt;/numeric_price&gt; &lt;/Rate&gt; &lt;/result&gt; &lt;/result&gt; &lt;hotels&gt; </code></pre> <p>I want a xslt file for the above xml output i need.please help..</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload