<?xml version='1.0' ?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xpath-default-namespace="http://www.opentravel.org/OTA/2003/05/beta">
	<xsl:template match="/">
		<HotelAvailRS>
			<xsl:if test="not(OTA_HotelAvailRS/Success)">
				<xsl:for-each select="OTA_HotelAvailRS/Errors/Error">
					<Error>
						<xsl:attribute name="Code">
							<xsl:value-of select="@Code"/>
						</xsl:attribute>
						<xsl:attribute name="ShortText">
							<xsl:value-of select="@ShortText"/>
						</xsl:attribute>
					</Error>
				</xsl:for-each>
			</xsl:if>
			<xsl:if test="OTA_HotelAvailRS/Success">
				<xsl:for-each-group select="OTA_HotelAvailRS/RoomStays/RoomStay" group-by="BasicPropertyInfo/@HotelCode">
					<HotelAvail>
						<Channel>AHT</Channel>
						<PropertyID>
							<xsl:value-of select="BasicPropertyInfo/@HotelCode"/>
						</PropertyID>
						<RelativeDistance>
							<xsl:value-of select="BasicPropertyInfo/RelativePosition/@Distance"/>
						</RelativeDistance>
						<xsl:for-each select="current-group()">
							<xsl:apply-templates select="."/>
						</xsl:for-each>
					</HotelAvail>
				</xsl:for-each-group>
			</xsl:if>
		</HotelAvailRS>
	</xsl:template>
	<xsl:template match="RoomStay">
		<RoomStay>
			<RoomTypeCode>
				<xsl:value-of select="RoomRates/RoomRate/@RoomTypeCode"/>
			</RoomTypeCode>
			<Total>
				<xsl:value-of select="Total/@AmountAfterTax"/>
			</Total>
			<NumberOfUnits>
				<xsl:value-of select="RoomRates/RoomRate/@NumberOfUnits"/>
			</NumberOfUnits>
			<RoomType>
				<xsl:value-of select="RoomTypes/RoomType/RoomDescription/@Name"/>
			</RoomType>
			<CurrencyCode>
				<xsl:value-of select="Total/@CurrencyCode"/>
			</CurrencyCode>
		</RoomStay>
	</xsl:template>
</xsl:stylesheet><!-- Stylus Studio meta-information - (c) 2004-2006. Progress Software Corporation. All rights reserved.
<metaInformation>
<scenarios ><scenario default="yes" name="AHT_HotelAvailRS.xml" userelativepaths="yes" externalpreview="no" url="..\..\..\..\..\..\XML Samples\AHT_HotelAvailRS.xml" htmlbaseurl="" outputurl="" processortype="saxon8" useresolver="yes" profilemode="0" profiledepth="" profilelength="" urlprofilexml="" commandline="" additionalpath="" additionalclasspath="" postprocessortype="none" postprocesscommandline="" postprocessadditionalpath="" postprocessgeneratedext="" validateoutput="no" validator="internal" customvalidator="" ><advancedProp name="sInitialMode" value=""/><advancedProp name="bXsltOneIsOkay" value="true"/><advancedProp name="bSchemaAware" value="false"/><advancedProp name="bXml11" value="false"/><advancedProp name="iValidation" value="0"/><advancedProp name="bExtensions" value="true"/><advancedProp name="iWhitespace" value="0"/><advancedProp name="sInitialTemplate" value=""/><advancedProp name="bTinyTree" value="true"/><advancedProp name="bWarnings" value="true"/><advancedProp name="bUseDTD" value="false"/></scenario></scenarios><MapperMetaTag><MapperInfo srcSchemaPathIsRelative="yes" srcSchemaInterpretAsXML="no" destSchemaPath="..\..\..\..\..\..\XML Samples\HotelAvailRS.xml" destSchemaRoot="HotelAvailRS" destSchemaPathIsRelative="yes" destSchemaInterpretAsXML="no" ><SourceSchema srcSchemaPath="..\..\..\..\..\..\XML Samples\AHT_HotelAvailRS.xml" srcSchemaRoot="OTA_HotelAvailRS" AssociatedInstance="" loaderFunction="document" loaderFunctionUsesURI="no"/></MapperInfo><MapperBlockPosition><template match="/"><block path="HotelAvailRS/xsl:if/not[0]" x="260" y="4"/><block path="HotelAvailRS/xsl:if" x="306" y="6"/><block path="HotelAvailRS/xsl:if/xsl:for&#x2D;each" x="256" y="36"/><block path="HotelAvailRS/xsl:if[1]" x="146" y="132"/><block path="HotelAvailRS/xsl:if[1]/xsl:for&#x2D;each&#x2D;group" x="216" y="162"/><block path="HotelAvailRS/xsl:if[1]/xsl:for&#x2D;each&#x2D;group/HotelAvail/PropertyID/xsl:value&#x2D;of" x="296" y="180"/><block path="HotelAvailRS/xsl:if[1]/xsl:for&#x2D;each&#x2D;group/HotelAvail/RelativeDistance/xsl:value&#x2D;of" x="256" y="198"/><block path="HotelAvailRS/xsl:if[1]/xsl:for&#x2D;each&#x2D;group/HotelAvail/xsl:for&#x2D;each" x="306" y="132"/><block path="HotelAvailRS/xsl:if[1]/xsl:for&#x2D;each&#x2D;group/HotelAvail/xsl:for&#x2D;each/xsl:apply&#x2D;templates" x="256" y="162"/></template><template match="RoomStay"></template><template match="OTA_HotelAvailRS/RoomStays/RoomStay"><block path="RoomStay/RoomTypeCode/xsl:value&#x2D;of" x="256" y="126"/><block path="RoomStay/Total/xsl:value&#x2D;of" x="296" y="144"/><block path="RoomStay/NumberOfUnits/xsl:value&#x2D;of" x="256" y="162"/><block path="RoomStay/RoomType/xsl:value&#x2D;of" x="296" y="180"/><block path="RoomStay/CurrencyCode/xsl:value&#x2D;of" x="296" y="101"/></template></MapperBlockPosition><TemplateContext></TemplateContext><MapperFilter side="source"></MapperFilter></MapperMetaTag>
</metaInformation>
-->