Files
Facilitor/CUST/KFSG/xsl/cxml_xerox.xsl
Maarten van der Heide 368bd2d40a KFSG#54266 Xerox-koppeling(en)
svn path=/Website/branches/v2018.2/; revision=41457
2019-03-11 14:05:59 +00:00

146 lines
6.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="utf-8"/>
<xsl:variable name="Rev">
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
</xsl:variable>
<xsl:decimal-format name="european" decimal-separator="." grouping-separator=","/>
<xsl:param name="mode"/>
<xsl:template name="substring-after-last">
<xsl:param name="string"/>
<xsl:param name="delimiter"/>
<xsl:choose>
<xsl:when test="contains($string, $delimiter)">
<xsl:call-template name="substring-after-last">
<xsl:with-param name="string" select="substring-after ($string, $delimiter)"/>
<xsl:with-param name="delimiter" select="$delimiter"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise><xsl:value-of select="$string"/></xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="bestelopdracht">
<!--Facilitor custom XSL template for cXML bestelopdracht-->
<xsl:element name="cXML">
<xsl:attribute name="version">1.2.016</xsl:attribute>
<xsl:attribute name="payloadID"><xsl:value-of select="key"/></xsl:attribute>
<xsl:attribute name="timestamp"><xsl:value-of select="datum/jaar"/>-<xsl:value-of select="datum/maand"/>-<xsl:value-of select="datum/dag"/>T<xsl:value-of select="datum/tijd"/>:00+01:00</xsl:attribute>
<xsl:attribute name="xml:lang">NL</xsl:attribute>
<Header>
<From>
<xsl:element name="Credential">
<xsl:attribute name="domain"><xsl:value-of select="/facilitor/header/custId"/></xsl:attribute>
<Identity><xsl:value-of select='bedrijf/overeenkomst_nr'/></Identity>
</xsl:element>
</From>
<To>
<xsl:element name="Credential">
<xsl:attribute name="domain"><xsl:value-of select="bedrijf/naam"/></xsl:attribute>
<Identity/>
</xsl:element>
</To>
<Sender>
<Credential domain="Facilitor">
<Identity/>
</Credential>
<UserAgent/>
</Sender>
</Header>
<Request>
<OrderRequest>
<!--xsl:variable name="aanvraag"><xsl:value-of select="concat('000000', bestelling/key)"/></xsl:variable-->
<xsl:element name="OrderRequestHeader">
<xsl:attribute name="orderID"><xsl:value-of select="id"/></xsl:attribute>
<xsl:attribute name="orderDate"><xsl:value-of select="datum/jaar"/>-<xsl:value-of select="datum/maand"/>-<xsl:value-of select="datum/dag"/></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:attribute>
<Name xml:lang="NL">Schiphol (<xsl:value-of select="afleveradres/naam"/>)</Name>
<PostalAddress>
<DeliverTo><xsl:value-of select="bestelling/voor/naam_full"/></DeliverTo>
<Street><xsl:value-of select="afleveradres/bezoek_adres"/></Street>
<City><xsl:value-of select="afleveradres/bezoek_plaats"/></City>
<State></State>
<PostalCode><xsl:value-of select="afleveradres/bezoek_postcode"/></PostalCode>
<Country isoCountryCode="NL"><xsl:value-of select="afleveradres/bezoek_land"/></Country>
</PostalAddress>
</xsl:element>
</ShipTo>
<BillTo>
<xsl:element name="Address">
<xsl:attribute name="addressID"><xsl:value-of select="bedrijf/overeenkomst_nr"/></xsl:attribute>
<!--Name xml:lang="NL">SVRZ Concern-administratie</Name>
<PostalAddress>
<Street>Postbus 100</Street>
<City>Middelburg</City>
<State></State>
<PostalCode>4330 AC</PostalCode>
<Country isoCountryCode="NL">NL</Country>
</PostalAddress-->
<Name xml:lang="NL"><xsl:value-of select="factuuradres/naam"/></Name>
<PostalAddress>
<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"><xsl:value-of select="factuuradres/post_land"/></Country>
</PostalAddress>
</xsl:element>
</BillTo>
<Contact>
<Name xml:lang="NL"><xsl:value-of select="bestelling/voor/naam_full"/></Name>
<Email><xsl:value-of select="bestelling/voor/email"/></Email>
</Contact>
<Extrinsic name="CartID"><xsl:value-of select="bestelopdrachtitem/bestelitem/srtdeel/opmerking"/></Extrinsic>
</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="../bestelling/leverdatum/jaar"/>-<xsl:value-of select="../bestelling/leverdatum/maand"/>-<xsl:value-of select="../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="format-number(prijs, '0.00', 'european')"/></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=""/>
</ItemDetail>
</xsl:element>
</xsl:for-each>
</OrderRequest>
</Request>
</xsl:element>
</xsl:template>
<xsl:template match="facilitor">
<xsl:apply-templates select="bestelopdracht"/>
</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>