MARX#37442: ETIM standaard: Technisch adres KOVRA-soap koppeling herconfigureren
svn path=/Website/trunk/; revision=30896
This commit is contained in:
@@ -0,0 +1,379 @@
|
||||
<?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"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 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 -->
|
||||
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:template match="opdracht">
|
||||
<etim xmlns="">
|
||||
<header>
|
||||
<etim_UserId><xsl:value-of select="uitvoerende/bedrijf/bedrijfadres/username"/></etim_UserId>
|
||||
<etim_Password><xsl:value-of select="uitvoerende/bedrijf/bedrijfadres/password"/></etim_Password>
|
||||
<etim_MsgDateTime><xsl:value-of select="//header/dateYear"/>-<xsl:value-of select="//header/dateMonth"/>-<xsl:value-of select="//header/dateDay"/>T<xsl:value-of select="substring-after(//header/dateTime,' ')"/></etim_MsgDateTime>
|
||||
<etim_VersionId><xsl:value-of select="//header/version"/></etim_VersionId>
|
||||
</header>
|
||||
<!-- SIDB Onderhoudsopdracht 'insbou' Variant 'Basismodel010' versie 001 (releasedatum 11-2015) -->
|
||||
<MaintenanceInstruction xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.gs1.nl/onderhoudsopdracht/insbou/001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gs1.nl/onderhoudsopdracht/insbou/001 Onderhoudsopdracht_insbou001.xsd">
|
||||
<!-- SIDB description - Nummer ter identificatie van een bericht. Mandatory, (C17) -->
|
||||
<!-- Voorbeeldformaat: MAR24/1@dd-mm-jjjj hh:mm:ss -->
|
||||
<MessageNumber><xsl:value-of select="key"/>@<xsl:value-of select="substring(//header/dateYear,3,2)"/><xsl:value-of select="//header/dateMonth"/><xsl:value-of select="//header/dateDay"/></MessageNumber>
|
||||
<!-- SIDB - Datum waarop een bericht is aangemaakt. Mandatory, formaat CCYY-MM-DD -->
|
||||
<MessageDate><xsl:value-of select="//header/dateYear"/>-<xsl:value-of select="//header/dateMonth"/>-<xsl:value-of select="//header/dateDay"/></MessageDate>
|
||||
<!-- SIDB description - Tijdstip waarop het bericht is aangemaakt. Optional, formaat hhmm -->
|
||||
<MessageTime><xsl:value-of select="substring-after(//header/dateTime,' ')"/></MessageTime>
|
||||
<!-- SIDB - Partij die de opdracht geeft, Mandatory node -->
|
||||
<Buyer>
|
||||
<!-- SIDB - Global Location Number (GLN), een wereldwijd uniek nummer ter identificatie van een partij of lokatie. Optioneel!?!?!? N(13) -->
|
||||
<GLN><xsl:apply-templates select="melding/voor/afdeling/bedrijf/leverancier_nr"/></GLN>
|
||||
<!-- SIDB - Tekstveld met de naam van de partij of lokatie. Optioneel, C(50) -->
|
||||
<Name><xsl:value-of select="melding/voor/afdeling/bedrijf/naam"/></Name>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de partij of lokatie. Optioneel, C(35) -->
|
||||
<StreetAndNumber><xsl:value-of select="melding/voor/afdeling/bedrijf/bezoek_adres"/></StreetAndNumber>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de partij of lokatie. Optioneel, C(35) -->
|
||||
<City><xsl:value-of select="melding/voor/afdeling/bedrijf/bezoek_plaats"/></City>
|
||||
<!-- SIDB - Tekstveld met de postcode van het adres van een partij of lokatie. Optioneel, C(9) -->
|
||||
<PostalCode><xsl:value-of select="melding/voor/afdeling/bedrijf/bezoek_postcode"/></PostalCode>
|
||||
<!-- SIDB - Code van het land van het adres van de partij of lokatie. Optioneel, C(2) -->
|
||||
<!-- <Country></Country> -->
|
||||
<!-- SIDB - Gegevens over een afdeling of persoon van de partij waarmee contact kan worden opgenomen via telefoon, fax of email. Optioneel -->
|
||||
<ContactInformation>
|
||||
<!-- SIDB - Tekstveld met de naam van een persoon waarmee contact kan worden opgenomen. Optioneel, C(35) -->
|
||||
<ContactPersonName>
|
||||
<xsl:choose>
|
||||
<xsl:when test="kenmerk[@key=13] != ''"><xsl:value-of select="kenmerk[@key=13]"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="melding/voor/afdeling/bedrijf/contact_persoon"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</ContactPersonName>
|
||||
<!-- SIDB - Nummer waarmee via de telefoon contact kan worden opgenomen. Optioneel, C(20) -->
|
||||
<PhoneNumber><xsl:value-of select="melding/voor/afdeling/bedrijf/contact_telefoon"/></PhoneNumber>
|
||||
<!-- SIDB - Tekstveld met het elektronische adres waarmee via e-mail contact kan worden opgenomen. Optioneel, C(254) -->
|
||||
<EmailAddress><xsl:value-of select="melding/voor/afdeling/bedrijf/email"/></EmailAddress>
|
||||
</ContactInformation>
|
||||
</Buyer>
|
||||
<!-- SIDB - Partij die onderdeel is van de opdrachtgever maar elders is gevestigd, Optionele node -->
|
||||
<!-- Onbekend en daarmee nu niet relevant, laten we dus leeg -->
|
||||
<!-- <Affiliate></Affiliate> -->
|
||||
<!-- SIDB - Aannemer, Partij die opdracht gaat uitvoeren. Mandatory -->
|
||||
<Contractor>
|
||||
<!-- SIDB - Global Location Number (GLN), een wereldwijd uniek nummer ter identificatie van een partij of lokatie (hier de aannemer). Optioneel!?!?!? N(13) -->
|
||||
<GLN><xsl:apply-templates select="uitvoerende/bedrijf/leverancier_nr"/></GLN>
|
||||
<!-- SIDB - Tekstveld met de naam van de partij of lokatie. Optioneel, C(50) -->
|
||||
<Name><xsl:value-of select="uitvoerende/bedrijf/naam"/></Name>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de partij of lokatie. Optioneel, C(35) -->
|
||||
<StreetAndNumber><xsl:value-of select="uitvoerende/bedrijf/bezoek_adres"/></StreetAndNumber>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de partij of lokatie. Optioneel, C(35) -->
|
||||
<City><xsl:value-of select="uitvoerende/bedrijf/bezoek_plaats"/></City>
|
||||
<!-- SIDB - Tekstveld met de postcode van het adres van een partij of lokatie. Optioneel, C(9) -->
|
||||
<PostalCode><xsl:value-of select="uitvoerende/bedrijf/bezoek_postcode"/></PostalCode>
|
||||
<!-- SIDB - Code van het land van het adres van de partij of lokatie. Optioneel, C(2) -->
|
||||
<!-- <Country></Country> -->
|
||||
</Contractor>
|
||||
<!-- SIDB - Niveau in het bericht waar de opdrachten worden gespecificeerd. Mandatory-->
|
||||
<InstructionData>
|
||||
<!-- SIDB - Nummer ter identificatie van een opdracht binnen een bericht. Mandatory, C(17)-->
|
||||
<!-- Intern opdrachtnummer vanuit Broker/koppelsysteem (= Mareon), toegekend door de zender van het bericht, ontvanger vermeldt dit nummer op pakbon en/of factuur. Verplicht, C(17)-->
|
||||
<!-- Bedoeld voor system-2-system communicatie -->
|
||||
<InstructionNumber><xsl:value-of select="melding/stdmelding/discipline/srtdiscipline/prefix"/><xsl:value-of select="melding/key"/>/<xsl:value-of select="bedrijfopdr_volgnr"/></InstructionNumber>
|
||||
<!-- SIDB - Extra nummer ter verdere identificatie van een opdracht of opdrachtonderdeel. Optioneel, C(17)-->
|
||||
<!-- Hier wordt het opdrachtnummer van Tobias (123456.1) of TobiasAX (IOR12345) neergezet. -->
|
||||
<InstructionSubNumber><xsl:value-of select="opdr_id"/></InstructionSubNumber>
|
||||
<!-- FSN#31496: Meldingnummer erbij (voor plannen Plegt-Vos) -->
|
||||
<!-- Meldingnummer in het bronsysteem, toegekend door de zender van het bronbericht, ontvanger zou bij InstructionNumber kunnen relateren aan dit InstructionSubNumber -->
|
||||
<!-- 1 Meldingnummer kan 'n' OrderNumbers hebben, vanaf de 2e order bij een call kan ontvanger ervoor kiezen om dit te koppelen aan planning, beter gezegd geen expliciet planning -->
|
||||
<!-- Oftewel shortcut in proces: indien de 1e opdracht al is ingepland bij handyman 'X', dan kan in de systeemkoppeling ervoor worden gekozen om de 2e opdracht bij hetzelfde meldingnummer op dezelfde datum/dezelfde handyman in te plannen -->
|
||||
<!-- Hiervoor bestaat (nog!) geen SidB node-->
|
||||
<!-- TIP: voorlopig kan het MAR-nummer (voor de slash) als meldingnummer worden hanteert, deze volstaat ook als kapstok voor meldingnummer -->
|
||||
<!-- <InstructionSubNumber><xsl:value-of select="melding/externnr"/></InstructionSubNumber> -->
|
||||
<!-- SIDB - Code waarmee de opdracht nader wordt gespecificeerd. Codes zijn 500, 501, 505 en 506. Optioneel, C(3)-->
|
||||
<!-- Onbekend, hier niet ingevuld-->
|
||||
|
||||
<!-- <InstructionType></InstructionType> -->
|
||||
<!-- SIDB - Datum waarop de opdracht is gegeven (aangemaakt). Optioneel, CCYYMMDD -->
|
||||
<InstructionDate><xsl:value-of select="datumbegin/jaar"/>-<xsl:value-of select="datumbegin/maand"/>-<xsl:value-of select="datumbegin/dag"/></InstructionDate>
|
||||
<!-- SIDB - Tijd waarop de opdracht is gegeven (aangemaakt). Optioneel, hh:mm:ss -->
|
||||
<InstructionTime><xsl:value-of select="datumbegin/tijd"/>:00</InstructionTime>
|
||||
<!-- SIDB - Tekstveld met de inhoud van aanvullende informatie. Optioneel, C(70) -->
|
||||
<!-- Zie MARX#37078: Opdrachtomschrijving ook in de node in InstructionData/FreeText -->
|
||||
<FreeText>
|
||||
<xsl:choose>
|
||||
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="kenmerk[@key='12']"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="omschrijving"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</FreeText>
|
||||
<!-- SIDB - Gegevens waarmee gerefereerd wordt aan een contract. Optioneel -->
|
||||
<ContractReference></ContractReference>
|
||||
<!-- SIDB - Gegevens over de te onderhouden locatie. Optioneel!?!?!? -->
|
||||
<MaintenanceLocation>
|
||||
<!-- SIDB - Uniek nummer ter identificatie van een woningcorporatie complex. Optioneel, C(17) -->
|
||||
<!-- <ComplexNumber></ComplexNumber> -->
|
||||
<!-- SIDB - Uniek nummer ter identificatie van een pand. Optioneel, C(17) -->
|
||||
<PremisesNumber><xsl:value-of select="kenmerk[@key='15']"/></PremisesNumber>
|
||||
<!-- SIDB - Uniek nummer ter identificatie van een vastgoedeenheid. Optioneel, C(17) -->
|
||||
<RealEstateUnitNumber><xsl:value-of select="kenmerk[@key='16']"/></RealEstateUnitNumber>
|
||||
<!-- SIDB - Tekstvelden met straatnaam en huisnummer van het adres van de lokatie. Mandatory, C(35) -->
|
||||
<!-- Melding kenmerk key 9 is straatnaam -->
|
||||
<Street><xsl:value-of select="melding/kenmerk[@key='9']"/></Street>
|
||||
<!-- Melding kenmerk key 10 is huisnummer, hierin zit ook eventueel de toevoeging-->
|
||||
<HouseNumber><xsl:value-of select="melding/kenmerk[@key='10']"/></HouseNumber>
|
||||
<!-- SIDB - Tekstvelden met Postcode van de lokatie. Mandatory, C(9) -->
|
||||
<!-- Melding kenmerk key 3 is postcode -->
|
||||
<PostalCode><xsl:value-of select="melding/kenmerk[@key='3']"/></PostalCode>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de lokatie. Mandatory, C(35) -->
|
||||
<!-- Melding kenmerk key 4 is plaatsnaam -->
|
||||
<City><xsl:value-of select="melding/kenmerk[@key='4']"/></City>
|
||||
<!-- SIDB - Tekstveld met de naam van de huismeester of huurder die de onderhoudsmelding heeft gedaan. Optioneel, C(35) -->
|
||||
<!-- Melding kenmerk key 1 is huurder -->
|
||||
<ContactPersonName><xsl:value-of select="melding/kenmerk[@key='1']"/></ContactPersonName>
|
||||
<!-- SIDB - Nummer waarmee via de telefoon contact kan worden opgenomen. Optioneel, C(20) -->
|
||||
<!-- Melding kenmerk key 5 is telefoon van huurder -->
|
||||
<PhoneNumber1><xsl:value-of select="melding/kenmerk[@key='5']"/></PhoneNumber1>
|
||||
<!-- SIDB - Nummer waarmee via de 2e telefoon contact kan worden opgenomen. Optioneel, C(20) -->
|
||||
<!-- Melding kenmerk key 8 is mobielnummer van huurder -->
|
||||
<PhoneNumber2><xsl:value-of select="melding/kenmerk[@key='8']"/></PhoneNumber2>
|
||||
<!--
|
||||
<EmailAddress1></EmailAddress1>
|
||||
<EmailAddress2></EmailAddress2>
|
||||
-->
|
||||
</MaintenanceLocation>
|
||||
<!-- SIDB - Gegevens over de datum, tijd of periode van levering van onderhoud. -->
|
||||
<AppointmentDateTimeInformation>
|
||||
<!-- Datum waarop de opdracht uitgevoerd moet worden, Optioneel, formaat CCYYMMDD -->
|
||||
<!-- <RequiredDeliveryDate></RequiredDeliveryDate> -->
|
||||
<!-- Tijdstip waarop de opdracht uitgevoerd moet worden, Optioneel, formaat hhmm -->
|
||||
<!-- <RequiredDeliveryTime></RequiredDeliveryTime> -->
|
||||
<!-- Levertijdvak, gegevens over periode waarbinnen opdracht uitgevoerd/geleverd kan worden, Optioneel -->
|
||||
<DeliveryTimeFrame>
|
||||
<!-- SIDB - Datum vanaf wanneer het onderhoud geleverd kan worden. Mandatory, formaat CCYYMMDD -->
|
||||
<DeliveryDateEarliest><xsl:value-of select="datumbegin/jaar"/>-<xsl:value-of select="datumbegin/maand"/>-<xsl:value-of select="datumbegin/dag"/></DeliveryDateEarliest>
|
||||
<!-- Tijdstip op de vroegste leverdatum vanaf wanneer het onderhoud geleverd kan worden. Optioneel, formaat hhmm -->
|
||||
<!-- <DeliveryTimeEarliest></DeliveryTimeEarliest> -->
|
||||
<!-- SIDB - Datum tot en met wanneer het onderhoud geleverd kan worden. Mandatory, formaat CCYYMMDD -->
|
||||
<DeliveryDateLatest><xsl:value-of select="einddatum/jaar"/>-<xsl:value-of select="einddatum/maand"/>-<xsl:value-of select="einddatum/dag"/></DeliveryDateLatest>
|
||||
<!-- SIDB - Tijdstip op de laatste leverdatum tot wanneer het onderhoud geleverd kan worden. Optioneel, formaat hhmm -->
|
||||
<!-- <DeliveryTimeLatest></DeliveryTimeLatest> -->
|
||||
</DeliveryTimeFrame>
|
||||
</AppointmentDateTimeInformation>
|
||||
<!-- SIDB - Niveau in het bericht waar de onderhoudsdetails worden gespecificeerd, Optioneel -->
|
||||
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="count(materialen) > 0">
|
||||
<!-- Mareon opdracht MET materiaalregels, die gaan we stuk voor stuk langs (Mareon AX-opdrachten voor MARX07) -->
|
||||
<xsl:for-each select="materialen">
|
||||
<InstructionLine>
|
||||
<xsl:call-template name="construct_instructionlines">
|
||||
<xsl:with-param name="p_LineNumber" select="position()"/>
|
||||
<xsl:with-param name="p_Quantity" select="aantal"/>
|
||||
<xsl:with-param name="p_MeasurementUnitQuantity" select="eenheidcode"/>
|
||||
<xsl:with-param name="p_NormPriceCode" select="''"/>
|
||||
<xsl:with-param name="p_Area" select="melding/kenmerk[@key='6']"/>
|
||||
<xsl:with-param name="p_ShortDescription" select="substring(normalize-space(omschrijving),1,35)"/>
|
||||
<xsl:with-param name="p_LongDescription" select="info"/>
|
||||
<xsl:with-param name="p_FreeText" select="extra3"/>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="construct_instruction_pricelines">
|
||||
<xsl:with-param name="p_price" select="stuksprijs"/>
|
||||
<xsl:with-param name="p_taxperc" select="btwpercentage"/>
|
||||
</xsl:call-template>
|
||||
</InstructionLine>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!-- Mareon opdracht ZONDER materiaalregels, dan gaan we zelf 1 instructie-regel maken (AX-opdrachten tot MARX07 en Tobias-oud koppeling) -->
|
||||
<InstructionLine>
|
||||
<xsl:call-template name="construct_instructionlines">
|
||||
<xsl:with-param name="p_LineNumber" select="'1'"/>
|
||||
<xsl:with-param name="p_Quantity" select="'1'"/>
|
||||
<xsl:with-param name="p_MeasurementUnitQuantity" select="'PCE'"/>
|
||||
<xsl:with-param name="p_NormPriceCode" select="''"/>
|
||||
<xsl:with-param name="p_Area" select="melding/kenmerk[@key='6']"/>
|
||||
<xsl:with-param name="p_ShortDescription" select="substring(normalize-space(omschrijving),1,35)"/>
|
||||
<xsl:with-param name="p_LongDescription">
|
||||
<!-- als memo veld (key 12) is gevuld, dan gaan we die tonen, anders de opdrachtomschrijving (waar de memo ook in zit, dit is alleen bij oude opdrachten van voor release MARX07 -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="kenmerk[@key=12]"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="omschrijving"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="p_FreeText" select="''"/>
|
||||
</xsl:call-template>
|
||||
</InstructionLine>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</InstructionData>
|
||||
</MaintenanceInstruction>
|
||||
</etim>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="leverancier_nr">
|
||||
<!-- Lengte check: moet exact 13 tekens zijn. Indien anders, dan niet meesturen -->
|
||||
<xsl:if test="string-length(.) = 13">
|
||||
<xsl:value-of select="."/>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="construct_instructionlines" xmlns="http://www.gs1.nl/onderhoudsopdracht/insbou/001">
|
||||
<xsl:param name="p_LineNumber"/>
|
||||
<xsl:param name="p_Quantity"/>
|
||||
<xsl:param name="p_MeasurementUnitQuantity"/>
|
||||
<xsl:param name="p_NormPriceCode"/>
|
||||
<xsl:param name="p_Area"/>
|
||||
<xsl:param name="p_ShortDescription"/>
|
||||
<xsl:param name="p_LongDescription"/>
|
||||
<xsl:param name="p_FreeText"/>
|
||||
|
||||
|
||||
<!-- SIDB - Regelnummer ter identificatie van een regel. Mandatory, N(6) -->
|
||||
<!-- Er is - tot nu toe - altijd 1 regelnummer binnen de opdracht, standaard dus 1 -->
|
||||
<LineNumber><xsl:value-of select="$p_LineNumber"/></LineNumber>
|
||||
<!-- SIDB - Het aantal eenheden van werk geidentificeerd door de normprijscode. Mandatory, N(15) -->
|
||||
<Quantity><xsl:value-of select="$p_Quantity"/></Quantity>
|
||||
<!-- SIDB - Code van de meeteenheid waarin het aantal is uitgedrukt. Mandatory, C(3) -->
|
||||
<MeasurementUnitQuantity><xsl:value-of select="$p_MeasurementUnitQuantity"/></MeasurementUnitQuantity>
|
||||
<!-- SIDB - Code waarmee het uit te voeren werk wordt aangegeven. Mandatory, C(17) -->
|
||||
<!-- Zie call FSN#34901 voor de (on)zin van dit veld -->
|
||||
<NormPriceCode><xsl:value-of select="$p_NormPriceCode"/></NormPriceCode>
|
||||
<!-- SIDB: Tekstveld met de beschrijving van de ruimte waar het onderhoud moet plaats vinden, Optioneel, C(35). -->
|
||||
<!-- Melding kenmerk key 6 is objectomschrijving uit Tobias, hier maar voorlopig in gebruiken aan gebrek aan beter -->
|
||||
<Area><xsl:value-of select="$p_Area"/></Area>
|
||||
<!-- SIDB - Tekstveld met een korte nadere specificatie van de het werk geidentificeerd door de normprijscode. Optioneel, C(35) -->
|
||||
<ShortDescription><xsl:value-of select="$p_ShortDescription"/></ShortDescription>
|
||||
<!-- SIDB - Tekstveld met een lange nadere specificatie van de het werk geidentificeerd door de normprijscode.. Optioneel, C(70) -->
|
||||
<LongDescription><xsl:value-of select="$p_LongDescription"/></LongDescription>
|
||||
<!-- SIDB - Voor de rest optioneel, onderstaande gegevens nog niet bekend via Mareon -->
|
||||
<FreeText><xsl:value-of select="$p_FreeText"/></FreeText>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="construct_instruction_pricelines" xmlns="http://www.gs1.nl/onderhoudsopdracht/insbou/001">
|
||||
<xsl:param name="p_price"/>
|
||||
<xsl:param name="p_taxperc"/>
|
||||
<PriceInformation>
|
||||
<Price><xsl:value-of select="$p_price"/></Price>
|
||||
</PriceInformation>
|
||||
<VATInformation>
|
||||
<VATRate></VATRate>
|
||||
<VATPercentage><xsl:value-of select="$p_taxperc"/></VATPercentage>
|
||||
</VATInformation>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="SOAPEnvelope">
|
||||
<soap:Envelope xmlns:msxml="urn:schemas-microsoft-com:xslt" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://etim.nl/xmlschemas/messageservice/2.40">
|
||||
<soap:Header>
|
||||
<ns:CustomInfo>
|
||||
<ns:IsTestMessage>false</ns:IsTestMessage>
|
||||
<!--Optional:-->
|
||||
<ns:LanguageCode>NL</ns:LanguageCode>
|
||||
<ns:IsContentCompressed>false</ns:IsContentCompressed>
|
||||
</ns:CustomInfo>
|
||||
<ns:AuthenticationInfo>
|
||||
<ns:ApplicationId>Mareon</ns:ApplicationId>
|
||||
<ns:VersionId><xsl:apply-templates select="etim/header/etim_VersionId"/></ns:VersionId>
|
||||
<ns:RelationId></ns:RelationId>
|
||||
<ns:UserId><xsl:apply-templates select="etim/header/etim_UserId"/></ns:UserId>
|
||||
<ns:Password><xsl:apply-templates select="etim/header/etim_Password"/></ns:Password>
|
||||
<!--Optional:-->
|
||||
<ns:SessionId></ns:SessionId>
|
||||
</ns:AuthenticationInfo>
|
||||
</soap:Header>
|
||||
<soap:Body>
|
||||
<ns:PostMessageRequest>
|
||||
<ns:MessageServiceMessage>
|
||||
<ns:MsgId>1</ns:MsgId>
|
||||
<ns:MsgType>ORDERS</ns:MsgType>
|
||||
<ns:MsgFormat>SALES</ns:MsgFormat>
|
||||
<ns:MsgVersion>001</ns:MsgVersion>
|
||||
<ns:MsgDateTime><xsl:apply-templates select="etim/header/etim_MsgDateTime"/></ns:MsgDateTime>
|
||||
<!--Zero or more repetitions:-->
|
||||
<ns:Attachment>
|
||||
<ns:URL></ns:URL>
|
||||
<!--Optional:-->
|
||||
<ns:DocumentType></ns:DocumentType>
|
||||
<!--Optional:-->
|
||||
<ns:FileType></ns:FileType>
|
||||
<!--Optional:-->
|
||||
<ns:FileName></ns:FileName>
|
||||
<ns:AttachedData></ns:AttachedData>
|
||||
</ns:Attachment>
|
||||
<!--Zero or more repetitions:-->
|
||||
<ns:MsgContent>
|
||||
<!--You may enter ANY elements at this point-->
|
||||
<xsl:apply-templates select="etim"/>
|
||||
<!-- <![CDATA[<xsl:copy-of select="./node()"/>]]> -->
|
||||
</ns:MsgContent>
|
||||
</ns:MessageServiceMessage>
|
||||
</ns:PostMessageRequest>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="etim">
|
||||
<xsl:for-each select="*">
|
||||
<xsl:if test="name() = 'MaintenanceInstruction'">
|
||||
<xsl:copy-of select="."/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Uitpakken SOAP envelope -->
|
||||
<xsl:template match="soap:Envelope">
|
||||
<soapResult>
|
||||
<xsl:copy-of select="soap:Body/node()"/>
|
||||
</soapResult>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Decoderen XML response -->
|
||||
<xsl:template match="soapResult">
|
||||
<Result>
|
||||
<xsl:choose>
|
||||
<xsl:when test="PostMessageResponse/PostMessageResult = 'true'"></xsl:when>
|
||||
<xsl:otherwise>
|
||||
Foutmelding: <xsl:value-of select="PostMessageResponse/MessageServiceMessage"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</Result>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="facilitor">
|
||||
<xsl:apply-templates select="opdracht"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='getExtension'">
|
||||
<xsl:element name="format">
|
||||
<xsl:element name="extension">cxml</xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!-- door SendFile.cls gebruikt voor maken 'bon' (XML die via SOAP verstuurd wordt) -->
|
||||
<xsl:apply-templates select="facilitor"/>
|
||||
<!-- door SendSOAP.cls gebruikt voor inpakken van 'bon' in SOAP envelope
|
||||
SOAPEnvelope is een harde tag die in PutOrders gedefinieerd wordt. -->
|
||||
<xsl:apply-templates select="SOAPEnvelope"/>
|
||||
<!-- door SendSOAP.cls gebruikt voor uitpakken van response uit SOAP envelope -->
|
||||
<xsl:apply-templates select="soap:Envelope"/>
|
||||
<!-- door SendSOAP.cls gebruikt voor uitpakken van de inhoud uit het bericht -->
|
||||
<xsl:apply-templates select="soapResult"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
Reference in New Issue
Block a user