<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="xml" indent="yes" encoding="UTF-8"/>

	<xsl:decimal-format name="european" decimal-separator="." grouping-separator=","/>

	<xsl:param name="mode"/>

	<xsl:template match="bestelopdracht">
		<xsl:comment>Facilitor custom XSL template for cXML bestelopdracht</xsl:comment>
		<xsl:element name="cXML">
			<xsl:attribute name="payloadID"><xsl:value-of select="datum/timestamp"/>@http://mycomp.com</xsl:attribute>
			<xsl:attribute name="timestamp"><xsl:value-of select="/facilitor/header/dateYear"/>-<xsl:value-of select="/facilitor/header/dateMonth"/>-<xsl:value-of select="/facilitor/header/dateDay"/>T<xsl:value-of select="substring(/facilitor/header/dateTime,12,8)"/>+01:00</xsl:attribute>
			<xsl:attribute name="xml:lang">NL</xsl:attribute>
			<Header>
				<From>
					<Credential domain="Facilitor" type="marketplace">
						<Identity>order@facilityplace.nl</Identity>
					</Credential>
				</From>
				<To>
					<xsl:element name="Credential">
						<xsl:attribute name="domain"><xsl:value-of select="bedrijf/naam"/></xsl:attribute>
						<Identity>
							<xsl:value-of select="bedrijf/leverancier_nr"/>
						</Identity>
					</xsl:element>
				</To>
				<Sender>
					<Credential domain="Facilitor">
						<Identity>order@facilityplace.nl</Identity>
					</Credential>
					<UserAgent></UserAgent>
				</Sender>
			</Header>
			<Request deploymentMode="test">
				<OrderRequest>
					<xsl:element name="OrderRequestHeader">
						<xsl:attribute name="orderID">A-<xsl:value-of select="bestelling/key"/></xsl:attribute>
						<xsl:attribute name="orderDate"><xsl:value-of select="/facilitor/bestelopdracht/datum/jaar"/>-<xsl:value-of select="/facilitor/bestelopdracht/datum/maand"/>-<xsl:value-of select="/facilitor/bestelopdracht/datum/dag"/></xsl:attribute>
						<xsl:attribute name="type">new</xsl:attribute>
						<Total>
							<Money currency="EUR">
								<xsl:value-of select="format-number(sum(bestelopdrachtitem/totaal), '0.00', 'european')"/>
							</Money>
						</Total>
						<ShipTo>
							<xsl:element name="Address">
								<xsl:attribute name="addressID"><xsl:value-of select="bedrijf/overeenkomst_nr"/></xsl:attribute>
								<Name xml:lang="NL">UWV(<xsl:value-of select="bestelling/voor/werkplek[myvolgnr='2']/plaats/regio/district/locatie/gebouw/afleveradres/naam"/>)</Name>
								<PostalAddress name="default">
									<DeliverTo>
										<xsl:value-of select="bestelling/voor/naam_full"/>
									</DeliverTo>
									<!-- Aanname: IEDEREEN heeft een 2-werkplek!!! -->
									<DeliverTo>
										<xsl:value-of select="bestelling/voor/werkplek[myvolgnr='2']/plaats/plaatsaanduiding"/>
									</DeliverTo>
									<Street>
										<xsl:value-of select="bestelling/voor/werkplek[myvolgnr='2']/plaats/regio/district/locatie/gebouw/afleveradres/bezoek_adres"/>
									</Street>
									<City>
										<xsl:value-of select="bestelling/voor/werkplek[myvolgnr='2']/plaats/regio/district/locatie/gebouw/afleveradres/bezoek_plaats"/>
									</City>
									<State></State>
									<PostalCode>
										<xsl:value-of select="bestelling/voor/werkplek[myvolgnr='2']/plaats/regio/district/locatie/gebouw/afleveradres/bezoek_postcode"/>
									</PostalCode>
									<Country isoCountryCode="NL">Netherlands</Country>
								</PostalAddress>
							</xsl:element>
							<Email>
								<xsl:value-of select="bestelling/voor/email"/>
							</Email>
							<Phone>
								<TelephoneNumber>
									<CountryCode isoCountryCode="NL"/>
									<AreaOrCityCode/>
									<Number>
										<xsl:value-of select="bestelling/voor/telefoonnr"/>
									</Number>
								</TelephoneNumber>
							</Phone>
						</ShipTo>
						<BillTo>
							<xsl:element name="Address">
								<xsl:attribute name="addressID">AMSG3</xsl:attribute>
								<Name xml:lang="NL">UWV</Name>
								<Contactpersoon>
									<xsl:value-of select="factuuradres/contactpersoon"/>
								</Contactpersoon>
								<Contactpers_telefoon>
									<xsl:value-of select="factuuradres/contactpers_telefoon"/>
								</Contactpers_telefoon>
								<PostalAddress name="default">
									<Street>
										<xsl:value-of select="factuuradres/post_adres"/>
									</Street>
									<City>
										<xsl:value-of select="factuuradres/post_plaats"/>
									</City>
									<State></State>
									<PostalCode>
										<xsl:value-of select="factuuradres/post_postcode"/>
									</PostalCode>
									<Country isoCountryCode="NL">Netherlands</Country>
								</PostalAddress>
							</xsl:element>
						</BillTo>
						<Contact>
							<Name xml:lang="NL">
								<xsl:value-of select="bestelling/aanvrager/naam_full"/>
							</Name>
							<Email>
								<xsl:value-of select="bestelling/aanvrager/email"/>
							</Email>
							<Phone>
								<TelephoneNumber>
									<CountryCode isoCountryCode="NL"/>
									<AreaOrCityCode/>
									<Number>
										<xsl:value-of select="bestelling/aanvrager/telefoonnr"/>
									</Number>
								</TelephoneNumber>
							</Phone>
						</Contact>
						<Payment>
							<PCard number="1234567890123456" expiration="1999-03-12"/>
						</Payment>
						<Extrinsic name="Costcenter">
							<xsl:value-of select="bestelling/kostenplaats/nr"/>
						</Extrinsic>
						<Extrinsic name="OrgBestelbevoegde">
							<xsl:value-of select="bestelling/voor/afdeling/naam6"/>
						</Extrinsic>
						<Extrinsic name="OrgAbonnee">
							<xsl:value-of select="bestelling/voor/afdeling/naam6"/>
						</Extrinsic>
						<xsl:for-each select="bestelling/kenmerk">
							<xsl:if test="@type!='Q' and @type!='L'">
								<xsl:element name="Extrinsic">
									<xsl:attribute name="name"><xsl:value-of select="@naam"/></xsl:attribute>
									<xsl:value-of select="."/>
								</xsl:element>
							</xsl:if>
						</xsl:for-each>
					</xsl:element>

					<xsl:for-each select="bestelopdrachtitem">
						<xsl:sort select="srtdeel/omschrijving"/>
						<xsl:sort select="posnr"/>

						<xsl:element name="ItemOut">
							<xsl:attribute name="quantity"><xsl:value-of select="aantal"/></xsl:attribute>
							<xsl:attribute name="lineNumber"><xsl:value-of select="posnr"/></xsl:attribute>
							<xsl:attribute name="requestedDeliveryDate"><xsl:value-of select="/facilitor/bestelopdracht/bestelling/leverdatum/jaar"/>-<xsl:value-of select="/facilitor/bestelopdracht/bestelling/leverdatum/maand"/>-<xsl:value-of select="/facilitor/bestelopdracht/bestelling/leverdatum/dag"/></xsl:attribute>
							<ItemID>
								<SupplierPartID>
									<xsl:value-of select="bestelitem/srtdeel/artikel_nummer"/>
								</SupplierPartID>
							</ItemID>
							<ItemDetail>
								<UnitPrice>
									<Money currency="EUR">
										<xsl:value-of select="prijs"/>
									</Money>
								</UnitPrice>
								<Description xml:lang="NL">
									<xsl:value-of select="bestelitem/srtdeel/omschrijving"/>
								</Description>
								<UnitOfMeasure>
									<xsl:value-of select="bestelitem/srtdeel/eenheid"/>
								</UnitOfMeasure>
								<Classification domain="SPSC">12345</Classification>
								<xsl:for-each select="bestelitem/kenmerk">
									<xsl:if test="@type!='Q' and @type!='L'">
										<xsl:element name="Extrinsic">
											<xsl:attribute name="name"><xsl:value-of select="@naam"/></xsl:attribute>
											<xsl:value-of select="."/>
										</xsl:element>
									</xsl:if>
								</xsl:for-each>
							</ItemDetail>
						</xsl:element>
					</xsl:for-each>
				</OrderRequest>
			</Request>
		</xsl:element>
	</xsl:template>

	<xsl:template match="contract">
		<xsl:comment>Facilitor custom XSL template for cXML bestelopdracht</xsl:comment>
		<xsl:element name="cXML">
			<xsl:attribute name="payloadID"><xsl:value-of select="datum/timestamp"/>@http://mycomp.com</xsl:attribute>
			<xsl:attribute name="timestamp"><xsl:value-of select="/facilitor/header/dateYear"/>-<xsl:value-of select="/facilitor/header/dateMonth"/>-<xsl:value-of select="/facilitor/header/dateDay"/>T<xsl:value-of select="substring(/facilitor/header/dateTime,12,8)"/>+01:00</xsl:attribute>
			<xsl:attribute name="xml:lang">NL</xsl:attribute>
			<Header>
				<From>
					<Credential domain="Facilitor" type="marketplace">
						<Identity>order@facilityplace.nl</Identity>
					</Credential>
				</From>
				<To>
					<xsl:element name="Credential">
						<xsl:attribute name="domain"><xsl:value-of select="bedrijf/naam"/></xsl:attribute>
						<Identity>
							<xsl:value-of select="bedrijf/leverancier_nr"/>
						</Identity>
					</xsl:element>
				</To>
				<Sender>
					<Credential domain="Facilitor">
						<Identity>order@facilityplace.nl</Identity>
					</Credential>
					<UserAgent></UserAgent>
				</Sender>
			</Header>
			<Request deploymentMode="test">
				<OrderRequest>
					<xsl:element name="OrderRequestHeader">
						<!--xsl:attribute name="orderID">A-<xsl:value-of select="bestelling/key"/></xsl:attribute-->
						<xsl:attribute name="orderID"><xsl:value-of select="nummer_intern"/></xsl:attribute>
						<!--xsl:attribute name="orderDate"><xsl:value-of select="/facilitor/bestelopdracht/datum/jaar"/>-<xsl:value-of select="/facilitor/bestelopdracht/datum/maand"/>-<xsl:value-of select="/facilitor/bestelopdracht/datum/dag"/></xsl:attribute-->
						<xsl:attribute name="orderDate"><xsl:value-of select="/facilitor/header/dateYear"/>-<xsl:value-of select="/facilitor/header/dateMonth"/>-<xsl:value-of select="/facilitor/header/dateDay"/></xsl:attribute>
						<!--xsl:attribute name="type">new</xsl:attribute-->
						<xsl:choose>
							<xsl:when test="status='1'"><xsl:attribute name="type">delete</xsl:attribute></xsl:when>
							<xsl:otherwise><xsl:attribute name="type">update</xsl:attribute></xsl:otherwise>
						</xsl:choose>
						<Total>
							<Money currency="EUR">
								<!--xsl:value-of select="format-number(sum(bestelopdrachtitem/totaal), '0.00', 'european')"/-->
								<xsl:value-of select="format-number(kosten, '0.00', 'european')"/>
							</Money>
						</Total>
						<ShipTo>
							<xsl:element name="Address">
								<xsl:attribute name="addressID"><xsl:value-of select="bedrijf/overeenkomst_nr"/></xsl:attribute>
								<!--Name xml:lang="NL">UWV(<xsl:value-of select="bestelling/voor/werkplek[myvolgnr='2']/plaats/regio/district/locatie/gebouw/afleveradres/naam"/>)</Name-->
								<Name xml:lang="NL">UWV(<xsl:value-of select="eigenaar/werkplek[myvolgnr='2']/plaats/regio/district/locatie/gebouw/afleveradres/naam"/>)</Name>
								<PostalAddress name="default">
									<DeliverTo>
										<!--xsl:value-of select="bestelling/voor/naam_full"/-->
										<xsl:value-of select="eigenaar/naam_full"/>
									</DeliverTo>
									<!-- Aanname: IEDEREEN heeft een 2-werkplek!!! -->
									<DeliverTo>
										<!--xsl:value-of select="bestelling/voor/werkplek[myvolgnr='2']/plaats/plaatsaanduiding"/-->
										<xsl:value-of select="eigenaar/werkplek[myvolgnr='2']/plaats/plaatsaanduiding"/>
									</DeliverTo>
									<Street>
										<!--xsl:value-of select="bestelling/voor/werkplek[myvolgnr='2']/plaats/regio/district/locatie/gebouw/afleveradres/bezoek_adres"/-->
										<xsl:value-of select="eigenaar/werkplek[myvolgnr='2']/plaats/regio/district/locatie/gebouw/afleveradres/bezoek_adres"/>
									</Street>
									<City>
										<!--xsl:value-of select="bestelling/voor/werkplek[myvolgnr='2']/plaats/regio/district/locatie/gebouw/afleveradres/bezoek_plaats"/-->
										<xsl:value-of select="eigenaar/werkplek[myvolgnr='2']/plaats/regio/district/locatie/gebouw/afleveradres/bezoek_plaats"/>
									</City>
									<State></State>
									<PostalCode>
										<!--xsl:value-of select="bestelling/voor/werkplek[myvolgnr='2']/plaats/regio/district/locatie/gebouw/afleveradres/bezoek_postcode"/-->
										<xsl:value-of select="eigenaar/werkplek[myvolgnr='2']/plaats/regio/district/locatie/gebouw/afleveradres/bezoek_postcode"/>
									</PostalCode>
									<Country isoCountryCode="NL">Netherlands</Country>
								</PostalAddress>
							</xsl:element>
							<Email>
								<!--xsl:value-of select="bestelling/voor/email"/-->
								<xsl:value-of select="eigenaar/email"/>
							</Email>
							<Phone>
								<TelephoneNumber>
									<CountryCode isoCountryCode="NL"/>
									<AreaOrCityCode/>
									<Number>
										<!--xsl:value-of select="bestelling/voor/telefoonnr"/-->
										<xsl:value-of select="eigenaar/telefoonnr"/>
									</Number>
								</TelephoneNumber>
							</Phone>
						</ShipTo>
						<BillTo>
							<xsl:element name="Address">
								<xsl:attribute name="addressID">AMSG3</xsl:attribute>
								<Name xml:lang="NL">UWV</Name>
								<Contactpersoon>
									<!--xsl:value-of select="factuuradres/contactpersoon"/-->
									<xsl:value-of select="//factuuradres/contactpersoon"/>
								</Contactpersoon>
								<Contactpers_telefoon>
									<!--xsl:value-of select="factuuradres/contactpers_telefoon"/-->
									<xsl:value-of select="//factuuradres/contactpers_telefoon"/>
								</Contactpers_telefoon>
								<PostalAddress name="default">
									<Street>
										<!--xsl:value-of select="factuuradres/post_adres"/-->
										<xsl:value-of select="//factuuradres/post_adres"/>
									</Street>
									<City>
										<!--xsl:value-of select="factuuradres/post_plaats"/-->
										<xsl:value-of select="//factuuradres/post_plaats"/>
									</City>
									<State></State>
									<PostalCode>
										<!--xsl:value-of select="factuuradres/post_postcode"/-->
										<xsl:value-of select="//factuuradres/post_postcode"/>
									</PostalCode>
									<Country isoCountryCode="NL">Netherlands</Country>
								</PostalAddress>
							</xsl:element>
						</BillTo>
						<Contact>
							<Name xml:lang="NL">
								<!--xsl:value-of select="bestelling/voor/naam_full"/-->
								<xsl:value-of select="beheerder/naam_full"/>
							</Name>
							<Email>
								<!--xsl:value-of select="bestelling/voor/email"/-->
								<xsl:value-of select="beheerder/email"/>
							</Email>
							<Phone>
								<TelephoneNumber>
									<CountryCode isoCountryCode="NL"/>
									<AreaOrCityCode/>
									<Number>
										<!--xsl:value-of select="bestelling/voor/telefoonnr"/-->
										<xsl:value-of select="beheerder/telefoonnr"/>
									</Number>
								</TelephoneNumber>
							</Phone>
						</Contact>
						<Payment>
							<PCard number="1234567890123456" expiration="1999-03-12"/>
						</Payment>
						<xsl:variable name="laatste_cust19">
							<xsl:for-each select="tracking/track[code='CUST19']/datum/utcdatum">
								<xsl:sort data-type="number" order="descending"/>
								<xsl:if test="position()=1">
									<xsl:value-of select="."/>
								</xsl:if>
							</xsl:for-each>
						</xsl:variable>
						<xsl:variable name="laatste_adreswijziging">
							<xsl:choose>
								<xsl:when test="$laatste_cust19!=''">
									<xsl:value-of select="$laatste_cust19"/>
								</xsl:when>
								<xsl:otherwise>20120101</xsl:otherwise>
							</xsl:choose>
						</xsl:variable>
						<xsl:choose>
							<!-- LET OP: Na stopzetting (per abonnement eenmalig!) kan nog een      -->
							<!-- adreswijziging volgen en deze moet met UpdateReason 'AFLEVERADRES' -->
							<!-- worden verzonden!                                                  -->
							<!-- Na verlenging wordt een nieuw abonnement met hoger versienummer    -->
							<!-- aangemaakt. Vanuit de ABS-import zal dan ook op deze nieuwe versie -->
							<!-- de adreswijziging worden getrackt, ook al vindt deze wijziging nog -->
							<!-- plaats in de laatste 99 dagen van de oudere versie van abonnement! -->
							<!-- Als dezelfde nacht zowel adreswijziging als verlenging/stopzetting -->
							<!-- plaatsvindt, dan moet als UpdateReason 'VERLENGEN' of 'STOPZETTEN' -->
							<!-- worden gehanteerd (en wordt de adreswijziging impliciet verwerkt)! -->
							<xsl:when test="status='0'">
								<xsl:choose>
									<xsl:when test="tracking/track[code='CUST17']!='' and tracking/track[code='CUST17']/datum/utcdatum >= $laatste_adreswijziging">
										<Extrinsic name="UpdateReason">VERLENGEN</Extrinsic>
									</xsl:when>
									<xsl:when test="tracking/track[code='CUST18']!='' and tracking/track[code='CUST18']/datum/utcdatum >= $laatste_adreswijziging">
										<Extrinsic name="UpdateReason">STOPZETTEN</Extrinsic>
									</xsl:when>
									<xsl:when test="tracking/track[code='CUST19']!=''">
										<Extrinsic name="UpdateReason">AFLEVERADRES</Extrinsic>
									</xsl:when>
									<xsl:otherwise/>
								</xsl:choose>
							</xsl:when>
							<xsl:otherwise/>
						</xsl:choose>
						<Extrinsic name="Costcenter">
							<!--xsl:value-of select="bestelling/kostenplaats/nr"/-->
							<xsl:value-of select="kostenplaats/nr"/>
						</Extrinsic>
						<Extrinsic name="OrgBestelbevoegde">
							<!--xsl:value-of select="bestelling/voor/afdeling/naam6"/-->
							<xsl:value-of select="beheerder/afdeling/naam6"/>
						</Extrinsic>
						<Extrinsic name="OrgAbonnee">
							<!--xsl:value-of select="bestelling/voor/afdeling/naam6"/-->
							<xsl:value-of select="eigenaar_afd/naam6"/>
						</Extrinsic>
						<xsl:for-each select="bestelling/kenmerk">
							<xsl:if test="@type!='Q' and @type!='L'">
								<xsl:element name="Extrinsic">
									<xsl:attribute name="name"><xsl:value-of select="@naam"/></xsl:attribute>
									<xsl:value-of select="."/>
								</xsl:element>
							</xsl:if>
						</xsl:for-each>
					</xsl:element>

					<!--xsl:for-each select="bestelopdrachtitem">
						<xsl:sort select="srtdeel/omschrijving"/>
						<xsl:sort select="posnr"/-->

						<xsl:element name="ItemOut">
							<!--xsl:attribute name="quantity"><xsl:value-of select="aantal"/></xsl:attribute-->
							<xsl:attribute name="quantity">1</xsl:attribute>
							<!--xsl:attribute name="lineNumber"><xsl:value-of select="posnr"/></xsl:attribute-->
							<xsl:attribute name="lineNumber">1</xsl:attribute>
							<!--xsl:attribute name="requestedDeliveryDate"><xsl:value-of select="/facilitor/bestelopdracht/bestelling/leverdatum/jaar"/>-<xsl:value-of select="/facilitor/bestelopdracht/bestelling/leverdatum/maand"/>-<xsl:value-of select="/facilitor/bestelopdracht/bestelling/leverdatum/dag"/></xsl:attribute-->
							<xsl:attribute name="requestedDeliveryDate"><xsl:value-of select="looptijd_tot/jaar"/>-<xsl:value-of select="looptijd_tot/maand"/>-<xsl:value-of select="looptijd_tot/dag"/></xsl:attribute>
							<ItemID>
								<SupplierPartID>
									<!--xsl:value-of select="bestelitem/srtdeel/artikel_nummer"/-->
                  <xsl:value-of select="substring-after(document, ': ')"/>
								</SupplierPartID>
							</ItemID>
							<ItemDetail>
								<UnitPrice>
									<Money currency="EUR">
										<!--xsl:value-of select="prijs"/-->
										<xsl:value-of select="kosten"/>
									</Money>
								</UnitPrice>
								<Description xml:lang="NL">
									<!--xsl:value-of select="bestelitem/srtdeel/omschrijving"/-->
									<xsl:value-of select="omschrijving"/>
								</Description>
								<!--UnitOfMeasure>
									<xsl:value-of select="bestelitem/srtdeel/eenheid"/>
								</UnitOfMeasure-->
								<UnitOfMeasure>1</UnitOfMeasure>
								<Classification domain="SPSC">12345</Classification>
								<!--xsl:for-each select="bestelitem/kenmerk">
									<xsl:if test="@type!='Q' and @type!='L'">
										<xsl:element name="Extrinsic">
											<xsl:attribute name="name"><xsl:value-of select="@naam"/></xsl:attribute>
											<xsl:value-of select="."/>
										</xsl:element>
									</xsl:if>
								</xsl:for-each-->
							</ItemDetail>
						</xsl:element>
					<!--/xsl:for-each-->
				</OrderRequest>
			</Request>
		</xsl:element>
	</xsl:template>

	<xsl:template match="facilitor">
		<xsl:apply-templates select="bestelopdracht"/>
		<xsl:apply-templates select="contract"/>
	</xsl:template>

	<xsl:template match="/">
		<xsl:choose>
			<xsl:when test="$mode='getExtension'">
				<xsl:element name="format">
					<xsl:element name="extension">xml</xsl:element>
				</xsl:element>
			</xsl:when>
			<xsl:otherwise>
				<xsl:apply-templates select="facilitor"/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
</xsl:stylesheet>
<!-- Stylus Studio meta-information - (c) 2004-2007. Progress Software Corporation. All rights reserved.
<metaInformation>
<scenarios ><scenario default="yes" name="Scenario1" userelativepaths="yes" externalpreview="no" url="..\..\..\TEMP\UWVA_files\bestelopdr235576_20150112131718.xml" htmlbaseurl="" outputurl="" processortype="internal" useresolver="yes" profilemode="0" profiledepth="" profilelength="" urlprofilexml="" commandline="" additionalpath="" additionalclasspath="" postprocessortype="none" postprocesscommandline="" postprocessadditionalpath="" postprocessgeneratedext="" validateoutput="no" validator="internal" customvalidator=""/></scenarios><MapperMetaTag><MapperInfo srcSchemaPathIsRelative="yes" srcSchemaInterpretAsXML="no" destSchemaPath="" destSchemaRoot="" destSchemaPathIsRelative="yes" destSchemaInterpretAsXML="no"/><MapperBlockPosition></MapperBlockPosition><TemplateContext></TemplateContext><MapperFilter side="source"></MapperFilter></MapperMetaTag>
</metaInformation>
-->