<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxml="urn:schemas-microsoft-com:xslt" version="1.0">
	<xsl:output method="xml" indent="yes" encoding="utf-8"/>
	<xsl:decimal-format name="european" decimal-separator="." grouping-separator=","/>
	<xsl:param name="mode"/>
	<xsl:variable name="Rev">
		<!-- Revision van deze cust.xsl -->
		<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
	</xsl:variable>

  <xsl:key name="GROUP_BY_res_rsv_ruimte_key" match="//data_row" use="RES_RSV_RUIMTE_KEY"/>

	<xsl:template match="rapport">
		<!-- ******************************************************************* -->
		<!-- *****FlexWhere-request: GetVIPS                                     -->
		<!-- ******************************************************************* -->
		<xsl:if test="@view='nybu_v_vips_koppeling'">
		    <xsl:choose>
				<xsl:when test="$mode='VIPS'">
		        <GetVIPSResponse>
    						<RESERVERINGEN>
    						<xsl:for-each select="//data_row[generate-id(.)=generate-id(key('GROUP_BY_res_rsv_ruimte_key',RES_RSV_RUIMTE_KEY)[1])]">
    		        <xsl:sort select="RES_RSV_RUIMTE_KEY"/>
                        <RESERVERING>
                            <RES_RSV_RUIMTE_KEY><xsl:value-of select="RES_RSV_RUIMTE_KEY"/></RES_RSV_RUIMTE_KEY>
                            <RES_RESERVERING_NR><xsl:value-of select="RES_RESERVERING_KEY"/></RES_RESERVERING_NR>
                            <RES_RESERVERING_VOLGNR><xsl:value-of select="RES_RSV_RUIMTE_VOLGNR"/></RES_RESERVERING_VOLGNR>

                            <RES_RESERVERING_OMSCHR><xsl:value-of select="RES_RSV_RUIMTE_OMSCHRIJVING"/></RES_RESERVERING_OMSCHR>
                            <RES_RESERVERING_OPMERK><xsl:value-of select="RES_RSV_RUIMTE_OPMERKING"/></RES_RESERVERING_OPMERK>

                            <RES_RESERVERING_ZAAL_ID><xsl:value-of select="RES_RUIMTE_KEY"/></RES_RESERVERING_ZAAL_ID>
                            <RES_RESERVERING_ZAAL><xsl:value-of select="RES_RUIMTE_NR"/></RES_RESERVERING_ZAAL>
                            <RES_RESERVERING_OPSTELLING_ID><xsl:value-of select="RES_OPSTELLING_KEY"/></RES_RESERVERING_OPSTELLING_ID>
                            <RES_RESERVERING_OPSTELLING><xsl:value-of select="RES_OPSTELLING_OMSCHRIJVING"/></RES_RESERVERING_OPSTELLING>

                            <RES_RESERVERING_LOCATIECODE><xsl:value-of select="ALG_LOCATIE_CODE"/></RES_RESERVERING_LOCATIECODE>
                            <RES_RESERVERING_LOCATIEOMSCHR><xsl:value-of select="ALG_LOCATIE_OMSCHRIJVING"/></RES_RESERVERING_LOCATIEOMSCHR>
                            <RES_RESERVERING_GEBOUWCODE><xsl:value-of select="ALG_GEBOUW_CODE"/></RES_RESERVERING_GEBOUWCODE>
                            <RES_RESERVERING_GEBOUWOMSCHR><xsl:value-of select="ALG_GEBOUW_NAAM"/></RES_RESERVERING_GEBOUWOMSCHR>
                            <RES_RESERVERING_VERDIEPINGNR><xsl:value-of select="ALG_VERDIEPING_VOLGNR"/></RES_RESERVERING_VERDIEPINGNR>
                            <RES_RESERVERING_VERDIEPINGOMSCHR><xsl:value-of select="ALG_VERDIEPING_OMSCHRIJVING"/></RES_RESERVERING_VERDIEPINGOMSCHR>
                            <RES_RESERVERING_RUIMTENR><xsl:value-of select="ALG_RUIMTE_NR"/></RES_RESERVERING_RUIMTENR>
                            <RES_RESERVERING_RUIMTEOMSCHR><xsl:value-of select="ALG_RUIMTE_OMSCHRIJVING"/></RES_RESERVERING_RUIMTEOMSCHR>

                            <RES_RESERVERING_AANTAL_BEZOEKERS><xsl:value-of select="RES_RSV_RUIMTE_BEZOEKERS"/></RES_RESERVERING_AANTAL_BEZOEKERS>
                            <RES_RESERVERING_STATUS_FO><xsl:value-of select="RES_STATUS_FO_KEY"/></RES_RESERVERING_STATUS_FO>


                            <RES_RESERVERING_CONTACT_NAAM><xsl:value-of select="CONTACT_NAAM"/></RES_RESERVERING_CONTACT_NAAM>
                            <RES_RESERVERING_CONTACT_TUSSENVOEGSEL><xsl:value-of select="CONTACT_TUSSENVOEGSEL"/></RES_RESERVERING_CONTACT_TUSSENVOEGSEL>
                            <RES_RESERVERING_CONTACT_VOORLETTERS><xsl:value-of select="CONTACT_VOORLETTERS"/></RES_RESERVERING_CONTACT_VOORLETTERS>
                            <RES_RESERVERING_CONTACT_VOORNAAM><xsl:value-of select="CONTACT_VOORNAAM"/></RES_RESERVERING_CONTACT_VOORNAAM>
                            <RES_RESERVERING_CONTACT_GESLACHT><xsl:value-of select="CONTACT_GESLACHT"/></RES_RESERVERING_CONTACT_GESLACHT>
                            <RES_RESERVERING_CONTACT_EMAIL><xsl:value-of select="CONTACT_EMAIL"/></RES_RESERVERING_CONTACT_EMAIL>
                            <RES_RESERVERING_CONTACT_TELEFOONNR><xsl:value-of select="CONTACT_TELEFOONNR"/></RES_RESERVERING_CONTACT_TELEFOONNR>
                            <RES_RESERVERING_CONTACT_MOBIEL><xsl:value-of select="CONTACT_MOBIEL"/></RES_RESERVERING_CONTACT_MOBIEL>

                            <RES_RESERVERING_HOST_NAAM><xsl:value-of select="HOST_NAAM"/></RES_RESERVERING_HOST_NAAM>
                            <RES_RESERVERING_HOST_TUSSENVOEGSEL><xsl:value-of select="HOST_TUSSENVOEGSEL"/></RES_RESERVERING_HOST_TUSSENVOEGSEL>
                            <RES_RESERVERING_HOST_VOORLETTERS><xsl:value-of select="HOST_VOORLETTERS"/></RES_RESERVERING_HOST_VOORLETTERS>
                            <RES_RESERVERING_HOST_VOORNAAM><xsl:value-of select="HOST_VOORNAAM"/></RES_RESERVERING_HOST_VOORNAAM>
                            <RES_RESERVERING_HOST_GESLACHT><xsl:value-of select="HOST_GESLACHT"/></RES_RESERVERING_HOST_GESLACHT>
                            <RES_RESERVERING_HOST_EMAIL><xsl:value-of select="HOST_EMAIL"/></RES_RESERVERING_HOST_EMAIL>
                            <RES_RESERVERING_HOST_TELEFOONNR><xsl:value-of select="HOST_TELEFOONNR"/></RES_RESERVERING_HOST_TELEFOONNR>
                            <RES_RESERVERING_HOST_MOBIEL><xsl:value-of select="HOST_MOBIEL"/></RES_RESERVERING_HOST_MOBIEL>
                            <RES_RESERVERING_KOSTENPLAATS_NR><xsl:value-of select="PRS_KOSTENPLAATS_NR"/></RES_RESERVERING_KOSTENPLAATS_NR>

                            <RES_RESERVERING_DIEET_WENSEN><xsl:value-of select="DIEET_WENSEN"/></RES_RESERVERING_DIEET_WENSEN>
                            <RES_RESERVERING_AANVULLENDE_WENSEN><xsl:value-of select="AANVULLENDE_WENSEN"/></RES_RESERVERING_AANVULLENDE_WENSEN>
                            <RES_RESERVERING_PROGRAMMATIJDEN><xsl:value-of select="PROGRAMMATIJDEN"/></RES_RESERVERING_PROGRAMMATIJDEN>
                            <RES_RESERVERING_EXTERN_BEDRIJF><xsl:value-of select="EXTERN_BEDRIJF"/></RES_RESERVERING_EXTERN_BEDRIJF>
                            <RES_RESERVERING_EXTERN_CONTACT><xsl:value-of select="EXTERN_CONTACT"/></RES_RESERVERING_EXTERN_CONTACT>

                                <xsl:call-template name="VIPS_response_per_RES_RSV_RUIMTE_KEY">
                                    <xsl:with-param name="p_res_rsv_ruimte_key" select="RES_RSV_RUIMTE_KEY"/>
                                </xsl:call-template>
                        </RESERVERING>
                </xsl:for-each>
                </RESERVERINGEN>
		        </GetVIPSResponse>
				</xsl:when>
				<xsl:otherwise>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:if>
	</xsl:template>


    <xsl:template name="VIPS_response_per_RES_RSV_RUIMTE_KEY">
        <xsl:param name="p_res_rsv_ruimte_key"/>
        <CATERINGEN>
        <xsl:for-each select="//data_row[RES_RSV_RUIMTE_KEY = $p_res_rsv_ruimte_key]">
            <CATERING>
                <RES_ARTIKEL_KEY><xsl:value-of select="RES_ARTIKEL_KEY"/></RES_ARTIKEL_KEY>
            		<RES_ARTIKEL_NR><xsl:value-of select="ARTIKELNR"/></RES_ARTIKEL_NR>
            		<ARTIKELOMS><xsl:value-of select="ARTIKELOMS"/></ARTIKELOMS>
            		<CATALOGUS><xsl:value-of select="CATALOGUS"/></CATALOGUS>
                <RES_RSV_ARTIKEL_LEVERING><xsl:value-of select="RES_RSV_ARTIKEL_LEVERING"/></RES_RSV_ARTIKEL_LEVERING>
                <DATUM><xsl:value-of select="DATUM"/></DATUM>
                <TIJD><xsl:value-of select="TIJD"/></TIJD>
            		<AANTAL><xsl:value-of select="AANTAL"/></AANTAL>
            		<RES_ARTIKEL_PRIJS><xsl:value-of select="RES_ARTIKEL_PRIJS"/></RES_ARTIKEL_PRIJS>
            		<EENHEIDSPRIJS><xsl:value-of select="EENHEIDSPRIJS"/></EENHEIDSPRIJS>
            		<TOTAALPRIJS><xsl:value-of select="TOTAALPRIJS"/></TOTAALPRIJS>
            </CATERING>
        </xsl:for-each>
        </CATERINGEN>
   </xsl:template>

	<!-- SOAP envelope met de afgesproken 'payload' in response op FlexWhere-request! -->
	<xsl:template match="facilitor">
		<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
			<soap:Body>
				<xsl:apply-templates select="rapport"/>
			</soap:Body>
		</soap:Envelope>
	</xsl:template>

	<!-- De afgesproken 'payload' in response op FlexWhere-request (zonder envelope)! -->
	<!--xsl:template match="facilitor">
		<xsl:apply-templates select="rapport"/>
	</xsl:template-->

	<!-- Root -->
	<xsl:template match="/">
		<xsl:apply-templates select="facilitor"/>
	</xsl:template>
</xsl:stylesheet>
