Arithmetic grouping in XSL

I want to perform a simple calulation using three fields in an XML document. I want to add two fields and then divide their sum by a third. SO I want to force the order of operations to be (field1 + field2) / field3. Fianlly I want to format the result.
This expression
<xsl:value-of select='format-number(field 1 + field 2 div field3, "##.0000")'/>
performs the division first and then adds field1. I don't know how to force priority of the addition operation !
Can you help me ?
Thanks !!

I want to perform a simple calulation using three
fields in an XML document. I want to add two fields
and then divide their sum by a third. SO I want to
force the order of operations to be (field1 + field2)
/ field3. Fianlly I want to format the result.
This expression
<xsl:value-of select='format-number(field 1 + field 2
div field3, "##.0000")'/>
performs the division first and then adds field1. I
don't know how to force priority of the addition
operation !
Can you help me ?
Thanks !!
<xsl:value-of select='format-number((field1 + field2) div  field3, "##.0000")'/>

Similar Messages

  • How to do Grouping of Workbooks using XSL in Discoverer Viewer?

    Hello Discoverer Experts,
    My question is related to grouping of workbook names using XSL in Discoverer Viewer. This is a sample xml data file which contains 6 workbooks.
    <eul>
         <workbooks>
              <workbook>
                   <wb_name>Purchasing Workbook 1</wb_name>
                   <worksheets>
                        <worksheet>
                             <ws_name>A</ws_name>
                        </worksheet>
                        <worksheet>
                             <ws_name>B</ws_name>
                        </worksheet>
                   </worksheets>
              </workbook>
              <workbook>
                   <wb_name>Purchasing Workbook 2</wb_name>
                   <worksheets>
                        <worksheet>
                             <ws_name>C</ws_name>
                        </worksheet>
                        <worksheet>
                             <ws_name>D</ws_name>
                        </worksheet>
                   </worksheets>
              </workbook>
              <workbook>
                   <wb_name>Manufacturing Workbook 1</wb_name>
                   <worksheets>
                        <worksheet>
                             <ws_name>E</ws_name>
                        </worksheet>
                        <worksheet>
                             <ws_name>F</ws_name>
                        </worksheet>
                   </worksheets>
              </workbook>
              <workbook>
                   <wb_name>Manufacturing Workbook 2</wb_name>
                   <worksheets>
                        <worksheet>
                             <ws_name>G</ws_name>
                        </worksheet>
                        <worksheet>
                             <ws_name>H</ws_name>
                        </worksheet>
                   </worksheets>
              </workbook>
              <workbook>
                   <wb_name>CEO Workbook 1</wb_name>
                   <worksheets>
                        <worksheet>
                             <ws_name>I</ws_name>
                        </worksheet>
                        <worksheet>
                             <ws_name>J</ws_name>
                        </worksheet>
                   </worksheets>
              </workbook>
              <workbook>
                   <wb_name>CEO Workbook 2</wb_name>
                   <worksheets>
                        <worksheet>
                             <ws_name>K</ws_name>
                        </worksheet>
                        <worksheet>
                             <ws_name>L</ws_name>
                        </worksheet>
                   </worksheets>
              </workbook>
         </workbooks>
    </eul>
    The XSL is generating a List of Workbooks in <table> by using <xsl:for-each select="eul/workbooks/workbook">
    <table>
    <tr><td>Purchasing Workbook 1</td></tr>
    <tr><td>Purchasing Workbook 2</td></tr>
    <tr><td>Manufacturing Workbook 1</td></tr>
    <tr><td>Manufacturing Workbook 2</td></tr>
    <tr><td>CEO Workbook 1</td></tr>
    <tr><td>CEO Workbook 2</td></tr>
    </table>
    Now my question is:
    1. The client want to see this report in Groups i.e
    <table>
    <tr><th>Group Name: Purchasing</th></tr>
    <tr><td>Purchasing Workbook 1</td></tr>
    <tr><td>Purchasing Workbook 2</td></tr>
    </table>
    <table>
    <tr><th>Group Name: Manufacturing</th></tr>
    <tr><td>Manufacturing Workbook 1</td></tr>
    <tr><td>Manufacturing Workbook 2</td></tr>
    </table>
    <table>
    <tr><th>Group Name: CEO</th></tr>
    <tr><td>CEO Workbook 1</td></tr>
    <tr><td>CEO Workbook 2</td></tr>
    </table>
    How can I achieve this grouping using XSL ? Has anybody tried customizing the XSL file to achieve grouping of workbooks by name?
    Any help is highly appreciated.
    Thanks in advance.
    Warm Regards,
    Pranav Desai

    Hi Friends..
    This is not the reply.
    I have also some question..
    Some related topic I found on this.
    That's why I am posting the same question here also..
    Dear friends..
    I need help to customize our discoverer viewer.
    We are creating work sheets in arial font size 8.
    But, when it's viewing through discoverer viewer it's coming big size.
    If we saw the source code by right click, it's taking some style sheets where
    the font size is mentioned as 8. not 8px.
    How I can modify the work sheets in viewer.
    Exactly which tag I should modify for this.
    And the other thing is the heading section is coming something as
    jung.
    Like this...
    &nb12.09.52 PM 27-OCT-02; 27-OCT-02 &n12.09.52 PM12.09.52 PM
    From: 01-JAN-2002 To: 30-DEC-2002o Page :1 / 1
    How we will correct this ?
    Please reply me as the earliest.
    With Thanks & Regards,
    Sheeja
    [email protected]

  • Split the incoming data into multiple grouped output records

    I have three fields in the source, Student ID, Student name and Student Marks. I need to map the details in the destination, by grouping the data on the basis of marks obtained. Each time there's a new mark , the corresponding details of names and student
    ID is saved under the a new mark group that is created. how do i come about it when there are n number of new marks?

    for your scenario i used below xml as input,
    <ns0:Students xmlns:ns0="http://BTSTempProj.StudentDetailsIn">
      <Student>
        <StudentID>StudentID_0</StudentID>
        <StudnetName>StudnetName_0</StudnetName>
        <StudentMarks>10</StudentMarks>
      </Student>
      <Student>
        <StudentID>StudentID_0</StudentID>
        <StudnetName>StudnetName_0</StudnetName>
        <StudentMarks>20</StudentMarks>
      </Student>
      <Student>
        <StudentID>StudentID_0</StudentID>
        <StudnetName>StudnetName_0</StudnetName>
        <StudentMarks>10</StudentMarks>
      </Student> 
      <Student>
        <StudentID>StudentID_0</StudentID>
        <StudnetName>StudnetName_0</StudnetName>
        <StudentMarks>10</StudentMarks>
      </Student>
      <Student>
        <StudentID>StudentID_0</StudentID>
        <StudnetName>StudnetName_0</StudnetName>
        <StudentMarks>20</StudentMarks>
      </Student>
      <Student>
        <StudentID>StudentID_0</StudentID>
        <StudnetName>StudnetName_0</StudnetName>
        <StudentMarks>30</StudentMarks>
      </Student>   
    </ns0:Students>
    and here is the output, hope this is what you are looking for. 
    <ns0:Students xmlns:ns0="http://BTSTempProj.StudentDetailsOut">
    <StudentMarks>10</StudentMarks>
    <Student>
    <StudentName>StudnetName_0</StudentName>
    <StudentID>StudentID_0</StudentID>
    <StudentName>StudnetName_0</StudentName>
    <StudentID>StudentID_0</StudentID>
    <StudentName>StudnetName_0</StudentName>
    <StudentID>StudentID_0</StudentID>
    </Student>
    <StudentMarks>20</StudentMarks>
    <Student>
    <StudentName>StudnetName_0</StudentName>
    <StudentID>StudentID_0</StudentID>
    <StudentName>StudnetName_0</StudentName>
    <StudentID>StudentID_0</StudentID>
    </Student>
    <StudentMarks>30</StudentMarks>
    <Student>
    <StudentName>StudnetName_0</StudentName>
    <StudentID>StudentID_0</StudentID>
    </Student>
    </ns0:Students>
    Please find the below xslt which you can use, it is basically based on the Muenchian grouping suggested by Ashwin
    <?xml version="1.0" encoding="UTF-16"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:var="http://schemas.microsoft.com/BizTalk/2003/var" exclude-result-prefixes="msxsl var s0" version="1.0"
    xmlns:ns0="http://BTSTempProj.StudentDetailsOut" xmlns:s0="http://BTSTempProj.StudentDetailsIn">
      <xsl:output omit-xml-declaration="yes" method="xml" version="1.0" />
      <xsl:template match="/">
        <xsl:apply-templates select="/s0:Students" />
      </xsl:template>
      <xsl:key name="groups" match="Student" use="StudentMarks"/>
      <xsl:template match="/s0:Students">
        <ns0:Students>
          <xsl:for-each select="Student[generate-id(.)=generate-id(key('groups',StudentMarks))]">
            <xsl:sort select="StudentMarks" order="ascending"/>
            <StudentMarks>
              <xsl:value-of select="StudentMarks/text()"/>
            </StudentMarks>    
            <Student>    
              <xsl:for-each select="key('groups',StudentMarks)">
                <StudentName>
                  <xsl:value-of select="StudnetName/text()"/>
                </StudentName>
                <StudentID>
                  <xsl:value-of select="StudentID/text()"/>
                </StudentID> 
                </xsl:for-each>
            </Student>
          </xsl:for-each>        
        </ns0:Students>
      </xsl:template>
    </xsl:stylesheet>
    Regards, Amit More

  • Grouping in XSLT2.0: BPEL 11g

    Hi All,
    I have a requirement to group an incoming xml data(read from DB) and pass the groups separately to another BPEL process. Now I have written the below xsl file which when tested from Jdeveloper using an input source.xml file is working fine and giving me desired results in target.xml
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/Select_Groupid_Revpro">
    <xsl:output method="xml"/>
    <xsl:template match="Select_Groupid_RevproOutputCollection">
    <root>
    <xsl:for-each-group select="Select_Groupid_RevproOutput"
    group-by="ARR_ID">
    <xsl:sort select="current-grouping-key()"/>
    <Select_Groupid_RevproOutputCollection>
    <xsl:copy-of select="current-group()">
    <xsl:apply-templates/>
    </xsl:copy-of>
    </Select_Groupid_RevproOutputCollection>
    </xsl:for-each-group>
    </root>
    </xsl:template>
    </xsl:stylesheet>
    However when I use this in my BPEL code using a transform activity
    <assign name="Transform">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('xsl/Transformation_1.xsl',bpws:getVariableData('Invoke_RevproDB_Select_Groupid_Revpro_OutputVariable','Select_Groupid_RevproOutputCollection'))"/>
    <to variable="tmpvar"/>
    </copy>
    </assign>
    It fails with :
    empty variable/expression result. The XPath variable or expression ora:processXSLT(&apos;xsl/Transformation_1.xsl&apos;,bpws:getVariableData(&apos;Invoke_RevproDB_Select_Groupid_Revpro_OutputVariable&apos;,&apos;Select_Groupid_RevproOutputCollection&apos;)) is empty at line 178. An attempt to read or copy data referenced or computed by the XPath expression either had invalid data, according to the XML schema, or did not contain certain optional data. Ensure that the variable or expression result named in the error message is not empty. Enable XML schema validation of related variables to ensure the run-time data is valid.
    Any suggestions on what can be checked to fix this error.
    Regards
    Subhankar

    Hi
    Thanks for your reply.
    We tried by assigning the static text, this text successfully comes at run time.
    We have only issue when mapping from source to target. None of the values are getting mapped to target from source.
    - Ravi

  • XSL Element Currently not Supported

    Hi,
    I have started using Muenchian method of grouping using xsl:keys and apply-templates.
    But I couldn't because I receive the message "XSL element currently not supported" and I don't know why.
    Is there any workaround for this ?
    Thanks for your time.

    Yes.
    I paste the xsl again because I did any corrections.
    I tested it and, without grouping, is working well.
    But, when I define the key element the issue appears.
    <?xml version="1.0" encoding="UTF-8" ?>
    <?oracle-xsl-mapper
      <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
      <mapSources>
        <source type="XSD">
          <schema location="../xsd/VATGenericExtractor_20new.xsd"/>
          <rootElement name="VATGenericExtractor" namespace="VATGenericExtractor"/>
        </source>
      </mapSources>
      <mapTargets>
        <target type="XSD">
          <schema location="../xsd/VatList_1.3.xsd"/>
          <rootElement name="VatList" namespace="http://www.minfin.fgov.be/VatList"/>
        </target>
      </mapTargets>
      <!-- GENERATED BY ORACLE XSL MAPPER 11.1.1.6.0(build 111214.0600.1553) AT [THU AUG 01 15:39:57 GFT 2013]. -->
    ?>
    <xsl:stylesheet version="1.0"
                    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
                    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
                    xmlns:ns1="http://www.minfin.fgov.be/VatList"
                    xmlns:mhdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.mediator.service.common.functions.MediatorExtnFunction"
                    xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
                    xmlns:oraext="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns:dvm="http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue"
                    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
                    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns:med="http://schemas.oracle.com/mediator/xpath"
                    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
                    xmlns:ns0="VATGenericExtractor"
                    xmlns:bpm="http://xmlns.oracle.com/bpmn20/extensions"
                    xmlns:xdk="http://schemas.oracle.com/bpel/extension/xpath/function/xdk"
                    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
                    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                    xmlns:ora="http://schemas.oracle.com/xpath/extension"
                    xmlns:socket="http://www.oracle.com/XSL/Transform/java/oracle.tip.adapter.socket.ProtocolTranslator"
                    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
                    exclude-result-prefixes="xsi xsl ns0 xsd ns1 bpws xp20 mhdr bpel oraext dvm hwf med ids bpm xdk xref ora socket ldap">
      <xsl:key name="Supplier-by-TaxID" match="ns0:VATGenericExtractor/ns0:VATTransaction/ns0:SupplierorCustomer" use="ns0:VATGenericExtractor/ns0:VATTransaction/ns0:SupplierorCustomer/ns0:AddrTaxID"/>
      <xsl:template match="/">
           <ns1:VatList>
          <ns1:AgentRepr>
            <ns1:CompanyInfo>
              <ns1:VATNum>
                <xsl:value-of select="/ns0:VATGenericExtractor/ns0:FiscalCompany/ns0:LegalRepresentative/ns0:AddrTaxID"/>
              </ns1:VATNum>
              <ns1:Name>
                <xsl:value-of select="/ns0:VATGenericExtractor/ns0:FiscalCompany/ns0:LegalRepresentative/ns0:AddrName"/>
              </ns1:Name>
            </ns1:CompanyInfo>
          </ns1:AgentRepr>
          <ns1:DeclarantList>
            <xsl:for-each select="/ns0:VATGenericExtractor/ns0:VATTransactionsContainer/ns0:VATTransaction/ns0:SupplierOrCustomer">
              <xsl:sort select="ns0:AddrTaxID"/>
              <ns1:ClientList>
                <ns1:CompanyInfo>
                  <ns1:VATNum>
                    <xsl:value-of select="ns0:AddrTaxID"/>
                  </ns1:VATNum>
                </ns1:CompanyInfo>
                <ns1:Amount>
                  <xsl:value-of select="../ns0:TransDetail/ns0:TransactionTaxInfo/ns0:AmountSalesTaxAuthority1"/>
                </ns1:Amount>
                <ns1:TurnOver>
                  <xsl:value-of select="../ns0:TransDetail/ns0:Amounts/ns0:Amount_Taxable"/>
                </ns1:TurnOver>
              </ns1:ClientList>
            </xsl:for-each>
          </ns1:DeclarantList>
        </ns1:VatList>
      </xsl:template>
    </xsl:stylesheet>
    This is the XML example:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <ns0:VATGenericExtractor xmlns:ns0="VATGenericExtractor" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="VATGenericExtractor file:/C:/JDeveloper/mywork/Generic VAT/Project1/xsd/VATGenericExtractor new.xsd">
       <ns0:ExtractionInfo>
          <ns0:ReportInfo>
             <ns0:ReportName>P700001</ns0:ReportName>
             <ns0:ReportDescription>XML VAT Generation Process</ns0:ReportDescription>
             <ns0:ReportIdentification>BE_RPT723</ns0:ReportIdentification>
             <ns0:VersionName>GT0006</ns0:VersionName>
             <ns0:VersionDescription>Generic VAT Report XML Generation 723</ns0:VersionDescription>
             <ns0:AuditInfo>
                <ns0:UserID>I_9019066</ns0:UserID>
                <ns0:WorkStation>J700000006</ns0:WorkStation>
                <ns0:DateProcessed>113144</ns0:DateProcessed>
                <ns0:TimeProcessed>154649</ns0:TimeProcessed>
             </ns0:AuditInfo>
          </ns0:ReportInfo>
          <ns0:SystemConstants>
             <ns0:TaxRulesAdjustment_AR_1>Y</ns0:TaxRulesAdjustment_AR_1>
             <ns0:TaxRulesAdjustment_AR_2>N</ns0:TaxRulesAdjustment_AR_2>
             <ns0:TaxRulesAdjustment_AP_1>Y</ns0:TaxRulesAdjustment_AP_1>
             <ns0:TaxRulesAdjustment_AP_2>N</ns0:TaxRulesAdjustment_AP_2>
          </ns0:SystemConstants>
          <ns0:VATDeclaration>
             <ns0:DeclarationNbr>08888723</ns0:DeclarationNbr>
             <ns0:DeclarationType>Complementary</ns0:DeclarationType>
             <ns0:DeclPeriodType>Monthly</ns0:DeclPeriodType>
             <ns0:DeclarationPeriod>02</ns0:DeclarationPeriod>
             <ns0:DeclarationDate>113151</ns0:DeclarationDate>
             <ns0:FromDate>113032</ns0:FromDate>
             <ns0:ToDate>113059</ns0:ToDate>
             <ns0:Year>2013</ns0:Year>
             <ns0:DeclarationSite>@SDFASDFASDFASDFASDFASDF@</ns0:DeclarationSite>
             <ns0:VATDeclaration_FlexField>
                <ns0:Tag/>
                <ns0:Value/>
             </ns0:VATDeclaration_FlexField>
          </ns0:VATDeclaration>
          <ns0:Extraction_FlexField>
             <ns0:Tag>P700001BEPO05Replaced Client List723/725</ns0:Tag>
             <ns0:Value>00000123</ns0:Value>
          </ns0:Extraction_FlexField>
          <ns0:Extraction_FlexField>
             <ns0:Tag>P700001BEPO07File Type723/725</ns0:Tag>
             <ns0:Value>Std Load</ns0:Value>
          </ns0:Extraction_FlexField>
          <ns0:Extraction_FlexField>
             <ns0:Tag>P700001BEPO08File Name723/725</ns0:Tag>
             <ns0:Value>NAME</ns0:Value>
          </ns0:Extraction_FlexField>
          <ns0:Extraction_FlexField>
             <ns0:Tag>P700001BEPO09File Description723/725</ns0:Tag>
             <ns0:Value>DESCRIPTION</ns0:Value>
          </ns0:Extraction_FlexField>
          <ns0:Extraction_FlexField>
             <ns0:Tag>P700001BEPO10Comment723/725</ns0:Tag>
             <ns0:Value>COMMNET</ns0:Value>
          </ns0:Extraction_FlexField>
       </ns0:ExtractionInfo>
       <ns0:FiscalCompany>
          <ns0:CoNbr>01212</ns0:CoNbr>
          <ns0:CoName>JDEdwards and Company Belgium</ns0:CoName>
          <ns0:CoAddressNbr>
             <ns0:AddrNbr>00012001</ns0:AddrNbr>
             <ns0:AddrName>Belgium company UN 12001</ns0:AddrName>
             <ns0:AddrMailingName>Belgium  BU  mailing name</ns0:AddrMailingName>
             <ns0:AddrTaxID>798171123187562100</ns0:AddrTaxID>
             <ns0:Addr2ndTaxID>7777777777</ns0:Addr2ndTaxID>
             <ns0:AddrPersonCorpCode>2</ns0:AddrPersonCorpCode>
             <ns0:AddrCompleteAddress>
                <ns0:AddressLine1>AV.Belgium 8543</ns0:AddressLine1>
                <ns0:AddressLine2>linea2</ns0:AddressLine2>
                <ns0:AddressLine3>linea3</ns0:AddressLine3>
                <ns0:AddressLine4>linea4</ns0:AddressLine4>
                <ns0:City>Brusellas</ns0:City>
                <ns0:ZipCode>3000</ns0:ZipCode>
                <ns0:State>BEL</ns0:State>
                <ns0:Country>
                   <ns0:CountryCode>BE</ns0:CountryCode>
                   <ns0:CountryDesc>Belgium</ns0:CountryDesc>
                </ns0:Country>
             </ns0:AddrCompleteAddress>
             <ns0:AddrPhone>
                <ns0:AreaCode>1234</ns0:AreaCode>
                <ns0:PhoneNbr>6543</ns0:PhoneNbr>
             </ns0:AddrPhone>
             <ns0:AddrEmail>mailto:[email protected]</ns0:AddrEmail>
          </ns0:CoAddressNbr>
          <ns0:CoCurrency>
             <ns0:CurrencyCode>EUR</ns0:CurrencyCode>
             <ns0:CurrencyDesc>European Community Currency</ns0:CurrencyDesc>
          </ns0:CoCurrency>
          <ns0:LegalRepresentative>
             <ns0:AddrNbr>00001214</ns0:AddrNbr>
             <ns0:AddrName>Colores Company</ns0:AddrName>
             <ns0:AddrMailingName>belgium Company 1214</ns0:AddrMailingName>
             <ns0:AddrTaxID>17823333333</ns0:AddrTaxID>
             <ns0:Addr2ndTaxID>19898989898</ns0:Addr2ndTaxID>
             <ns0:AddrPersonCorpCode>C</ns0:AddrPersonCorpCode>
             <ns0:AddrCompleteAddress>
                <ns0:AddressLine1>1212 O Street</ns0:AddressLine1>
                <ns0:AddressLine2/>
                <ns0:AddressLine3/>
                <ns0:AddressLine4/>
                <ns0:City>Belgium</ns0:City>
                <ns0:ZipCode>68516</ns0:ZipCode>
                <ns0:State>BEL</ns0:State>
                <ns0:Country>
                   <ns0:CountryCode>BE</ns0:CountryCode>
                   <ns0:CountryDesc>Belgium</ns0:CountryDesc>
                </ns0:Country>
             </ns0:AddrCompleteAddress>
             <ns0:AddrPhone>
                <ns0:AreaCode>402</ns0:AreaCode>
                <ns0:PhoneNbr>4020084</ns0:PhoneNbr>
             </ns0:AddrPhone>
             <ns0:AddrEmail/>
             <ns0:Addr_FlexField>
                <ns0:Tag>P700001BEPO03Identification Type723/725</ns0:Tag>
                <ns0:Value>passports</ns0:Value>
             </ns0:Addr_FlexField>
          </ns0:LegalRepresentative>
          <ns0:Co_FlexField>
             <ns0:Tag/>
             <ns0:Value/>
          </ns0:Co_FlexField>
       </ns0:FiscalCompany>
       <ns0:VATTransactionsContainer>
          <ns0:VATTransaction>
             <ns0:DocCompany>
                <ns0:CoNbr>01212</ns0:CoNbr>
             </ns0:DocCompany>
             <ns0:Company>
                <ns0:CoNbr>01212</ns0:CoNbr>
             </ns0:Company>
             <ns0:DocNbr>00000011</ns0:DocNbr>
             <ns0:DocType>PV</ns0:DocType>
             <ns0:SupplierOrCustomer>
                <ns0:AddrNbr>00034000</ns0:AddrNbr>
                <ns0:AddrName>Belgium Supplier  1</ns0:AddrName>
                <ns0:AddrMailingName>1 Supplier  ccc</ns0:AddrMailingName>
                <ns0:AddrTaxID>1256889-01</ns0:AddrTaxID>
                <ns0:Addr2ndTaxID/>
                <ns0:AddrPersonCorpCode>C</ns0:AddrPersonCorpCode>
                <ns0:AddrCompleteAddress>
                   <ns0:AddressLine1>street xxx</ns0:AddressLine1>
                   <ns0:AddressLine2>l2</ns0:AddressLine2>
                   <ns0:AddressLine3/>
                   <ns0:AddressLine4/>
                   <ns0:City>belgium</ns0:City>
                   <ns0:ZipCode>1300</ns0:ZipCode>
                   <ns0:State>BEL</ns0:State>
                   <ns0:Country>
                      <ns0:CountryCode>BE</ns0:CountryCode>
                      <ns0:CountryDesc>Belgium</ns0:CountryDesc>
                   </ns0:Country>
                </ns0:AddrCompleteAddress>
                <ns0:AddrPhone>
                   <ns0:AreaCode>12</ns0:AreaCode>
                   <ns0:PhoneNbr>123555</ns0:PhoneNbr>
                </ns0:AddrPhone>
                <ns0:AddrEmail/>
             </ns0:SupplierOrCustomer>
             <ns0:TransactionCurrency>
                <ns0:CurrencyCode>EUR</ns0:CurrencyCode>
                <ns0:CurrencyDesc>European Community Currency</ns0:CurrencyDesc>
             </ns0:TransactionCurrency>
             <ns0:Trans_FlexField>
                <ns0:Tag/>
                <ns0:Value/>
             </ns0:Trans_FlexField>
             <ns0:TransDetail>
                <ns0:LineNumber>000000</ns0:LineNumber>
                <ns0:OrderSuffix>001</ns0:OrderSuffix>
                <ns0:Dates>
                   <ns0:Date_GL>113043</ns0:Date_GL>
                   <ns0:Date_ServiceTax>113046</ns0:Date_ServiceTax>
                   <ns0:Date_OrderTransaction>113134</ns0:Date_OrderTransaction>
                </ns0:Dates>
                <ns0:Batch>
                   <ns0:BatchNbr>06927193</ns0:BatchNbr>
                   <ns0:BatchType>V</ns0:BatchType>
                   <ns0:BatchDate>113134</ns0:BatchDate>
                </ns0:Batch>
                <ns0:Item>
                   <ns0:ItemNbrShort>00000000</ns0:ItemNbrShort>
                   <ns0:ItemNbr2nd/>
                   <ns0:ItemNbr3rd/>
                   <ns0:ItemDesc/>
                </ns0:Item>
                <ns0:UnitOfMeasure/>
                <ns0:BusinessUnit>
                   <ns0:MCUCode>12001</ns0:MCUCode>
                   <ns0:MCUDescription>Turquesa</ns0:MCUDescription>
                   <ns0:MCUAddrNbr>
                      <ns0:AddrNbr>00001001</ns0:AddrNbr>
                      <ns0:AddrName>Edwards, J.D. &amp; Company</ns0:AddrName>
                      <ns0:AddrMailingName>test</ns0:AddrMailingName>
                      <ns0:AddrTaxID>15502499</ns0:AddrTaxID>
                      <ns0:Addr2ndTaxID/>
                      <ns0:AddrPersonCorpCode>P</ns0:AddrPersonCorpCode>
                      <ns0:AddrCompleteAddress>
                         <ns0:AddressLine1>8055 E. Tufts Ave.</ns0:AddressLine1>
                         <ns0:AddressLine2/>
                         <ns0:AddressLine3/>
                         <ns0:AddressLine4/>
                         <ns0:City>Denver</ns0:City>
                         <ns0:ZipCode>80237</ns0:ZipCode>
                         <ns0:State>CO</ns0:State>
                         <ns0:Country>
                            <ns0:CountryCode/>
                            <ns0:CountryDesc>United States</ns0:CountryDesc>
                         </ns0:Country>
                      </ns0:AddrCompleteAddress>
                      <ns0:AddrPhone>
                         <ns0:AreaCode>303</ns0:AreaCode>
                         <ns0:PhoneNbr>844-8000</ns0:PhoneNbr>
                      </ns0:AddrPhone>
                      <ns0:AddrEmail/>
                   </ns0:MCUAddrNbr>
                </ns0:BusinessUnit>
                <ns0:TaxArea>
                   <ns0:TaxRateArea>BEL003</ns0:TaxRateArea>
                   <ns0:TaxDescription>Belgium bel003</ns0:TaxDescription>
                   <ns0:TaxExplCode>V</ns0:TaxExplCode>
                   <ns0:GLOffset>VATB</ns0:GLOffset>
                </ns0:TaxArea>
                <ns0:TransactionTaxInfo>
                   <ns0:TaxRate1>0010000</ns0:TaxRate1>
                   <ns0:TaxRate2>0000000</ns0:TaxRate2>
                   <ns0:TaxRate3>0000000</ns0:TaxRate3>
                   <ns0:TaxRate4>0000000</ns0:TaxRate4>
                   <ns0:TaxRate5>0000000</ns0:TaxRate5>
                   <ns0:SalesTaxAuthority1>00006154</ns0:SalesTaxAuthority1>
                   <ns0:SalesTaxAuthority2>00000000</ns0:SalesTaxAuthority2>
                   <ns0:SalesTaxAuthority3>00000000</ns0:SalesTaxAuthority3>
                   <ns0:SalesTaxAuthority4>00000000</ns0:SalesTaxAuthority4>
                   <ns0:SalesTaxAuthority5>00000000</ns0:SalesTaxAuthority5>
                   <ns0:AmountSalesTaxAuthority1>1500000</ns0:AmountSalesTaxAuthority1>
                   <ns0:AmountSalesTaxAuthority2>0</ns0:AmountSalesTaxAuthority2>
                   <ns0:AmountSalesTaxAuthority3>0</ns0:AmountSalesTaxAuthority3>
                   <ns0:AmountSalesTaxAuthority4>0</ns0:AmountSalesTaxAuthority4>
                   <ns0:AmountSalesTaxAuthority5>0</ns0:AmountSalesTaxAuthority5>
                   <ns0:TaxInfo_FlexField>
                      <ns0:Tag>F740003 RNO 1 Transaction Nature 723</ns0:Tag>
                      <ns0:Value>S</ns0:Value>
                   </ns0:TaxInfo_FlexField>
                </ns0:TransactionTaxInfo>
                <ns0:OrderQuantity>0</ns0:OrderQuantity>
                <ns0:Amounts>
                   <ns0:Amount_Gross>0</ns0:Amount_Gross>
                   <ns0:Amount_Taxable>15000000</ns0:Amount_Taxable>
                   <ns0:Amount_NonTaxable>0</ns0:Amount_NonTaxable>
                   <ns0:Amount_Tax>1500000</ns0:Amount_Tax>
                   <ns0:Amount_ExtendedPrice>16500000</ns0:Amount_ExtendedPrice>
                   <ns0:Amount_TaxVariance>0</ns0:Amount_TaxVariance>
                </ns0:Amounts>
             </ns0:TransDetail>
             <ns0:TransDetail>
                <ns0:LineNumber>000000</ns0:LineNumber>
                <ns0:OrderSuffix>001</ns0:OrderSuffix>
                <ns0:Dates>
                   <ns0:Date_GL>113043</ns0:Date_GL>
                   <ns0:Date_ServiceTax>113046</ns0:Date_ServiceTax>
                   <ns0:Date_OrderTransaction>113137</ns0:Date_OrderTransaction>
                </ns0:Dates>
                <ns0:Batch>
                   <ns0:BatchNbr>06927310</ns0:BatchNbr>
                   <ns0:BatchType>V</ns0:BatchType>
                   <ns0:BatchDate>113137</ns0:BatchDate>
                </ns0:Batch>
                <ns0:Item>
                   <ns0:ItemNbrShort>00000000</ns0:ItemNbrShort>
                   <ns0:ItemNbr2nd/>
                   <ns0:ItemNbr3rd/>
                   <ns0:ItemDesc/>
                </ns0:Item>
                <ns0:UnitOfMeasure/>
                <ns0:BusinessUnit>
                   <ns0:MCUCode>12001</ns0:MCUCode>
                   <ns0:MCUDescription>Turquesa</ns0:MCUDescription>
                   <ns0:MCUAddrNbr>
                      <ns0:AddrNbr>00001001</ns0:AddrNbr>
                      <ns0:AddrName>Edwards, J.D. &amp; Company</ns0:AddrName>
                      <ns0:AddrMailingName>test</ns0:AddrMailingName>
                      <ns0:AddrTaxID>15502499</ns0:AddrTaxID>
                      <ns0:Addr2ndTaxID/>
                      <ns0:AddrPersonCorpCode>P</ns0:AddrPersonCorpCode>
                      <ns0:AddrCompleteAddress>
                         <ns0:AddressLine1>8055 E. Tufts Ave.</ns0:AddressLine1>
                         <ns0:AddressLine2/>
                         <ns0:AddressLine3/>
                         <ns0:AddressLine4/>
                         <ns0:City>Denver</ns0:City>
                         <ns0:ZipCode>80237</ns0:ZipCode>
                         <ns0:State>CO</ns0:State>
                         <ns0:Country>
                            <ns0:CountryCode/>
                            <ns0:CountryDesc>United States</ns0:CountryDesc>
                         </ns0:Country>
                      </ns0:AddrCompleteAddress>
                      <ns0:AddrPhone>
                         <ns0:AreaCode>303</ns0:AreaCode>
                         <ns0:PhoneNbr>844-8000</ns0:PhoneNbr>
                      </ns0:AddrPhone>
                      <ns0:AddrEmail/>
                   </ns0:MCUAddrNbr>
                </ns0:BusinessUnit>
                <ns0:TaxArea>
                   <ns0:TaxRateArea>BEL003</ns0:TaxRateArea>
                   <ns0:TaxDescription>Belgium bel003</ns0:TaxDescription>
                   <ns0:TaxExplCode>V</ns0:TaxExplCode>
                   <ns0:GLOffset>VATB</ns0:GLOffset>
                </ns0:TaxArea>
                <ns0:TransactionTaxInfo>
                   <ns0:TaxRate1>0010000</ns0:TaxRate1>
                   <ns0:TaxRate2>0000000</ns0:TaxRate2>
                   <ns0:TaxRate3>0000000</ns0:TaxRate3>
                   <ns0:TaxRate4>0000000</ns0:TaxRate4>
                   <ns0:TaxRate5>0000000</ns0:TaxRate5>
                   <ns0:SalesTaxAuthority1>00006154</ns0:SalesTaxAuthority1>
                   <ns0:SalesTaxAuthority2>00000000</ns0:SalesTaxAuthority2>
                   <ns0:SalesTaxAuthority3>00000000</ns0:SalesTaxAuthority3>
                   <ns0:SalesTaxAuthority4>00000000</ns0:SalesTaxAuthority4>
                   <ns0:SalesTaxAuthority5>00000000</ns0:SalesTaxAuthority5>
                   <ns0:AmountSalesTaxAuthority1>1000000</ns0:AmountSalesTaxAuthority1>
                   <ns0:AmountSalesTaxAuthority2>0</ns0:AmountSalesTaxAuthority2>
                   <ns0:AmountSalesTaxAuthority3>0</ns0:AmountSalesTaxAuthority3>
                   <ns0:AmountSalesTaxAuthority4>0</ns0:AmountSalesTaxAuthority4>
                   <ns0:AmountSalesTaxAuthority5>0</ns0:AmountSalesTaxAuthority5>
                   <ns0:TaxInfo_FlexField>
                      <ns0:Tag>F740003 RNO 1 Transaction Nature 723</ns0:Tag>
                      <ns0:Value>S</ns0:Value>
                   </ns0:TaxInfo_FlexField>
                   <ns0:TaxInfo_FlexField>
                      <ns0:Tag>F740003 RNO 1 Transaction Nature 723</ns0:Tag>
                      <ns0:Value>G</ns0:Value>
                   </ns0:TaxInfo_FlexField>
                </ns0:TransactionTaxInfo>
                <ns0:OrderQuantity>0</ns0:OrderQuantity>
                <ns0:Amounts>
                   <ns0:Amount_Gross>0</ns0:Amount_Gross>
                   <ns0:Amount_Taxable>10000000</ns0:Amount_Taxable>
                   <ns0:Amount_NonTaxable>0</ns0:Amount_NonTaxable>
                   <ns0:Amount_Tax>1000000</ns0:Amount_Tax>
                   <ns0:Amount_ExtendedPrice>11000000</ns0:Amount_ExtendedPrice>
                   <ns0:Amount_TaxVariance>0</ns0:Amount_TaxVariance>
                </ns0:Amounts>
             </ns0:TransDetail>
             <ns0:TransDetail>
                <ns0:LineNumber>000000</ns0:LineNumber>
                <ns0:OrderSuffix>001</ns0:OrderSuffix>
                <ns0:Dates>
                   <ns0:Date_GL>113036</ns0:Date_GL>
                   <ns0:Date_ServiceTax>113046</ns0:Date_ServiceTax>
                   <ns0:Date_OrderTransaction>113134</ns0:Date_OrderTransaction>
                </ns0:Dates>
                <ns0:Batch>
                   <ns0:BatchNbr>06927195</ns0:BatchNbr>
                   <ns0:BatchType>V</ns0:BatchType>
                   <ns0:BatchDate>113134</ns0:BatchDate>
                </ns0:Batch>
                <ns0:Item>
                   <ns0:ItemNbrShort>00000000</ns0:ItemNbrShort>
                   <ns0:ItemNbr2nd/>
                   <ns0:ItemNbr3rd/>
                   <ns0:ItemDesc/>
                </ns0:Item>
                <ns0:UnitOfMeasure/>
                <ns0:BusinessUnit>
                   <ns0:MCUCode>12001</ns0:MCUCode>
                   <ns0:MCUDescription>Turquesa</ns0:MCUDescription>
                   <ns0:MCUAddrNbr>
                      <ns0:AddrNbr>00001001</ns0:AddrNbr>
                      <ns0:AddrName>Edwards, J.D. &amp; Company</ns0:AddrName>
                      <ns0:AddrMailingName>test</ns0:AddrMailingName>
                      <ns0:AddrTaxID>15502499</ns0:AddrTaxID>
                      <ns0:Addr2ndTaxID/>
                      <ns0:AddrPersonCorpCode>P</ns0:AddrPersonCorpCode>
                      <ns0:AddrCompleteAddress>
                         <ns0:AddressLine1>8055 E. Tufts Ave.</ns0:AddressLine1>
                         <ns0:AddressLine2/>
                         <ns0:AddressLine3/>
                         <ns0:AddressLine4/>
                         <ns0:City>Denver</ns0:City>
                         <ns0:ZipCode>80237</ns0:ZipCode>
                         <ns0:State>CO</ns0:State>
                         <ns0:Country>
                            <ns0:CountryCode/>
                            <ns0:CountryDesc>United States</ns0:CountryDesc>
                         </ns0:Country>
                      </ns0:AddrCompleteAddress>
                      <ns0:AddrPhone>
                         <ns0:AreaCode>303</ns0:AreaCode>
                         <ns0:PhoneNbr>844-8000</ns0:PhoneNbr>
                      </ns0:AddrPhone>
                      <ns0:AddrEmail/>
                   </ns0:MCUAddrNbr>
                </ns0:BusinessUnit>
                <ns0:TaxArea>
                   <ns0:TaxRateArea>BEL002</ns0:TaxRateArea>
                   <ns0:TaxDescription>Belgium bel002</ns0:TaxDescription>
                   <ns0:TaxExplCode>V</ns0:TaxExplCode>
                   <ns0:GLOffset>VATB</ns0:GLOffset>
                </ns0:TaxArea>
                <ns0:TransactionTaxInfo>
                   <ns0:TaxRate1>0010000</ns0:TaxRate1>
                   <ns0:TaxRate2>0000000</ns0:TaxRate2>
                   <ns0:TaxRate3>0000000</ns0:TaxRate3>
                   <ns0:TaxRate4>0000000</ns0:TaxRate4>
                   <ns0:TaxRate5>0000000</ns0:TaxRate5>
                   <ns0:SalesTaxAuthority1>00006154</ns0:SalesTaxAuthority1>
                   <ns0:SalesTaxAuthority2>00000000</ns0:SalesTaxAuthority2>
                   <ns0:SalesTaxAuthority3>00000000</ns0:SalesTaxAuthority3>
                   <ns0:SalesTaxAuthority4>00000000</ns0:SalesTaxAuthority4>
                   <ns0:SalesTaxAuthority5>00000000</ns0:SalesTaxAuthority5>
                   <ns0:AmountSalesTaxAuthority1>20000</ns0:AmountSalesTaxAuthority1>
                   <ns0:AmountSalesTaxAuthority2>0</ns0:AmountSalesTaxAuthority2>
                   <ns0:AmountSalesTaxAuthority3>0</ns0:AmountSalesTaxAuthority3>
                   <ns0:AmountSalesTaxAuthority4>0</ns0:AmountSalesTaxAuthority4>
                   <ns0:AmountSalesTaxAuthority5>0</ns0:AmountSalesTaxAuthority5>
                   <ns0:TaxInfo_FlexField>
                      <ns0:Tag>F740003 RNO 1 Transaction Nature 723</ns0:Tag>
                      <ns0:Value>GT</ns0:Value>
                   </ns0:TaxInfo_FlexField>
                   <ns0:TaxInfo_FlexField>
                      <ns0:Tag>F740003 RNO 1 Transaction Nature 723</ns0:Tag>
                      <ns0:Value>S</ns0:Value>
                   </ns0:TaxInfo_FlexField>
                </ns0:TransactionTaxInfo>
                <ns0:OrderQuantity>0</ns0:OrderQuantity>
                <ns0:Amounts>
                   <ns0:Amount_Gross>0</ns0:Amount_Gross>
                   <ns0:Amount_Taxable>200000</ns0:Amount_Taxable>
                   <ns0:Amount_NonTaxable>0</ns0:Amount_NonTaxable>
                   <ns0:Amount_Tax>20000</ns0:Amount_Tax>
                   <ns0:Amount_ExtendedPrice>220000</ns0:Amount_ExtendedPrice>
                   <ns0:Amount_TaxVariance>0</ns0:Amount_TaxVariance>
                </ns0:Amounts>
             </ns0:TransDetail>
             <ns0:TransDetail>
                <ns0:LineNumber>000000</ns0:LineNumber>
                <ns0:OrderSuffix>001</ns0:OrderSuffix>
                <ns0:Dates>
                   <ns0:Date_GL>113033</ns0:Date_GL>
                   <ns0:Date_ServiceTax>113033</ns0:Date_ServiceTax>
                   <ns0:Date_OrderTransaction>113134</ns0:Date_OrderTransaction>
                </ns0:Dates>
                <ns0:Batch>
                   <ns0:BatchNbr>06927199</ns0:BatchNbr>
                   <ns0:BatchType>I</ns0:BatchType>
                   <ns0:BatchDate>113134</ns0:BatchDate>
                </ns0:Batch>
                <ns0:Item>
                   <ns0:ItemNbrShort>00000000</ns0:ItemNbrShort>
                   <ns0:ItemNbr2nd/>
                   <ns0:ItemNbr3rd/>
                   <ns0:ItemDesc/>
                </ns0:Item>
                <ns0:UnitOfMeasure/>
                <ns0:BusinessUnit>
                   <ns0:MCUCode>12001</ns0:MCUCode>
                   <ns0:MCUDescription>Turquesa</ns0:MCUDescription>
                   <ns0:MCUAddrNbr>
                      <ns0:AddrNbr>00001001</ns0:AddrNbr>
                      <ns0:AddrName>Edwards, J.D. &amp; Company</ns0:AddrName>
                      <ns0:AddrMailingName>test</ns0:AddrMailingName>
                      <ns0:AddrTaxID>15502499</ns0:AddrTaxID>
                      <ns0:Addr2ndTaxID/>
                      <ns0:AddrPersonCorpCode>P</ns0:AddrPersonCorpCode>
                      <ns0:AddrCompleteAddress>
                         <ns0:AddressLine1>8055 E. Tufts Ave.</ns0:AddressLine1>
                         <ns0:AddressLine2/>
                         <ns0:AddressLine3/>
                         <ns0:AddressLine4/>
                         <ns0:City>Denver</ns0:City>
                         <ns0:ZipCode>80237</ns0:ZipCode>
                         <ns0:State>CO</ns0:State>
                         <ns0:Country>
                            <ns0:CountryCode/>
                            <ns0:CountryDesc>United States</ns0:CountryDesc>
                         </ns0:Country>
                      </ns0:AddrCompleteAddress>
                      <ns0:AddrPhone>
                         <ns0:AreaCode>303</ns0:AreaCode>
                         <ns0:PhoneNbr>844-8000</ns0:PhoneNbr>
                      </ns0:AddrPhone>
                      <ns0:AddrEmail/>
                   </ns0:MCUAddrNbr>
                </ns0:BusinessUnit>
                <ns0:TaxArea>
                   <ns0:TaxRateArea>BEL002</ns0:TaxRateArea>
                   <ns0:TaxDescription>Belgium bel002</ns0:TaxDescription>
                   <ns0:TaxExplCode>V</ns0:TaxExplCode>
                   <ns0:GLOffset>VATB</ns0:GLOffset>
                </ns0:TaxArea>
                <ns0:TransactionTaxInfo>
                   <ns0:TaxRate1>0010000</ns0:TaxRate1>
                   <ns0:TaxRate2>0000000</ns0:TaxRate2>
                   <ns0:TaxRate3>0000000</ns0:TaxRate3>
                   <ns0:TaxRate4>0000000</ns0:TaxRate4>
                   <ns0:TaxRate5>0000000</ns0:TaxRate5>
                   <ns0:SalesTaxAuthority1>00006154</ns0:SalesTaxAuthority1>
                   <ns0:SalesTaxAuthority2>00000000</ns0:SalesTaxAuthority2>
                   <ns0:SalesTaxAuthority3>00000000</ns0:SalesTaxAuthority3>
                   <ns0:SalesTaxAuthority4>00000000</ns0:SalesTaxAuthority4>
                   <ns0:SalesTaxAuthority5>00000000</ns0:SalesTaxAuthority5>
                   <ns0:AmountSalesTaxAuthority1>-80000</ns0:AmountSalesTaxAuthority1>
                   <ns0:AmountSalesTaxAuthority2>0</ns0:AmountSalesTaxAuthority2>
                   <ns0:AmountSalesTaxAuthority3>0</ns0:AmountSalesTaxAuthority3>
                   <ns0:AmountSalesTaxAuthority4>0</ns0:AmountSalesTaxAuthority4>
                   <ns0:AmountSalesTaxAuthority5>0</ns0:AmountSalesTaxAuthority5>
                   <ns0:TaxInfo_FlexField>
                      <ns0:Tag>F740003 RNO 1 Transaction Nature 723</ns0:Tag>
                      <ns0:Value>GT</ns0:Value>
                   </ns0:TaxInfo_FlexField>
                   <ns0:TaxInfo_FlexField>
                      <ns0:Tag>F74B0010 Transaction Nature 723</ns0:Tag>
                      <ns0:Value>G</ns0:Value>
                   </ns0:TaxInfo_FlexField>
                </ns0:TransactionTaxInfo>
                <ns0:OrderQuantity>0</ns0:OrderQuantity>
                <ns0:Amounts>
                   <ns0:Amount_Gross>0</ns0:Amount_Gross>
                   <ns0:Amount_Taxable>-800000</ns0:Amount_Taxable>
                   <ns0:Amount_NonTaxable>0</ns0:Amount_NonTaxable>
                   <ns0:Amount_Tax>-80000</ns0:Amount_Tax>
                   <ns0:Amount_ExtendedPrice>-880000</ns0:Amount_ExtendedPrice>
                   <ns0:Amount_TaxVariance>0</ns0:Amount_TaxVariance>
                </ns0:Amounts>
             </ns0:TransDetail>
          </ns0:VATTransaction>
       </ns0:VATTransactionsContainer>
    </ns0:VATGenericExtractor>
    Thanks a lot.

  • Help: A strange xsl processing error

    Hi,
    I get a strange XSLException when using the following template:
    <xsl:template match="complexType | group | sequence">
    <xsl:param name='path'><xsl:value-of select='$SEPARATOR'/></xsl:param>
    <xsl:apply-templates select='./*'>
    <xsl:with-param name='path'>
    <xsl:value-of select='$path'/>
    </xsl:with-param>
    </xsl:apply-templates>
    </xsl:template>
    The error I receive is: 'Variable "path" is not defined'.
    At the same time, the following template:
    <xsl:template match="element[*]"> <xsl:param name='path'><xsl:value-of select='$SEPARATOR'/></xsl:param>
    <xsl:apply-templates select="./*">
    <xsl:with-param name='path'>
    <xsl:value-of select='$path'/><xsl:value-of select='$SEPARATOR'/><xsl:value-of select='./@name'/>
    </xsl:with-param>
    </xsl:apply-templates>
    </xsl:template>
    does not generate any exceptions.
    I use Oracle XML Parser v.2.0.2.9
    I have processed this xsl with an IBM's xsl processor (using their XSL Editor) and it was alright...

    This has been posted and answered many time on these forums - please use the Search function at the top of the page.

  • Need Help on generating XSL using XML.

    Hi All,
    I have to convert XML file to XSL file.How can I do grouping in XSL file based on XML file.
    Is there any tool available for converting XML to XSL tags.
    Please reply me.
    Thanks,
    Dhana

    Please make the extra effort to write out words such as "you" and "good" The extra keystrokes won't cost much in the way of time, and the enhanced clarity will be appreciated by those communicating on a forum with international readership.
    oh.. yeah i guess i could do it by myself .. there
    are some gd examples on the net which i foundThe best way to learn is to play with it.
    is it possible for the user to click WHILE my
    application generates the character 'A' ?No. Imagen you have connected two keyboards to you computer. One you control, one someone else controls.
    You can still only have one window active to type it, so you what one types would get muddled up with what the other person types.
    Why do you want to do this (press A over and over again)? Maybe the application you are attempting to control has a better method of controlling it (command line version, an API to use, Windows Scripting etc)

  • Arithmetic Multiply Function Problem

    Hello everybody,
    I have a strange situation, I'm using in message mapping the Multiply Function of the Arithmetic Group, and the situation is that is working really strange with some values as example:
    135525.07 * -1
    this operation gives as a result -135525.06, so it's not rounding or something like that is just working strange with quantities with decimals between .01 and .09, I've tried types strings, floats, doubles, decimals and longs, and all of them gives the same result, a wrong result, has anyone front this before?, thanks in advance.
    Regards,
    Paul

    Hi Paul,
    Yes, the Multiply function is doing what you mentioned.
    try using this UDF:
    double orgArg = Double.parseDouble(argument);
    double mulArg=aDouble*(-1);
    String str = Double.toString(mulArg);
    return str;
    I tried with these values and the function returns:
    3383.435434353232342 and function returns -3383.4354343532323
    6744533.7454353543 and funtion returns -6744533.745435354
    But for a larger number, say 8734537533.564545 the output is -8.734537533564545E9
    If your inputs are not going be as large, then you can use the code.
    Regards,
    Balaji.M

  • How to customize charts in RTF for BI Publisher

    Hello Experts
    How can an existing chart in RTF template be customized ?
    Can I change the properties of a chart such that values along the Y-axis in the chart are displayed in the reverse order ?
    Thanks in Advance.
    Amrith.

    Hello Rainer
    I've tried what you told but I was only able to sort the values on the X-axis but not the Y-axis. The following is my XML definition of the chart. Can you please let me know where can I add the tag order="descending" in my definition.
    X-axis has the values of 'ACTIVITY DATE' and
    Y-axis has the values of 'SALES'
    chart:
    <Graph graphType="LINE_VERT_ABS" seriesEffect="SE_AUTO_GRADIENT"><LegendArea visible="false"/>
    <Title text="" visible="true" horizontalAlignment="CENTER"/>
    <LocalGridData colCount="{count(xdoxslt:group(.//ROW, 'ACTIVITY_DATE1'))}" rowCount="1">
    <ColLabels>
    <xsl:for-each-group xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select=".//ROW" group-by="ACTIVITY_DATE1">
    <xsl:sort select="current-group()/ACTIVITY_DATE1"/>
    <Label>
    <xsl:value-of select="current-group()/ACTIVITY_DATE1"/>
    </Label>
    </xsl:for-each-group>
    </ColLabels>
    <DataValues>
    <RowData>
    <xsl:for-each-group xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select=".//ROW" group-by="ACTIVITY_DATE1">
    <xsl:sort select="current-group()/ACTIVITY_DATE1"/>
    <Cell>
    <xsl:value-of select="sum(current-group()/SALES)"/>
    </Cell>
    </xsl:for-each-group>
    </RowData>
    </DataValues>
    </LocalGridData>
    </Graph>
    Thanks in advance
    Amrith.

  • Split an XML File and invoke a Web Serivce for each splits using an  XSLT

    Hi,
    We Have a requirement to Split an incoming XML File into chunks based on a child element and hit the target Web Service for each and every split ( i.e no of splits = no of hits on WebService).
    Currently, the incoming XML file is getting splitted and gets appended to the SAME Payload and the WebService is hitted only once with the entire Payload.
    Is it possible to invoke a WebService within a XSLT ?
    Please find below the XSLT code used to split the file in chunks of 3
    <xsl:param name="pItemsNumber" select="3"/>
    <xsl:template match="@*|node()">
    <xsl:choose>
    <xsl:when test="count(Batch/Item) > 4">
    <ItemMaintenance>
    <xsl:for-each-group select="Batch/Item"
    group-adjacent="(position()-1) idiv $pItemsNumber">
    <xsl:result-document href="ItemsMatch\{current-grouping-key()}.xml">
    <ItemMaintenance>
    <xsl:copy-of select="current-group()"/>
    </ItemMaintenance>
    </xsl:result-document>
    </xsl:for-each-group>
    </ItemMaintenance>
    </xsl:when>
    <xsl:otherwise>
    <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
    </xsl:otherwise>
    </xsl:choose>
    </xsl:template>

    Hello,
    It is possible to invoke a webservice from XSLT. To achieve this you must create a custom XSLT function that does the actual webservice call. You need to write an implementation in Java for this. See my blogpost http://blog.melvinvdkuijl.nl/2010/02/custom-xslt-functions-in-oracle-soa-suite-11g/ for a simple example.
    Regards,
    Melvin

  • Problem in XSLT mapping

    Hello,
    I am working on XSLT mapping, where i am trying to add similar values but when i upload the .xsl file i get a Java Null pointer Error, this is the error :-
    *Cause: Unable to recognize the loaded document as valid XSD*
    *Error when parsing XSD document com.sap.aii.utilxi.xsd.api.XsdException: A schema must start with the tag <schema> that belongs to "http://www.w3.org/2001/XMLSchema" namespace*
    This is the complete XSLT file that m trying to upload.
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
         <!-- Build a key to group item by itemDescription -->
         <xsl:key name="itemDescription" match="salesOrder/item" use="itemDescription"/>
         <xsl:template match="/">
              <salesOrder>
                   <!-- iterate on each group -->
                   <xsl:for-each select="salesOrder/item[generate-id(.) = generate-id(key('itemDescription', itemDescription)[1]) ]">
                        <xsl:variable name="group" select="key('itemDescription', itemDescription)"/>
                        <xsl:variable name="itemDescription">
                             <xsl:value-of select="itemDescription"/>
                        </xsl:variable>
                        <xsl:variable name="itemRetailPrice">
                             <xsl:value-of select="sum($group/itemRetailPrice)"/>
                        </xsl:variable>
                        <xsl:variable name="itemSalePrice">
                             <xsl:value-of select="sum($group/itemSalePrice)"/>
                        </xsl:variable>
                        <!-- Generate the final XML file -->
                        <item>
                             <itemDescription>
                                  <xsl:value-of select="$itemDescription"/>
                             </itemDescription>
                             <itemRetailPrice>
                                  <xsl:value-of select="$itemRetailPrice"/>
                             </itemRetailPrice>
                             <itemSalePrice>
                                  <xsl:value-of select="$itemSalePrice"/>
                             </itemSalePrice>
                        </item>
                   </xsl:for-each>
              </salesOrder>
         </xsl:template>
    </xsl:stylesheet>
    Thanks !!
    Harpreet

    The message was 1 related to some errors at External definition. That y i asked that question.
    Are u getting any other error now?
    This looks distorted after posting
    Now for ur xsl file
    Instead of
    <xsl:for-each select="salesOrder/item[generate-id(.) = generate-id(key('itemDescription', itemDescription)1])">
    Use
    <xsl:for-each select="salesOrder/item[generate-id(.) = generate-id(key('itemDescription', itemDescription)[1]) ]">Regards,
    Prateek

  • Need help in XSLT transformation

    Hi,
    I need to transform below input XML to output XML. Can you please provide any ideas for this
    Input XML :
    <?xml version="1.0" encoding="UTF-8" ?>
    <GenericCollection ParamValue="ParamValue1" xmlns="http://www.example.org">
    <Generic>
    <store>Store1</store>
    <metricName>Metric1</metricName>
    <metricValue>1</metricValue>
    </Generic>
    <Generic>
    <store>Store1</store>
    <metricName>Metric2</metricName>
    <metricValue>1</metricValue>
    </Generic>
    <Generic>
    <store>Store2</store>
    <metricName>Metric1</metricName>
    <metricValue>1</metricValue>
    </Generic>
    <Generic>
    <store>Store2</store>
    <metricName>Metric1</metricName>
    <metricValue>2</metricValue>
    </Generic>
    <Generic>
    <store>Store2</store>
    <metricName>Metric2</metricName>
    <metricValue>1</metricValue>
    </Generic>
    <Generic>
    <store>Store3</store>
    <metricName>Metric1</metricName>
    <metricValue>1</metricValue>
    </Generic>
    <Generic>
    <store>Store3</store>
    <metricName>Metric1</metricName>
    <metricValue>2</metricValue>
    </Generic>
    </GenericCollection>
    Output XML :
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <ns4:EnterpriseDocument>
    <ns4:DataSet>
    <ns4:Dimension ref_name="bu_code" value="Store1">
    <ns4:Metric ref_name="Metric1">
    <ns4:Data value="1"/>
    </ns4:Metric>
    <ns4:Metric ref_name="Metric2">
    <ns4:Data value="1"/>
    </ns4:Metric>
    </ns4:Dimension>
    <ns4:Dimension ref_name="bu_code" value="Store2">
    <ns4:Metric ref_name="Metric1">
    <ns4:Data value="1"/>
    <ns4:Data value="2"/>
    </ns4:Metric>
    <ns4:Metric ref_name="Metric2">
    <ns4:Data value="1"/>
    </ns4:Metric>
    </ns4:Dimension>
    <ns4:Dimension ref_name="bu_code" value="Store3">
    <ns4:Metric ref_name="Metric1">
    <ns4:Data value="1"/>
    <ns4:Data value="2"/>
    </ns4:Metric>
    </ns4:Dimension>
    </ns4:DataSet>
    </ns4:EnterpriseDocument>
    Thanks,
    Ramesh

    Hello Ramesh,
    Nice puzzle
    For this you need a transformation with XSLT 2.0. Use a two level grouping. First group on the store elements and the second on the metricName elements.
    Transformation looks like this:
    <?xml version="1.0"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:template match="/">
             <EnterpriseDocument>
                 <DataSet>
                     <!-- First group on the store elements
                          Each store will be grouped based on the element value
                     -->
                     <xsl:for-each-group select="/*[local-name() = 'GenericCollection']/*[local-name() = 'Generic']" group-by="./*[local-name() = 'store']">
                         <!-- For each store a Dimension element is needed -->
                         <Dimension ref_name="bu_code" value="{./*[local-name() = 'store']}">
                             <!-- Within a Dimension we need to group by metricName -->
                             <xsl:for-each-group select="current-group()" group-by="./*[local-name() = 'metricName']">
                                 <Metric ref_name="{./*[local-name() = 'metricName']}">
                                     <!-- Iterate over the metricName nodes and create a Data element -->
                                     <xsl:for-each select="current-group()/*[local-name() = 'metricValue']">
                                         <Data value="{.}"/>
                                     </xsl:for-each>
                                 </Metric>
                             </xsl:for-each-group>
                         </Dimension>
                     </xsl:for-each-group>
                 </DataSet>
             </EnterpriseDocument>
         </xsl:template>
    </xsl:stylesheet>
    Good luck!
    Regards,
    Melvin

  • Markers not shown in legend

    Hi everyone!
    I'm trying and trying to have markers shown in the legend of a line chart but with no success.
    Is it a common problem?
    My XML graph code is this:
    chart:
    <Graph graphType="LINE_VERT_ABS" SeriesEffect="SE_AUTO_GRADIENT" markerDisplayed="true" markerShapeInLegend="true">
    <LegendArea visible="true" alongGraphEdge="false" automaticPlacement="AP_NEVER" position="LAP_RIGHT" threeDSurfacePosition="LAP_BOTTOM"
    borderTransparent="true" fillTransparent="true" legendTextPosition="LTP_ON_RIGHT" legendOrientation="LO_AUTOMATIC"
    markersPerRowAutomatic="false"
    legendMarkersPerRow="1"
    />
    <DataMarker markerSize="50"/>
    <SeriesItems defaultBorderColor="#0" defaultBorderTransparent="true" borderUsingDefaults="false" defaultColor="" defaultLineWidth="4" defaultMarkerShape="" defaultFitlineType="FT_NONE">
    <Series id="2" color="#00FF00" markerShape="MS_TRIANGLE_UP" borderColor="#000000" />
    <Series id="1" color="#FF0000" markerShape="MS_SQUARE" borderColor="#000000"/>
    <Series id="0" color="#0000FF" markerShape="MS_TRIANGLE_UP" lineStyle="LS_DASH" color="#0000FF" borderColor="#000000"/>
    </SeriesItems>
    <LocalGridData colCount="{count(xdoxslt:group(.//DS_1_ROW, 'saw_2'))}" rowCount="{count(xdoxslt:group(.//DS_1_ROW, 'saw_0'))}">
    <RowLabels>
    <xsl:for-each-group xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select=".//DS_1_ROW" group-by="saw_0">
    <Label>
    <xsl:value-of select="current-group()/saw_0"/>
    </Label>
    </xsl:for-each-group>
    </RowLabels>
    <ColLabels>
    <xsl:for-each-group xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select=".//DS_1_ROW" group-by="saw_2">
    <Label>
    </Label>
    </xsl:for-each-group>
    </ColLabels>
    <DataValues>
    <xsl:for-each-group xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select=".//DS_1_ROW" group-by="saw_0">
    <RowData>
    <xsl:for-each-group select="current-group()" group-by="saw_2">
    <Cell>
    <xsl:value-of select="xdoxslt:sum(current-group()/saw_4)"/>
    </Cell>
    </xsl:for-each-group>
    </RowData>
    </xsl:for-each-group>
    </DataValues>
    </LocalGridData>
    </Graph>
    Hope somebody can help me...
    THANKS!
    DrPlexi
    Message was edited by:
    DrPlexi

    refer this below:
    "series" is must.
    ================
    <Graph graphType="LINE_VERT_ABS" markerDisplayed="true" ><DataMarker markerSize="60"/>
    <LegendArea visible="false"/>
    <MarkerText visible="false"/>
    <PlotArea fillColor="#ccccff" fillTransparent="false"/>
    <Title text="Retail Sales" visible="true" horizontalAlignment="LEFT"/>
    <Y1MajorTick lineColor="#c0c0c0"/>
    <SeriesItems defaultColor="">
    <Series id="0" markerShape="MS_DIAMOND" color="#ff0000" lineWidth="2" />
    </SeriesItems>
    <Y1Axis>
    <ViewFormat currencySymbolUsed="false" scaleFactorUsed="true"/>
    </Y1Axis>
    <Y1MajorTick lineColor="#666666"/>
    <Y2MajorTick lineColor="#666666"/>
    <LocalGridData colCount="{count(//DATA//MainDataSet//MAINDATASET_ROW//null//null_ROW)}" rowCount="1">
    ... ...

  • Errror::Illegal number of arguments or types of arguments in XSLT

    HI All,
    In our scenario we are using XSLT mapping with java enhancement.Its working fine in Stylus studio but when the same is imported into XI its throwing the below mentioned error:
                     javax.xml.transform.TransformerException: com.sap.engine.lib.xml.util.NestedException: Illegal number of arguments or types of arguments in a call of function 'Trans:Convert'.
    Our requirement is that we are summing up the Field "Grant_Amount" which occurs multiple times in the source structure.PFB the XSL and the source XML:
    <
    XSL:
    ===
    <Sum>
          <xsl:value-of select="Trans:Convert(//Grant_Amount)"/>
    </Sum>
    XML:
    ===
    <Recordset>
          <DETAILRECORD>
             <Grant_Amount>$100.00</Grant_Amount>
          </DETAILRECORD>
          <DETAILRECORD>
             <Grant_Amount>$200.00</Grant_Amount>
          </DETAILRECORD>
    </Recordset>
    Java Code:
    ========
    package com.company.group;
      public class String2Number
          public static String Convert(String[] a)
                          double sum=0;
                          String[] temp = new String[100];
                         for(int i=0;i<a.length;i++)
                                  temp<i> = (a<i>).replaceAll("[,
    $
                                         sum=sum+Double.parseDouble(temp<i>);
                            return sum+"";
    >
    Please guide me into the right solution.
    Thanks and Regards,
    Karanam

    Thanq for your response,
    But my stylesheet is as below
    <
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="http://www.infosys.com/sap/xi/projects/sce/n1" xmlns:Trans="com.company.group.String2Number">
         <xsl:template match="/">
              <a:MT_TargetXSLJava>
                   <Record>
                        <Detailrecord>
                             <Sum>
                                  <xsl:value-of select="Trans:Convert(//Grant_Amount)"/>
                             </Sum>
                             <Flag>
                                  <xsl:value-of select="//DETAILRECORD/Grant_Amount"/>
                             </Flag>
                        </Detailrecord>
                   </Record>
              </a:MT_TargetXSLJava>
         </xsl:template>
    </xsl:stylesheet>
    >

  • Error: Illegal number of arguments passsed to the function call

    HI All,
    In our scenario we are using XSLT mapping with java enhancement.Its working fine in Stylus studio but when the same is imported into XI its throwing the below mentioned error:
    javax.xml.transform.TransformerException: com.sap.engine.lib.xml.util.NestedException: Illegal number of arguments or types of arguments in a call of function 'Trans:Convert'.
    Our requirement is that we are summing up the field "Grant_Amount" which occurs multiple times in the source structure and the sum is mapped to the field "Sum' on the target side.The stylesheet is working fine in stylus studio but whe  imported into XI the above mentioned error is being thrown.Can any one one please help me solving this issue.
    The XSL, the source XMLand the java class are mentioned below:
    <
    XSL:
    ===
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="http://www.infosys.com/sap/xi/projects/sce/n1" xmlns:Trans="com.company.group.String2Number">
         <xsl:template match="/">
              <a:MT_TargetXSLJava>
              <Record>
                   <Detailrecord>
                         <Sum>
                      <xsl:value-of select="Trans:Convert(//Grant_Amount)"/>
                         </Sum>
                          <Flag>
                     <xsl:text>1</xsl:text>     
                          </Flag>
                  </Detailrecord>
              </Record>
              </a:MT_TargetXSLJava>
         </xsl:template>
    </xsl:stylesheet>
    XML:
    ===
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_SourceXSLJava xmlns:ns0="http://www.infosys.com/sap/xi/projects/sce/n1">
       <Recordset>
          <DETAILRECORD>
             <Grant_Amount>$100.00</Grant_Amount>
          </DETAILRECORD>
          <DETAILRECORD>
             <Grant_Amount>$200.00</Grant_Amount>
          </DETAILRECORD>
          <summary_record>
             <Total>$300.00</Total>
          </summary_record>
       </Recordset>
    </ns0:MT_SourceXSLJava>
    Java Code:
    ========
    package com.company.group;
    public class String2Number
    public static double Convert(String[] a)
    double sum=0;
    String[] temp = new String100;
    for(int i=0;i<a.length;i++)
    temp = (a).replaceAll(",
    $
    sum=sum+Double.parseDouble(temp);
    return sum;
    Please guide me to the right solution.
    Thanks and Regards,
    Karanam

    If you are using below mentioned java code for Convert method, then see you are passing a String Array, but in below statement:
    <xsl:value-of select="Trans:Convert(//Grant_Amount)"/>
    This is just a single value i think, you have to pass an array with values 100,200,300. Pls check it.
    BR,
    Alok

Maybe you are looking for

  • Double click in ALV tree output????

    Hi all, I am able to display output in tree format. But I want to add the double click functionality to some of the fields in output. Means if I double click on some value in output tree, it should call some transaction. Please help me with this issu

  • Mobile sync "Server is shutting down"

    Ever since the upgrade to Yosemite and Server 4.0, my mobile sync is not working properly. After three months, I have a backlog of accounts on multiple computers that aren't in sync; it is a nightmare. During the upgrade, mobile sync stopped working,

  • Ipod will not charge when using 30 pin to lighting connector

    Have a victory vision with a 30 pin connecter bought the apple lightning coverter and when hooked to the bike it will not charge

  • Photos on my iPad are everywhere after latest update?

    I'm not loving the latest update when it comes to iCloud for my photos. For some odd reason I have photos taken on my iPhone which were saved to my IMac appear in the photos section on my iPad. My iPad only has 32GB so I have to meticulously go throu

  • Get HTTPS with Windows log/pass

    This is the page i want to acces via a cfm page (CF7) : quote: https://www.zft.adp.com/dock/ i tried quote: <cfhttp url="https://www.zft.adp.com/dock/" method="GET" port="443" username="igottheusername" password="andgotpass" resolveurl="Yes" /> and i