Node refnum comparison (XML parser)

Hello,
I am trying to parse an XML document (actually an Open Office doc) with the LabVIEW 2009 built-in XML Parser. My problem is to identify if two Nodes are actually refering to the same point in the XML or not. For example:
I do a search for specific table cells. The result is an array of Nodes. I want to know if they are on the same table row. So I go up to the first "table row" parent, of which I get the reference. Now I would like to compare two of these parent "row" references, to check if they refer to the same table row. Use of the "equal" LabVIEW function seems not to work (always pretends the reference is different, even if pointing to the same table row actually).
Any idea ?
Vincent

Hello,
Thank you for your interest for the topic. Here is a small example, which is described here:
Assume you have an XML with following content:
<XML>
<Parent>
     <Child name="A1">
          <Feature />
     </Child>
     <Child name="A2">
          <NoFeature />
     </Child>
</Parent>
<Parent>
     <Child name="B1">
          <Feature />
     </Child>
     <Child name="B2">
          <NoFeature />
     </Child>
</Parent>
</XML>
Let's say I need to find all the <Feature> nodes and check whether or not they belong to the same <Parent>. If I look for all the <Feature> nodes by sequentially parsing the whole XML (with a combination of "Next Sibling" and "Next Child" navigation), I will certainly know when I switch from one <Parent> instance to the other one, but this is very inefficient for large XML. I have chosen to use the following method instead:
- with the "Get Elements by Tag Name Array" method for the XML document (DUXGetElementsByTagName), I get an array of all the <Feature> nodes in the document. These are node references to <Child name="A1"/> and <Child name="B2"/> in the above example.
- from both of these nodes I go up to successive parents until I find the <Parent> node reference.
- now I have two different references to <Parent> nodes. I am almost over, I just need to check whether these are the same <Parent> node, or if they are different instances of a <Parent> node (as it is the case in the above example).
How can I do this last step ? Comparing the node references directly with the general "Equal?" built-in LabVIEW function does not work (result is always FALSE, even if both node references point to the same node instance). What is missing here is a sort of "IsSameNode" method, with two node references as inputs, and a boolean as output, that would just return TRUE if both references are pointing to the same node in the XML...
Hope this helps.
Best regards,
Vincent
Attachments:
Demo_XML_Parser.zip ‏25 KB

Similar Messages

  • XML parser fails to convert html encoded text nodes

    Under the strain of large documents this defect rears its ugly head more often. While parsing a text node containing html encoded chars i.e. < > &; etc...
    The parser will seemingly forget to change the chars at random, 99.9% of the time everything is ok and the proper conversions take place:
    < -> &#60;
    > -> >
    &; -> &#38;
    Once an error occurs it is reproducible until the text node is changed ( values and/or order ) then it is a crapshoot again.
    These tests were done using the default UTF-8 encoding, here is the exception thrown by the parser along with a portion of the text node before and after the first parsing.
    Let me be clear, the parser actually succeeds the first time but the transformation of the HTML encoded pieces possibly fails. It is on the parsing of the text node value as its own document that the parser fails.
    Error 0 : Error parsing XML string! Line :: 1, Column :: 65674
    Error 1 : End tag does not match start tag 'Project'.
    End tag does not match start tag 'Project'.
    at oracle/xml/parser/v2/XMLError.flushErrors (XMLError.java:233)
    at oracle/xml/parser/v2/NonValidatingParser.parseDocument (NonValidatingParser.java:248)
    at oracle/xml/parser/v2/XMLParser.parse (XMLParser.java:117)
    at pacificedge/xml/XMLUtilities.loadParserFromString (XMLUtilities.java:104)
    Preprocessing ::
    <Project stuff0="0" stuff1="0" stuff2="0" stuff3="1" stuff4="100167" stuff5="100213">
    <StuffA>100213</StuffA>
    <Name>I am a Name</Name>
    <StartDate>1998-08-10</StartDate>
    <FinishDate>2000-06-30</FinishDate>
    <Path>Folder1\Folder2</Path>
    </Project>
    Post processing:
    <Project stuff0="0" stuff1="0" stuff2="0" stuff3="1" stuff4="100167" stuff5="100213">
    <StuffA>100213</StuffA>
    <Name>I am a Name</Name>
    <StartDate>1998-08-10</StartDate> <-- Error is raised here when the value of the text node is used as an xml document
    <FinishDate>2000-06-30</FinishDate>
    <Path>Folder1\Folder2</Path>
    </Project>
    Please investigate this. It is a chronic problem for us and possibly many others.
    null

    Sorry for the encoding issues in the message before here are the pertinent pieces hope this shows up correctly.
    &;lt; -> &;#60;
    &;gt; -> >
    &;amp; -> &;#38;
    Preprocessing ::
    &;lt;Project stuff0="0" stuff1="0" stuff2="0" stuff3="1" stuff4="100167" stuff5="100213"&;gt;
    &;lt;StuffA&;gt;100213&;lt;/StuffA&;gt;
    &;lt;Name&;gt;I am a Name&;lt;/Name&;gt;
    &;lt;StartDate&;gt;1998-08-10&;lt;/StartDate&;gt;
    &;lt;FinishDate&;gt;2000-06-30&;lt;/FinishDate&;gt;
    &;lt;Path&;gt;Folder1\Folder2&;lt;/Path&;gt;
    &;lt;/Project&;gt;
    Post processing:
    <Project stuff0="0" stuff1="0" stuff2="0" stuff3="1" stuff4="100167" stuff5="100213">
    <StuffA>100213</StuffA>
    <Name>I am a Name</Name>
    &;lt;StartDate>1998-08-10</StartDate> <-- Error is raised here when the value of the text node is used as an xml document
    <FinishDate>2000-06-30</FinishDate>
    <Path>Folder1\Folder2</Path>
    </Project>
    null

  • Why can't Oracle XML parser import a Xerces node?

    I have been using XSU to obtain query results in XML as a DOM. Recently I tried to use the Document.importNode method on the generated DOM where the node to be imported was generated using the Xerces parser. The Oracle XML parser gave the following error:
    java.lang.ClassCastException: org.apache.xerces.dom.DeferredElementImpl
         org.w3c.dom.Node oracle.xml.parser.v2.XMLDocument.importNode(org.w3c.dom.Node, boolean)
              XMLDocument.java:1247
    I can get around the problem by parsing the XML I want to combine with the XSU generated XML with the Oracle parser, however, I would be happier if I could configure XSU to use Xerces (or another parser) via JAXP.
    Will XSU have JAXP support? What is the cause of the exception above?
    Gary Brown
    Analyst/Developer
    University of Bristol

    I have been using XSU to obtain query results in XML as a DOM. Recently I tried to use the Document.importNode method on the generated DOM where the node to be imported was generated using the Xerces parser. The Oracle XML parser gave the following error:
    java.lang.ClassCastException: org.apache.xerces.dom.DeferredElementImpl
         org.w3c.dom.Node oracle.xml.parser.v2.XMLDocument.importNode(org.w3c.dom.Node, boolean)
              XMLDocument.java:1247
    I can get around the problem by parsing the XML I want to combine with the XSU generated XML with the Oracle parser, however, I would be happier if I could configure XSU to use Xerces (or another parser) via JAXP.Different implementation have different internal representation of DOMNode. That is why you can't import.
    Will XSU have JAXP support? What is the cause of the exception above?Why you need this? Any requirement from your application?
    Gary Brown
    Analyst/Developer
    University of Bristol

  • Error when Bursting - XML Parser expected '-- ' instead of 'EOF'.

    Hi,
    We're generating invoices using BI Publisher as one large XML report, then routing them to customers using the concurrent bursting program to break up the xml by customer and faxing / emailing / printing as needed.
    the report seems to generate properly - here's a sample:
    <?xml version="1.0"?>
    <!-- Generated by Oracle Reports version 6.0.8.27.0 -->
    <DWDRAXINV>
    <LIST_G_ORDER_BY>
    <G_ORDER_BY>
    <ORDER_BY>100800</ORDER_BY>
    <LIST_G_INVOICE>
    <G_INVOICE>
    <CUSTOMER_TRX_ID>xx</CUSTOMER_TRX_ID>
    <TRX_NUMBER>100800</TRX_NUMBER>
    <TRX_TYPE>INV</TRX_TYPE>
    <TRX_TYPE_NAME>Invoice</TRX_TYPE_NAME>
    <OPEN_RECEIVABLE_FLAG>Y</OPEN_RECEIVABLE_FLAG>
    <TRX_DATE>04-APR-05</TRX_DATE>
    <BILL_TO_CUSTOMER_ID>40214</BILL_TO_CUSTOMER_ID>
    <BILL_TO_CONTACT_ID/>
    <SHIP_TO_CUSTOMER_ID>9663</SHIP_TO_CUSTOMER_ID>
    <SHIP_TO_CONTACT_ID/>
    <REMIT_TO_ADDRESS_ID>1210</REMIT_TO_ADDRESS_ID>
    <BILL_TO_SITE_USE_ID>245883</BILL_TO_SITE_USE_ID>
    <PRIMARY_SALESREP_ID>xx</PRIMARY_SALESREP_ID>
    <CUSTOMER_NUMBER>xx</CUSTOMER_NUMBER>
    <INTERNAL_NOTES/>
    <PREVIOUS_CUSTOMER_TRX_ID/>
    <SHIP_TO_SITE_USE_ID>55369</SHIP_TO_SITE_USE_ID>
    <BATCH_SOURCE_ID>1024</BATCH_SOURCE_ID>
    <PRINTING_COUNT>9</PRINTING_COUNT>
    <PRINTING_ORIGINAL_DATE>05-APR-05</PRINTING_ORIGINAL_DATE>
    <LAST_PRINTED_SEQUENCE_NUMBER>1</LAST_PRINTED_SEQUENCE_NUMBER>
    <START_DATE_COMMITMENT/>
    <END_DATE_COMMITMENT/>
    <INITIAL_CUSTOMER_TRX_ID/>
    <INVOICE_CURRENCY_CODE>USD</INVOICE_CURRENCY_CODE>
    <BILL_CUST_NAME>xx</BILL_CUST_NAME>
    <BILL_ADDRESS1>xx</BILL_ADDRESS1>
    <BILL_ADDRESS2>xx</BILL_ADDRESS2>
    <BILL_ADDRESS3>xx</BILL_ADDRESS3>
    <BILL_ADDRESS4/>
    <BILL_CITY>CONCORD</BILL_CITY>
    <BILL_STATE>CA</BILL_STATE>
    <BILL_POSTAL_CODE>94524-xx</BILL_POSTAL_CODE>
    <BILL_COUNTRY>US</BILL_COUNTRY>
    <TERM_ID>1016</TERM_ID>
    <PURCHASE_ORDER_REVISION/>
    <PURCHASE_ORDER_DATE/>
    <TRX_COMMENTS/>
    <BILL_TO_LOCATION>PO BOX Q</BILL_TO_LOCATION>
    <BILL_TO_ADDRESS1>PO BOX xx1</BILL_TO_ADDRESS1>
    <BILL_TO_ADDRESS2>xx</BILL_TO_ADDRESS2>
    <BILL_TO_ADDRESS3>10365268 / 348025</BILL_TO_ADDRESS3>
    <BILL_TO_ADDRESS4/>
    <BILL_TO_STATE>CA</BILL_TO_STATE>
    <BILL_TO_PROVINCE/>
    <LIST_G_INV_TERM>
    <G_INV_TERM>
    <SALES_ORDER_NUMBER>15042116</SALES_ORDER_NUMBER>
    <INTERFACE_HEADER_CONTEXT>ORDER ENTRY</INTERFACE_HEADER_CONTEXT>
    <PARTY_ID>43923</PARTY_ID>
    <C_ACCT_ID>40214</C_ACCT_ID>
    <TERM_SEQUENCE_NUMBER>1</TERM_SEQUENCE_NUMBER>
    <SHIP_DATE_ACTUAL>04-APR-05</SHIP_DATE_ACTUAL>
    <SHIP_VIA/>
    <WAYBILL_NUMBER>0</WAYBILL_NUMBER>
    <CREDIT_MEMO_TYPE_ID>1130</CREDIT_MEMO_TYPE_ID>
    <BILL_TO_ADDRESS_ID/>
    <TRX_ORG>509</TRX_ORG>
    <PURCHASE_ORDER_NUMBER>9373872-4</PURCHASE_ORDER_NUMBER>
    <TERM_DUE_DATE_FROM_PS>05-APR-05</TERM_DUE_DATE_FROM_PS>
    <TRX_LINE_AMOUNT>85</TRX_LINE_AMOUNT>
    <TRX_TAX_AMOUNT>0</TRX_TAX_AMOUNT>
    <BILL_CUST_TAX_REFERENCE/>
    <TERM_RELATIVE_AMOUNT>100</TERM_RELATIVE_AMOUNT>
    <PRINTING_LAST_PRINTED>11-JAN-08</PRINTING_LAST_PRINTED>
    <TRX_ALL_AMOUNT>85</TRX_ALL_AMOUNT>
    <PRINTING_PENDING>N</PRINTING_PENDING>
    <BILL_SITE_TAX_REFERENCE/>
    <TRX_FREIGHT_AMOUNT>0</TRX_FREIGHT_AMOUNT>
    <TERM_NAME>COD</TERM_NAME>
    <LIST_G_LINE_TOTAL>
    <G_LINE_TOTAL>
    <LINE_OF_TYPE_FRT>A</LINE_OF_TYPE_FRT>
    <ORDER_BY1>1</ORDER_BY1>
    <LINK_TO_LINE>2445027</LINK_TO_LINE>
    <DUMMY>1</DUMMY>
    <LIST_G_LINES>
    <G_LINES>
    <LINE_ORDER>1</LINE_ORDER>
    <LINE_NUMBER>1</LINE_NUMBER>
    <ASSET_CREATION_CODE>43883</ASSET_CREATION_CODE>
    <EQUIPMENT_TYPE>1</EQUIPMENT_TYPE>
    <CONFIG_MODEL_TYPE>STANDARD</CONFIG_MODEL_TYPE>
    <BUYER_ID>113851</BUYER_ID>
    <UN_NUMBER_ID>433207</UN_NUMBER_ID>
    <INVOICING_RULE_ID>0</INVOICING_RULE_ID>
    <INVENTORY_ITEM_STATUS_CODE>TRAVEL LAB</INVENTORY_ITEM_STATUS_CODE>
    <DEFAULT_SO_SOURCE_TYPE>433207</DEFAULT_SO_SOURCE_TYPE>
    <CONTACT_NAME/>
    <ITEM_NUMBER>TRAVEL-CA</ITEM_NUMBER>
    <LINE_CUSTOMER_TRX_ID>179471</LINE_CUSTOMER_TRX_ID>
    <LINE_CUSTOMER_TRX_LINE_ID>2445027</LINE_CUSTOMER_TRX_LINE_ID>
    <SALES_ORDER_LINE_NUMBER>1</SALES_ORDER_LINE_NUMBER>
    <LINE_CHILD_INDICATOR>0</LINE_CHILD_INDICATOR>
    <LINE_TYPE>LINE</LINE_TYPE>
    <LINE_ITEM_DESCRIPTION>TRAVEL LABOR - CA</LINE_ITEM_DESCRIPTION>
    <LINE_QTY_ORDERED>.5</LINE_QTY_ORDERED>
    <LINE_QTY_INVOICED>.5</LINE_QTY_INVOICED>
    <LINE_UOM>HOUR</LINE_UOM>
    <LINE_UNIT_SELLING_PRICE>68</LINE_UNIT_SELLING_PRICE>
    <LINE_EXTENDED_AMOUNT>34</LINE_EXTENDED_AMOUNT>
    <LINE_NET_AMOUNT>34</LINE_NET_AMOUNT>
    <LINE_TAX_RATE/>
    <LINE_VAT_TAX_ID>1245</LINE_VAT_TAX_ID>
    <LINE_TAX_EXEMPTION_ID/>
    <LINE_LOCATION_RATE_ID/>
    <LINK_TO_CUST_TRX_LINE_ID>-1</LINK_TO_CUST_TRX_LINE_ID>
    <LINE_TAX_PRECEDENCE/>
    <LINE_IS_A_CHILD_FLAG>N</LINE_IS_A_CHILD_FLAG>
    <LINE_TAX_INCLUSIVE>N</LINE_TAX_INCLUSIVE>
    <LINE_SALES_ORDER_DATE>04-APR-05</LINE_SALES_ORDER_DATE>
    <LINE_SALES_ORDER>15042116</LINE_SALES_ORDER>
    <LIST_G_TAX_RATE>
    <G_TAX_RATE>
    <LINE_CUSTOMER_TRX_ID1>179471</LINE_CUSTOMER_TRX_ID1>
    <LINK_TO_CUST_TRX_LINE_ID1>2445027</LINK_TO_CUST_TRX_LINE_ID1>
    <LINE_TAX_RATE1>0</LINE_TAX_RATE1>
    </G_TAX_RATE>
    </LIST_G_TAX_RATE>
    <CF_INVOICE_LINE_PRINT_NUMBER>1</CF_INVOICE_LINE_PRINT_NUMBER>
    <C_SER_REQ>43883</C_SER_REQ>
    <C_SHIP_INSTR/>
    <C_SER_REQDATE>10-JAN-05</C_SER_REQDATE>
    <C_PROB_DESC/>
    <C_DISCOUNT>0</C_DISCOUNT>
    <CF_ITEM_DISCOUNT_STRING/>
    <CF_ITEM_DESC_DSP/>
    <C_PRB_RES/>
    <SETLINESPRINTEDFLAG>1</SETLINESPRINTEDFLAG>
    <SET_PRINTED_FLAG/>
    <CF_SERIAL_NUMBER/>
    <D_LINE_UNIT_SELLING_PRICE> 68.00 </D_LINE_UNIT_SELLING_PRICE>
    <CP_LINE_EXTENDED_AMOUNT> 34.00 </CP_LINE_EXTENDED_AMOUNT>
    <CP_DISCOUNT>0</CP_DISCOUNT>
    <LINE_DESCRIPTION>TRAVEL LABOR - CA </LINE_DESCRIPTION>
    <LINE_TAXYN/>
    <CP_LINE_ITEM_AMOUNT>68</CP_LINE_ITEM_AMOUNT>
    <LINE_ITEM_AMOUNT>17</LINE_ITEM_AMOUNT>
    <LINE_TAX_AMOUNT>0</LINE_TAX_AMOUNT>
    <LINE_FREIGHT_AMOUNT>0</LINE_FREIGHT_AMOUNT>
    <LINE_TAX_INCL_AMOUNT>0</LINE_TAX_INCL_AMOUNT>
    <CF_LINE_ALL_AMOUNT>68</CF_LINE_ALL_AMOUNT>
    </G_LINES>
    </LIST_G_LINES>
    <D_LINE_TOTAL> 17.00 </D_LINE_TOTAL>
    <LINE_TOTAL>17</LINE_TOTAL>
    <LINE_CHILDREN_COUNT>0</LINE_CHILDREN_COUNT>
    <MIN_LINK_TO_CUST_TRX_LINE_ID>-1</MIN_LINK_TO_CUST_TRX_LINE_ID>
    <MIN_LINE_TYPE>LINE</MIN_LINE_TYPE>
    <CS_LINE_ALL_TOTAL>68</CS_LINE_ALL_TOTAL>
    </G_LINE_TOTAL>
    <G_LINE_TOTAL>
    <LINE_OF_TYPE_FRT>A</LINE_OF_TYPE_FRT>
    <ORDER_BY1>2</ORDER_BY1>
    <LINK_TO_LINE>2445028</LINK_TO_LINE>
    <DUMMY>1</DUMMY>
    <LIST_G_LINES>
    <G_LINES>
    <LINE_ORDER>2</LINE_ORDER>
    <LINE_NUMBER>2</LINE_NUMBER>
    <ASSET_CREATION_CODE>43883</ASSET_CREATION_CODE>
    <EQUIPMENT_TYPE>2</EQUIPMENT_TYPE>
    <CONFIG_MODEL_TYPE>STANDARD</CONFIG_MODEL_TYPE>
    <BUYER_ID>113851</BUYER_ID>
    <UN_NUMBER_ID>433208</UN_NUMBER_ID>
    <INVOICING_RULE_ID>0</INVOICING_RULE_ID>
    <INVENTORY_ITEM_STATUS_CODE>SERVICE LA</INVENTORY_ITEM_STATUS_CODE>
    <DEFAULT_SO_SOURCE_TYPE>433208</DEFAULT_SO_SOURCE_TYPE>
    <CONTACT_NAME/>
    <ITEM_NUMBER>LABOR-CA</ITEM_NUMBER>
    <LINE_CUSTOMER_TRX_ID>xx</LINE_CUSTOMER_TRX_ID>
    <LINE_CUSTOMER_TRX_LINE_ID>2445028</LINE_CUSTOMER_TRX_LINE_ID>
    <SALES_ORDER_LINE_NUMBER>2</SALES_ORDER_LINE_NUMBER>
    <LINE_CHILD_INDICATOR>0</LINE_CHILD_INDICATOR>
    <LINE_TYPE>LINE</LINE_TYPE>
    <LINE_ITEM_DESCRIPTION>SERVICE LABOR - CA</LINE_ITEM_DESCRIPTION>
    <LINE_QTY_ORDERED>.75</LINE_QTY_ORDERED>
    <LINE_QTY_INVOICED>.75</LINE_QTY_INVOICED>
    <LINE_UOM>HOUR</LINE_UOM>
    <LINE_UNIT_SELLING_PRICE>68</LINE_UNIT_SELLING_PRICE>
    <LINE_EXTENDED_AMOUNT>51</LINE_EXTENDED_AMOUNT>
    <LINE_NET_AMOUNT>51</LINE_NET_AMOUNT>
    <LINE_TAX_RATE/>
    <LINE_VAT_TAX_ID>1245</LINE_VAT_TAX_ID>
    <LINE_TAX_EXEMPTION_ID/>
    <LINE_LOCATION_RATE_ID/>
    <LINK_TO_CUST_TRX_LINE_ID>-1</LINK_TO_CUST_TRX_LINE_ID>
    <LINE_TAX_PRECEDENCE/>
    <LINE_IS_A_CHILD_FLAG>N</LINE_IS_A_CHILD_FLAG>
    <LINE_TAX_INCLUSIVE>N</LINE_TAX_INCLUSIVE>
    <LINE_SALES_ORDER_DATE>04-APR-05</LINE_SALES_ORDER_DATE>
    <LINE_SALES_ORDER>15042116</LINE_SALES_ORDER>
    <LIST_G_TAX_RATE>
    <G_TAX_RATE>
    <LINE_CUSTOMER_TRX_ID1>xx</LINE_CUSTOMER_TRX_ID1>
    <LINK_TO_CUST_TRX_LINE_ID1>2445028</LINK_TO_CUST_TRX_LINE_ID1>
    <LINE_TAX_RATE1>0</LINE_TAX_RATE1>
    </G_TAX_RATE>
    </LIST_G_TAX_RATE>
    <CF_INVOICE_LINE_PRINT_NUMBER>2</CF_INVOICE_LINE_PRINT_NUMBER>
    <C_SER_REQ>43883</C_SER_REQ>
    <C_SHIP_INSTR/>
    <C_SER_REQDATE>10-JAN-05</C_SER_REQDATE>
    <C_PROB_DESC/>
    <C_DISCOUNT>0</C_DISCOUNT>
    <CF_ITEM_DISCOUNT_STRING/>
    <CF_ITEM_DESC_DSP/>
    <C_PRB_RES/>
    <SETLINESPRINTEDFLAG>1</SETLINESPRINTEDFLAG>
    <SET_PRINTED_FLAG/>
    <CF_SERIAL_NUMBER/>
    <D_LINE_UNIT_SELLING_PRICE> 68.00 </D_LINE_UNIT_SELLING_PRICE>
    <CP_LINE_EXTENDED_AMOUNT> 51.00 </CP_LINE_EXTENDED_AMOUNT>
    <CP_DISCOUNT>0</CP_DISCOUNT>
    <LINE_DESCRIPTION>SERVICE LABOR - CA </LINE_DESCRIPTION>
    <LINE_TAXYN/>
    <CP_LINE_ITEM_AMOUNT>68</CP_LINE_ITEM_AMOUNT>
    <LINE_ITEM_AMOUNT>38.25</LINE_ITEM_AMOUNT>
    <LINE_TAX_AMOUNT>0</LINE_TAX_AMOUNT>
    <LINE_FREIGHT_AMOUNT>0</LINE_FREIGHT_AMOUNT>
    <LINE_TAX_INCL_AMOUNT>0</LINE_TAX_INCL_AMOUNT>
    <CF_LINE_ALL_AMOUNT>68</CF_LINE_ALL_AMOUNT>
    </G_LINES>
    </LIST_G_LINES>
    <D_LINE_TOTAL> 38.25 </D_LINE_TOTAL>
    <LINE_TOTAL>38.25</LINE_TOTAL>
    <LINE_CHILDREN_COUNT>0</LINE_CHILDREN_COUNT>
    <MIN_LINK_TO_CUST_TRX_LINE_ID>-1</MIN_LINK_TO_CUST_TRX_LINE_ID>
    <MIN_LINE_TYPE>LINE</MIN_LINE_TYPE>
    <CS_LINE_ALL_TOTAL>68</CS_LINE_ALL_TOTAL>
    </G_LINE_TOTAL>
    </LIST_G_LINE_TOTAL>
    <LIST_G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451402</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>SBXNOTAX</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>34</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax SBXNOTAX @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 34.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451403</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>SBXNOTAX</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>34</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax SBXNOTAX @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 34.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451404</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>SBXNOTAX</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>34</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax SBXNOTAX @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 34.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451406</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>SBXNOTAX</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>51</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax SBXNOTAX @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 51.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451407</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>SBXNOTAX</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>51</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax SBXNOTAX @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 51.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451408</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>SBXNOTAX</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>51</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax SBXNOTAX @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 51.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2445028</TRX_LINE_ID>
    <INV_TAX_TYPE>LINE</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Line</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION>SERVICE LABOR - CA</INV_TAX_LINE_DESCRIPTION>
    <INV_TAX_EXTENDED_AMOUNT>51</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>Sabrix</INV_TAX_CODE_NAME>
    <INV_TAX_RATE/>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT/>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 51.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>51</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Line</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2445027</TRX_LINE_ID>
    <INV_TAX_TYPE>LINE</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Line</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION>TRAVEL LABOR - CA</INV_TAX_LINE_DESCRIPTION>
    <INV_TAX_EXTENDED_AMOUNT>34</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>Sabrix</INV_TAX_CODE_NAME>
    <INV_TAX_RATE/>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT/>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 34.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>34</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Line</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451401</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>US Tax</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>34</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax US Tax @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 34.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    <G_SUMMARY_INV>
    <TRX_LINE_ID>2451405</TRX_LINE_ID>
    <INV_TAX_TYPE>TAX</INV_TAX_TYPE>
    <INV_TAX_TYPE_NAME>Tax</INV_TAX_TYPE_NAME>
    <INV_TAX_LINE_DESCRIPTION/>
    <INV_TAX_EXTENDED_AMOUNT>0</INV_TAX_EXTENDED_AMOUNT>
    <INV_TAX_CODE_NAME>US Tax</INV_TAX_CODE_NAME>
    <INV_TAX_RATE>0</INV_TAX_RATE>
    <INV_TAX_EXEMPTION_ID/>
    <INV_TAX_LOCATION_RATE_ID/>
    <INV_TAX_PRECEDENCE/>
    <EURO_TAXABLE_AMOUNT>51</EURO_TAXABLE_AMOUNT>
    <INV_TAX_INCLUSIVE_FLAG>N</INV_TAX_INCLUSIVE_FLAG>
    <D_TAX_SUMMARY> 0.00 </D_TAX_SUMMARY>
    <INV_TAX_TOTAL>0</INV_TAX_TOTAL>
    <INV_TAX_DESCRIPTION>Tax US Tax @ 0.00</INV_TAX_DESCRIPTION>
    <D_EURO_TAXABLE_AMOUNT> 51.00 </D_EURO_TAXABLE_AMOUNT>
    </G_SUMMARY_INV>
    </LIST_G_SUMMARY_INV>
    <LIST_G_SHIP_CUSTOMER>
    <G_SHIP_CUSTOMER>
    <SHIP_CUST_NAME>xx</SHIP_CUST_NAME>
    <SHIP_ADDRESS1>xx</SHIP_ADDRESS1>
    <SHIP_ADDRESS2/>
    <SHIP_ADDRESS3/>
    <SHIP_ADDRESS4/>
    <SHIP_CITY>VAN NUYS</SHIP_CITY>
    <SHIP_STATE>CA</SHIP_STATE>
    <SHIP_POSTAL_CODE>91405</SHIP_POSTAL_CODE>
    <SHIP_COUNTRY>US</SHIP_COUNTRY>
    <SHIP_SITE_ID>xx</SHIP_SITE_ID>
    <SHIP_CUSTOMER_ID>xx</SHIP_CUSTOMER_ID>
    <SHIP_SITE_TAX_REFERENCE/>
    <SHIP_CUST_TAX_REFERENCE/>
    <SHIP_TO_STATE>CA</SHIP_TO_STATE>
    <SHIP_TO_PROVINCE/>
    <SHIP_COUNTRY_DESCRIPTION>United States</SHIP_COUNTRY_DESCRIPTION>
    <SHIP_TRX_TAX_REFERENCE/>
    <C_SHIP_TO_CONCATENATED>xx
    United States</C_SHIP_TO_CONCATENATED>
    </G_SHIP_CUSTOMER>
    </LIST_G_SHIP_CUSTOMER>
    <LIST_G_REMIT_CUSTOMER>
    <G_REMIT_CUSTOMER>
    <REMIT_PROVINCE/>
    <REMIT_ADDRESS1>DRESSER, INC - xx</REMIT_ADDRESS1>
    <REMIT_ADDRESS2>FED TAX NO: xx</REMIT_ADDRESS2>
    <REMIT_ADDRESS3>PO BOX xxx</REMIT_ADDRESS3>
    <REMIT_ADDRESS4/>
    <REMIT_CITY>DALLAS</REMIT_CITY>
    <REMIT_STATE>TX</REMIT_STATE>
    <REMIT_POSTAL_CODE>75320-1266</REMIT_POSTAL_CODE>
    <REMIT_COUNTRY>US</REMIT_COUNTRY>
    <REMIT_ADDRESS_ID>1210</REMIT_ADDRESS_ID>
    <REMIT_COUNTRY_DESCRIPTION>United States</REMIT_COUNTRY_DESCRIPTION>
    <CF_ADDR>DRESSER, INC - xxx
    United States</CF_ADDR>
    <C_REMIT_TO_CONCATENATED>DRESSER, INC - xxx
    United States</C_REMIT_TO_CONCATENATED>
    <CF_SPECIAL_NOTE>Billing Inquiries: DRESSER, INC - xxx </CF_SPECIAL_NOTE>
    </G_REMIT_CUSTOMER>
    </LIST_G_REMIT_CUSTOMER>
    <LIST_G_ADJUSTMENT>
    </LIST_G_ADJUSTMENT>
    <C_CONTRACT_NAME/>
    <CF_ADDR_STRING>xxx;</CF_ADDR_STRING>
    <CF_FOB>O</CF_FOB>
    <CF_SHIPPING_INSTRUCTION/>
    <SHIP_VIA_DESCRIPTION>SHIPPING TO DECIDE</SHIP_VIA_DESCRIPTION>
    <CF_WORK_REQUIRED>Q3-L4</CF_WORK_REQUIRED>
    <CP_PROBLEM_SPL_INSTN>Problem - Q3-L4
    Resolution - </CP_PROBLEM_SPL_INSTN>
    <CP_SERV_REQDATE/>
    <CF_TRACKING_NUMBER> </CF_TRACKING_NUMBER>
    <CF_RESET_INVOICE_NUMBERING>0</CF_RESET_INVOICE_NUMBERING>
    <D_INV_TAX_AMOUNT> 0.00 </D_INV_TAX_AMOUNT>
    <CF_DELIVERY_ADDRESS/>
    <LINE_COUNT>2</LINE_COUNT>
    <D_INV_ITEM_AMOUNT> 136.00 </D_INV_ITEM_AMOUNT>
    <TERM_RELATIVE_ROUNDED>100</TERM_RELATIVE_ROUNDED>
    <INV_SALES_ORDER_COUNT>1</INV_SALES_ORDER_COUNT>
    <INV_ITEM_AMOUNT>136</INV_ITEM_AMOUNT>
    <D_INV_FREIGHT_AMOUNT> 0.00 </D_INV_FREIGHT_AMOUNT>
    <INV_FREIGHT_AMOUNT>0</INV_FREIGHT_AMOUNT>
    <INV_TAX_AMOUNT>0</INV_TAX_AMOUNT>
    <D_INV_ALL_AMOUNT> 136.00 </D_INV_ALL_AMOUNT>
    <INV_SALES_ORDER>15042116</INV_SALES_ORDER>
    <INV_ALL_AMOUNT>136</INV_ALL_AMOUNT>
    <TERM_TAX_COUNT>10</TERM_TAX_COUNT>
    <INV_TAX_COUNT>10</INV_TAX_COUNT>
    <TERM_ITEM_AMOUNT>85</TERM_ITEM_AMOUNT>
    <TERM_TAX_AMOUNT>0</TERM_TAX_AMOUNT>
    <TERM_FREIGHT_AMOUNT>0</TERM_FREIGHT_AMOUNT>
    <SUM_LINE_TAX_INCL_AMOUNT>0</SUM_LINE_TAX_INCL_AMOUNT>
    <SUM_LINE_TAX_AMOUNT>0</SUM_LINE_TAX_AMOUNT>
    <TERM_ALL_AMOUNT>85</TERM_ALL_AMOUNT>
    </G_INV_TERM>
    </LIST_G_INV_TERM>
    <LIST_G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    <G_TEMP>
    <TRX_NUMBER1>100800</TRX_NUMBER1>
    <CUSTOMER_TRX_ID1>179471</CUSTOMER_TRX_ID1>
    </G_TEMP>
    </LIST_G_TEMP>
    <LIST_G_COMMITMENT_ADJUSTMENT>
    <G_COMMITMENT_ADJUSTMENT>
    <COMMIT_THIS_INVOICE/>
    <D_COMMIT_THIS_INVOICE> </D_COMMIT_THIS_INVOICE>
    <D_COMMIT_ACTIVITY> 0.00 </D_COMMIT_ACTIVITY>
    </G_COMMITMENT_ADJUSTMENT>
    </LIST_G_COMMITMENT_ADJUSTMENT>
    <C_TRX_TYPE>INVOICE</C_TRX_TYPE>
    <CF_TAX_CITY>1</CF_TAX_CITY>
    <CP_TCITY> 0.00 </CP_TCITY>
    <CF_TAX_STATE>1</CF_TAX_STATE>
    <CP_TSTATE> 0.00 </CP_TSTATE>
    <CF_TAX_COUNTY>1</CF_TAX_COUNTY>
    <CP_TCOUNTY> 0.00 </CP_TCOUNTY>
    <CF_TAX_LOCAL>1</CF_TAX_LOCAL>
    <CP_TLOCAL> 0.00 </CP_TLOCAL>
    <CF_PHONE_NUMBER>909-xxx-xxxx</CF_PHONE_NUMBER>
    <C_TRX_DISPLAY/>
    <C_SHIP>WAS</C_SHIP>
    <CF_IF_SALES_ORDER_EXISTS>1</CF_IF_SALES_ORDER_EXISTS>
    <CF_NO>ABC</CF_NO>
    <GET_CONTACT_INFO>Y</GET_CONTACT_INFO>
    <SALESREP_NAME>WSG - NJ</SALESREP_NAME>
    <BILL_TO_FNAME/>
    <CF_CTRL_STRING>{PRN:noprint CPY:1} </CF_CTRL_STRING>
    <BILL_TO_LNAME/>
    <BILL_TO_MAIL_STOP/>
    <BILL_TO_ATTN/>
    <SHIP_TO_FNAME/>
    <SHIP_TO_LNAME/>
    <SHIP_TO_ATTN/>
    <SHIP_TO_MAIL_STOP/>
    <TAX_PRINTING_OPTION>ITEMIZE AND SUM</TAX_PRINTING_OPTION>
    <TAX_GROUP_BY>,v.tax_code</TAX_GROUP_BY>
    <TAX_ORDER_BY>v.tax_code,</TAX_ORDER_BY>
    <TAX_SUMMARY>Y</TAX_SUMMARY>
    <TAX_DETAIL>Y</TAX_DETAIL>
    <TAX_RECAP>N</TAX_RECAP>
    <FREIGHT_DETAIL>Y</FREIGHT_DETAIL>
    <COMMIT_BOX_FLAG>N</COMMIT_BOX_FLAG>
    <COMMIT_TRX_NUMBER/>
    <COMMIT_PARENT_TYPE/>
    <COMMIT_PARENT_TYPE_NAME/>
    <COMMIT_ORIGINAL_AMT/>
    <COMMIT_TOTAL_ACTIVITY/>
    <COMMIT_AMT_UNINVOICED/>
    <COMMIT_START_DATE/>
    <COMMIT_END_DATE/>
    <REMIT_TO_CONTROL_ID>1210</REMIT_TO_CONTROL_ID>
    <PREVIOUS_TYPE_NAME/>
    <PREVIOUS_TRX_NUMBER/>
    <TERM_COUNT>1</TERM_COUNT>
    <TERM_MAX_VALUE>1</TERM_MAX_VALUE>
    <D_COMMIT_BALANCE> </D_COMMIT_BALANCE>
    <D_COMMIT_AMOUNT> </D_COMMIT_AMOUNT>
    <D_COMMIT_AMT_UNINVOICED> </D_COMMIT_AMT_UNINVOICED>
    <BILL_COUNTRY_DESCRIPTION>United States</BILL_COUNTRY_DESCRIPTION>
    <TRX_TAX_REFERENCE/>
    <C_BILL_TO_CONCATENATED>Attn: Accounts Payable
    XXX COMPANY - NA MARKETING
    PO BOX Q, SECTION XX
    XX
    CONCORD CA 94524-XXXX
    United States</C_BILL_TO_CONCATENATED>
    </G_INVOICE>
    </LIST_G_INVOICE>
    </G_ORDER_BY>
    </LIST_G_ORDER_BY>
    <LIST_G_REPEAT_HEADER>
    <G_REPEAT_HEADER>
    <ROWNUM>1</ROWNUM>
    </G_REPEAT_HEADER>
    </LIST_G_REPEAT_HEADER>
    <MSG_PRECEDENCE>Precedence:</MSG_PRECEDENCE>
    <SPECIAL_INSTRUCTIONS/>
    <MSG_SALES_TAX>Sales Tax @ &amp;TAX_RATE</MSG_SALES_TAX>
    <MSG_VAT_TAX>Tax &amp;TAX_CODE &amp;EURO_TAXABLE_AMOUNT@ &amp;TAX_RATE</MSG_VAT_TAX>
    <REPORT_ALL_AMOUNT>85</REPORT_ALL_AMOUNT>
    <REPORT_ITEM_AMOUNT>85</REPORT_ITEM_AMOUNT>
    <REPORT_TAX_AMOUNT>0</REPORT_TAX_AMOUNT>
    <REPORT_FREIGHT_AMOUNT>0</REPORT_FREIGHT_AMOUNT>
    <REPORT_TERM_COUNT>1</REPORT_TERM_COUNT>
    <PAGE_ITEM_RUNNING_TOTAL>136</PAGE_ITEM_RUNNING_TOTAL>
    <PAGE_FREIGHT_RUNNING_TOTAL>0</PAGE_FREIGHT_RUNNING_TOTAL>
    <PAGE_TAX_RUNNING_TOTAL>0</PAGE_TAX_RUNNING_TOTAL>
    <PAGE_ALL_RUNNING_TOTAL>136</PAGE_ALL_RUNNING_TOTAL>
    <PAGE_CURRENCY_CODE>USD</PAGE_CURRENCY_CODE>
    <DISP_ITEM_RUNNING_TOTAL/>
    <PAGE_TERM_ITEM_AMOUNT>85</PAGE_TERM_ITEM_AMOUNT>
    <INVOICE_LINES_PRINTED_FLAG>N</INVOICE_LINES_PRINTED_FLAG>
    <PAGE_TERM_TAX_AMOUNT>0</PAGE_TERM_TAX_AMOUNT>
    <PAGE_TERM_FREIGHT_AMOUNT>0</PAGE_TERM_FREIGHT_AMOUNT>
    <PAGE_TERM_ALL_AMOUNT>85</PAGE_TERM_ALL_AMOUNT>
    <PAGE_END_OF_INVOICE>Y</PAGE_END_OF_INVOICE>
    <PAGE_ADJ_LINE_AMOUNT/>
    <PAGE_ADJ_TAX_AMOUNT/>
    <PAGE_ADJ_FREIGHT_AMOUNT/>
    <PAGE_ADJ_ALL_AMOUNT/>
    <PAGE_ADJ_COMMENTS/>
    <PAGE_TRX_TYPE>INV</PAGE_TRX_TYPE>
    <REPORT_INV_COUNT>1</REPORT_INV_COUNT>
    <PRODUCT_INSTALLED_SO>N</PRODUCT_INSTALLED_SO>
    <REPORT_ADJ_ALL_AMOUNT>85</REPORT_ADJ_ALL_AMOUNT>
    <D_PAGE_TERM_ITEM_AMOUNT/>
    <D_PAGE_TERM_TAX_AMOUNT/>
    <D_PAGE_TERM_FREIGHT_AMOUNT/>
    <D_PAGE_TERM_ALL_AMOUNT/>
    <D_PAGE_ADJ_LINE_AMOUNT/>
    <D_PAGE_ADJ_TAX_AMOUNT/>
    <D_PAGE_ADJ_FREIGHT_AMOUNT/>
    <D_PAGE_ADJ_ALL_AMOUNT/>
    <C_EC_WHERE_CLAUSE>AND NOT EXISTS
              (SELECT 'X'
              from ECE_TP_DETAILS ETD,
              ECE_TP_HEADERS ETH
              WHERE ETH.TP_HEADER_ID = A_BILL.TP_HEADER_ID
              AND ETD.TP_HEADER_ID = ETH.TP_HEADER_ID
              AND ETD.EDI_FLAG = 'Y'
              AND ETD.DOCUMENT_ID = 'INO'
              AND ETD.DOCUMENT_TYPE =
                   DECODE (TYPES.TYPE, 'CM',
                   DECODE(A.PREVIOUS_CUSTOMER_TRX_ID,
                        NULL,'OACM',
                        'CM'),
                   TYPES.TYPE)
         </C_EC_WHERE_CLAUSE>
    <RP_ERROR>ERROR</RP_ERROR>
    <C_DESCRIPTION/>
    <C_TAX_SUMMARY_NAME/>
    <C_CREDIT_MEMO/>
    <C_CONFIRMATION1/>
    <C_CONFIRMATION2/>
    <C_NUM_ADJUST/>
    <C_DATE/>
    <C_TAX_SUMMARY_CODE/>
    <PAGE_SUM_TAX_AMOUNT>0</PAGE_SUM_TAX_AMOUNT>
    <PAGE_SUM_TAX_INCL_AMOUNT>0</PAGE_SUM_TAX_INCL_AMOUNT>
    <C_PRB_BRIEF_DESC/>
    <CP_SID>SID:NAOADEV3</CP_SID>
    </DWDRAXINV>
    Here's the error:
    XML Publisher: Version : 11.5.0
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    XDOBURSTREP module: XML Publisher Report Bursting Program
    Current system time is 24-JAN-2008 14:45:31
    XML/BI Publisher Version : 5.6.3
    Request ID: 12167213
    All Parameters: ReportRequestID=12167133:DebugFlag=Y
    Report Req ID: 12167133
    Debug Flag: Y
    Updating request description
    Updated description
    Retrieving XML request information
    Node Name:DFW111SSUN012
    Preparing parameters
    null output =/naoadev1/app/comn/admin/out/naoadev1_dfw111ssun012/o12167213.out
    inputfilename =/naoadev1/app/comn/admin/out/naoadev1_dfw111ssun012/o12167133.out
    Data XML File:/naoadev1/app/comn/admin/out/naoadev1_dfw111ssun012/o12167133.out
    Set Bursting parameters..
    Temp. Directory:/naoadev1/app/appl/dres/11.5.0/xml
    [012408_024539888][][STATEMENT] Oracle XML Parser version ::: Oracle XDK Java 9.0.4.0.0 Production
    Start bursting process..
    [012408_024539899][][STATEMENT] /naoadev1/app/appl/dres/11.5.0/xml
    [012408_024539984][][EXCEPTION] oracle.xml.parser.v2.XMLParseException: Expected '-->' instead of 'EOF'.
         at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:205)
         at oracle.xml.parser.v2.XMLReader.scanComment(XMLReader.java:1087)
         at oracle.xml.parser.v2.NonValidatingParser.parseComment(NonValidatingParser.java:368)
         at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1222)
         at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:301)
         at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:268)
         at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:227)
         at oracle.apps.xdo.common.config.ConfigReader.read(ConfigReader.java:437)
         at oracle.apps.xdo.common.config.ConfigReader.read(ConfigReader.java:416)
         at oracle.apps.xdo.batch.bursting.FileHandler.setTempDir(FileHandler.java:272)
         at oracle.apps.xdo.batch.bursting.FileHandler.<init>(FileHandler.java:41)
         at oracle.apps.xdo.batch.BurstingProcessorEngine.setTempDir(BurstingProcessorEngine.java:774)
         at oracle.apps.xdo.batch.BurstingProcessorEngine.process(BurstingProcessorEngine.java:891)
         at oracle.apps.xdo.oa.cp.JCP4XDOBurstingEngine.runProgram(JCP4XDOBurstingEngine.java:269)
         at oracle.apps.fnd.cp.request.Run.main(Run.java:161)
    Followed many lines later by this error:
    [012408_024546649][oracle.apps.xdo.batch.bursting.ProcessCoreDocument][EXCEPTION] java.io.FileNotFoundException: -- I used my own path
    /xdoehgHGavj1O012408_0245466440.fo (No such file or directory)
         at java.io.FileOutputStream.open(Native Method)
         at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
         at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
    which I assume is simply a consequence of the earlier step failing...
    Here's the control file for the bursting program, based on the demo:
    <?xml version="1.0" encoding="UTF-8"?>
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi" type="bursting">
    <xapi:request select="/DWDRAXINV/LIST_G_ORDER_BY/G_ORDER_BY/LIST_G_INVOICE/G_INVOICE">
    <xapi:delivery>
    <xapi:email id="123" server="ads119sexch1.corp.dresser.com" port="25" from="[email protected]" reply-to ="[email protected]">
    <xapi:message id="123" to="[email protected]" attachment="true" subject="Your Invoice #${TRX_NUMBER} ${BILL_CUST_NAME}">Dear Sir/Madam,
    Please find attached your invoice #${TRX_NUMBER} for ${BILL_CUST_NAME} dated ${TRX_DATE}
    Your payment terms for this invoice are ${G_INV_TERM[1]/TERM_NAME}.
    Please pay on time.
    Regards
    Oracle</xapi:message>
    </xapi:email>
    </xapi:delivery>
    <xapi:document output-type="pdf" delivery="123">
    <xapi:template type="rtf"
    location="/naoadev3/app/appl/dres/11.5.0/xml/DRESRTSRAXINV.rtf" >
    </xapi:template>
    </xapi:document>
    </xapi:request>
    </xapi:requestset>
    This part seems fine - the email goes out, but the expected PDF attachment of the invoice is not there, presumably because it wasn't generated.
    Thanks for making it to the bottom of this!!!
    Any suggestions?
    Thanks,
    Eric Safern
    Dresser, Inc.

    Hello,
    I'm working on the similar requirement. same bursting the program based on the TRX_NUMBER. Does the bursting happens?
    Thanks
    Geetha

  • XML publisher : Error oracle.xml.parser.v2.XMLParseException: Expected ';'

    I am trying to output a customer list containing customer number and customer name using 11i ( 11.5.10 CU2) with latest XML publisher patches on.
    How do I debug the following error in OPP log:
    [UNEXPECTED] [72156:RT1088889] oracle.xml.parser.v2.XMLParseException: Expected ';'.
    The XML ouput file is generated fine but get the following error in the log file.
    | Starting concurrent program execution...
    +-----------------------------
    Spawned Process 13471
    Executing request completion options...
    ------------- 1) PUBLISH -------------
    Beginning post-processing of request 1088898 on node O11IDEV at 03-APR-2006 13:57:35.
    Post-processing of request 1088898 failed at 03-APR-2006 13:57:37 with the error message:
    One or more post-processing actions failed. Consult the OPP service log for details.
    ------------- 2) PRINT   -------------
    Finished executing request completion options.
    The OPP service log messge is :
    [4/3/06 6:02:53 AM] [main] Starting GSF service with concurrent process id = 72156.
    [4/3/06 6:02:53 AM] [main] Initialization Parameters: oracle.apps.fnd.cp.opp.OPPServiceThread:2:0:max_threads=5
    [4/3/06 6:02:53 AM] [Thread-12] Service thread starting up.
    [4/3/06 6:02:53 AM] [Thread-13] Service thread starting up.
    [4/3/06 1:16:08 PM] [OPPServiceThread0] Post-processing request 1088889.
    [4/3/06 1:16:08 PM] [72156:RT1088889] Executing post-processing actions for request 1088889.
    [4/3/06 1:16:09 PM] [72156:RT1088889] Starting XML Publisher post-processing action.
    [4/3/06 1:16:09 PM] [72156:RT1088889]
    Template code: COCXDOTEST
    Template app: COC
    Language: en
    Territory: US
    Output type: PDF
    [040306_011610131][][EXCEPTION] [DEBUG] ------- Preferences defined PreferenceStore -------
    [040306_011610132][][EXCEPTION] [DEBUG] ------- Environment variables stored in EnvironmentStore -------
    [040306_011610133][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MAX]:[2]
    [040306_011610134][][EXCEPTION] [DEBUG] [USER_ID]:[-1]
    [040306_011610134][][EXCEPTION] [DEBUG] [FND_JDBC_PLSQL_RESET]:[false]
    [040306_011610135][][EXCEPTION] [DEBUG] [NLS_TERRITORY]:[AMERICA]
    [040306_011610135][][EXCEPTION] [DEBUG] [RESP_APPL_ID]:[-1]
    [040306_011610136][][EXCEPTION] [DEBUG] [FND_MAX_JDBC_CONNECTIONS]:[500]
    [040306_011610136][][EXCEPTION] [DEBUG] [NLS_SORT]:[BINARY]
    [040306_011610137][][EXCEPTION] [DEBUG] [FND_JDBC_IDLE_THRESHOLD.LOW]:[-1]
    [040306_011610138][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MIN]:[1]
    [040306_011610138][][EXCEPTION] [DEBUG] [RESP_ID]:[-1]
    [040306_011610139][][EXCEPTION] [DEBUG] [NLS_NUMERIC_CHARACTERS]:[.,]
    [040306_011610139][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_DECAY_SIZE]:[5]
    [040306_011610140][][EXCEPTION] [DEBUG] [NLS_LANGUAGE]:[AMERICAN]
    [040306_011610140][][EXCEPTION] [DEBUG] [FND_JDBC_IDLE_THRESHOLD.HIGH]:[-1]
    [040306_011610140][][EXCEPTION] [DEBUG] [NLS_DATE_LANGUAGE]:[AMERICAN]
    [040306_011610141][][EXCEPTION] [DEBUG] [LOGIN_ID]:[-1]
    [040306_011610141][][EXCEPTION] [DEBUG] [NLS_DATE_FORMAT]:[DD-MON-RR]
    [040306_011610142][][EXCEPTION] [DEBUG] [APPS_JDBC_URL]:[jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS_LIST=(ADDRESS
    =(PROTOCOL=tcp)(HOST=O11IDEV.concentra.com)(PORT=9200)))(CONNECT_DATA=(SID=DEV1)))]
    [040306_011610143][][EXCEPTION] [DEBUG] [SECURITY_GROUP_ID]:[0]
    [040306_011610144][][EXCEPTION] [DEBUG] [NLS_CHARACTERSET]:[US7ASCII]
    [040306_011610144][][EXCEPTION] [DEBUG] [FND_JDBC_CONTEXT_CHECK]:[true]
    [040306_011610145][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_DECAY_INTERVAL]:[300]
    [040306_011610145][][EXCEPTION] [DEBUG] [FND_JDBC_USABLE_CHECK]:[false]
    [040306_011610147][][EXCEPTION] [DEBUG] ------- Properties stored in Java System Properties -------
    [040306_011610148][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MAX]:[2]
    [040306_011610149][][EXCEPTION] [DEBUG] [sun.cpu.isalist]:[pa2.0 pa1.2 pa1.1 pa1.0]
    [040306_011610149][][EXCEPTION] [DEBUG] [java.version]:[1.3.1.09]
    [040306_011610150][][EXCEPTION] [DEBUG] [java.awt.graphicsenv]:[sun.awt.X11GraphicsEnvironment]
    [040306_011610150][][EXCEPTION] [DEBUG] [java.specification.vendor]:[Sun Microsystems Inc.]
    [040306_011610151][][EXCEPTION] [DEBUG] [sun.io.unicode.encoding]:[UnicodeBig]
    [040306_011610151][][EXCEPTION] [DEBUG] [JTFDBCFILE]:[oracle/app/dev1app/dev1appl/fnd/11.5.0/secure/o11idev_dev1.dbc]
    [040306_011610152][][EXCEPTION] [DEBUG] [java.runtime.name]:[Java(TM) 2 Runtime Environment, Standard Edition]
    [040306_011610153][][EXCEPTION] [DEBUG] [user.home]:[u02/app/dev1app]
    [040306_011610153][][EXCEPTION] [DEBUG] [java.specification.version]:[1.3]
    [040306_011610154][][EXCEPTION] [DEBUG] [java.vm.info]:[mixed mode]
    [040306_011610154][][EXCEPTION] [DEBUG] [user.dir]:[u02/app/dev1app/dev1appl/dev1csf/log/DEV1_o11idev]
    [040306_011610155][][EXCEPTION] [DEBUG] [java.io.tmpdir]:[var/tmp/]
    [040306_011610155][][EXCEPTION] [DEBUG] [LONG_RUNNING_JVM]:[true]
    [040306_011610155][][EXCEPTION] [DEBUG] [java.ext.dirs]:[opt/java1.3/jre/lib/ext]
    [040306_011610156][][EXCEPTION] [DEBUG] [dbcfile]:[oracle/app/dev1app/dev1appl/fnd/11.5.0/secure/o11idev_dev1.dbc]
    [040306_011610156][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MIN]:[1]
    [040306_011610157][][EXCEPTION] [DEBUG] [java.awt.fonts]:[]
    [040306_011610157][][EXCEPTION] [DEBUG] [java.class.version]:[47.0]
    [040306_011610158][][EXCEPTION] [DEBUG] [OVERRIDE_DBC]:[true]
    [040306_011610158][][EXCEPTION] [DEBUG] [sun.cpu.endian]:[big]
    [040306_011610159][][EXCEPTION] [DEBUG] [java.class.path]:[/opt/java1.3/lib/rt.jar:/opt/java1.3/lib/tools.jar:/opt/java1.3/jre/lib/rt.jar:/opt
    /java1.3/jre/lib/i18n.jar:/oracle/app/dev1app/dev1comn/java/appsborg.zip:/oracle/app/dev1app/dev1ora/8.0.6.9/forms60/java:/oracle/app/dev1app/d
    ev1comn/java]
    [040306_011610160][][EXCEPTION] [DEBUG] [os.name]:[HP-UX]
    [040306_011610160][][EXCEPTION] [DEBUG] [sun.boot.class.path]:[/opt/java1.3/jre/lib/rt.jar:/opt/java1.3/jre/lib/i18n.jar:/opt/java1.3/jre/lib/
    sunrsasign.jar:/opt/java1.3/jre/classes]
    [040306_011610161][][EXCEPTION] [DEBUG] [java.vendor.url.bug]:[http://www.hp.com/go/Java]
    [040306_011610161][][EXCEPTION] [DEBUG] [user.timezone]:[America/Chicago]
    [040306_011610162][][EXCEPTION] [DEBUG] [java.vm.name]:[Java HotSpot(TM) Server VM]
    [040306_011610163][][EXCEPTION] [DEBUG] [CACHEMODE]:[DISTRIBUTED]
    [040306_011610164][][EXCEPTION] [DEBUG] [cpid]:[72156]
    [040306_011610164][][EXCEPTION] [DEBUG] [java.vm.specification.name]:[Java Virtual Machine Specification]
    [040306_011610165][][EXCEPTION] [DEBUG] [java.vm.vendor]:[Hewlett-Packard Company]
    [040306_011610165][][EXCEPTION] [DEBUG] [user.language]:[en]
    [040306_011610166][][EXCEPTION] [DEBUG] [java.library.path]:[/opt/java1.3/bin/../jre/lib/PA_RISC2.0/native_threads:/opt/java1.3/bin/../jre/lib
    /PA_RISC2.0/server:/opt/java1.3/bin/../jre/lib/PA_RISC2.0:/oracle/app/dev1app/dev1ora/iAS_1.0.2/lib:/oracle/app/dev1app/dev1ora/8.0.6.9/network
    /jre11/lib/PA_RISC/native_threads:/oracle/app/dev1app/dev1appl/cz/11.5.0/bin::/oracle/app/dev1app/dev1ora/8.0.6.9/lib:/usr/lib:/usr/lib]
    [040306_011610167][][EXCEPTION] [DEBUG] [path.separator]:[:]
    [040306_011610167][][EXCEPTION] [DEBUG] [java.vm.specification.version]:[1.0]
    [040306_011610168][][EXCEPTION] [DEBUG] [java.awt.printerjob]:[sun.awt.motif.PSPrinterJob]
    [040306_011610168][][EXCEPTION] [DEBUG] [file.separator]:[]
    [040306_011610169][][EXCEPTION] [DEBUG] [java.runtime.version]:[1.3.1.09-030418-12:59]
    [040306_011610170][][EXCEPTION] [DEBUG] [java.vm.specification.vendor]:[Sun Microsystems Inc.]
    [040306_011610171][][EXCEPTION] [DEBUG] [java.vendor]:[Hewlett-Packard Co.]
    [040306_011610172][][EXCEPTION] [DEBUG] [file.encoding.pkg]:[sun.io]
    [040306_011610172][][EXCEPTION] [DEBUG] [java.vendor.url]:[http://www.hp.com/go/Java]
    [040306_011610173][][EXCEPTION] [DEBUG] [logfile]:[oracle/app/dev1app/dev1appl/dev1csf/log/DEV1_o11idev/FNDOPP72156.txt]
    040306_011610174][][EXCEPTION] [DEBUG] [os.arch]:[PA_RISC2.0]
    [040306_011610174][][EXCEPTION] [DEBUG] [os.version]:[B.11.11]
    [040306_011610174][][EXCEPTION] [DEBUG] [java.home]:[opt/java1.3/jre]
    [040306_011610175][][EXCEPTION] [DEBUG] [java.specification.name]:[Java Platform API Specification]
    [040306_011610175][][EXCEPTION] [DEBUG] [sun.boot.library.path]:[opt/java1.3/jre/lib/PA_RISC2.0]
    [040306_011610176][][EXCEPTION] [DEBUG] [line.separator]:[
    [040306_011610176][][EXCEPTION] [DEBUG] [file.encoding]:[8859_1]
    [040306_011610177][][EXCEPTION] [DEBUG] [user.name]:[oradev]
    [040306_011610177][][EXCEPTION] [DEBUG] [java.vm.version]:[1.3.1 1.3.1.09-_18_apr_2003_14_01 PA2.0]
    [4/3/06 1:16:13 PM] [UNEXPECTED] [72156:RT1088889] oracle.xml.parser.v2.XMLParseException: Expected ';'.
    at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:205)
    at oracle.xml.parser.v2.XMLReader.scanNameChars(XMLReader.java:1001)
    at oracle.xml.parser.v2.XMLReader.scanQName(XMLReader.java:1677)
    at oracle.xml.parser.v2.XMLReader.getEntity(XMLReader.java:1928)
    at oracle.xml.parser.v2.NonValidatingParser.parseContentEntityRef(NonValidatingParser.java:1575)
    at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1202)
    at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:301)
    at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:268)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:227)
    at oracle.apps.xdo.common.xml.XSLTClassic.transform(XSLTClassic.java:172)
    at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:160)
    at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:1015)
    at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:968)
    at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:209)
    at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1561)
    at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:951)
    at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5975)
    at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3555)
    at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3614)
    at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:229)
    at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:153)

    I was able to correct the error. The data contained an '&' sign and that was causing the xml parser to fail with the above error. If the & is replaced by a different character other than & then this error does not occur.
    Ashok

  • XML Parsing error in PL/SQL

    Hello,
    I have some problem in parsing Mircrosoft OpenXML file using Oracle 10g Release2 XML Parser for PL/SQL.
    I use dbms_xmlparser, dbms_xmldom, dbms_xslprocessor packages
    OpenXML file use "w:" as namespace, so every element has prefix "w:" like
    <w:wordDocument ..>
    <w:body..>
    <w:p..>
    <w:r..>
    <w:t..>
    My job is to read OpenXML file inside PL/SQL code, parse it, and load it into the corresponding table.
    Here is my PL/SQL code.
    DECLARE
    doc dbms_xmldom.DOMDocument;
    node_list dbms_xmldom.DOMNodeList;
    l_node dbms_xmldom.DOMNode;
    one_element dbms_xmldom.DOMElement;
    PROCEDURE p (msg VARCHAR2, nl BOOLEAN := TRUE) IS
    BEGIN
    dbms_output.put_line (msg);
    IF nl THEN dbms_output.put(CHR(10)); END IF;
    END:
    BEGIN
    doc := xml.parse(BFileName('XML_DIR','OpenXMLFile.xml'));
    node_list := xpath.selectNodes(doc, '/w:wordDocument/w:body/w:p/w:r/w:t');
    FOR j IN 0..dbms_xmldom.getLength(node_list)-1
    LOOP
    p( xpath.valueOf(dbms_xmldom.item(node_list, j), '.'), nl=>FALSE );
    END LOOP;
    Here is the error message.
    ERROR at line 1:
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00601: Invalid token in: '/w:wordDocument/w:body/w:p/w:r/w:t
    [starts-with(., "!")]'
    ORA-06512: at "XDB.DBMS_XSLPROCESSOR", line 900
    ORA-06512: at "XDB.DBMS_XSLPROCESSOR", line 928
    ORA-06512: at "SYSTEM.XPATH", line 173
    ORA-06512: at "SYSTEM.XPATH", line 179
    ORA-06512: at line 38
    I really don't know why I got this error message nor how to solve it. If I remove "w:" manually within open xml file, then parsing works well. I guess XML parser for PL/SQL doesn't recognize ":" or maybe doesn't support namespace?
    My question is
    1. In oracle 10g release2, XML Parser for PL/SQL can recognize ":" in the element name? or does it support namespace? If not, is there any workaround for solving this problem?
    2. How can I make XML Parser recognize ":" in the element name in the xml file or How can I declare namespace in the PL/SQL code so that PL/SQL xml parser can recognize namespace like "w:"?
    In fact, I don't use XML DB and what I want to do is just to load XML file into the relational table and some parts of whole XML file will be inserted into the CLOB in the table.
    Should I really use XML DB to do the above job?
    Any comment or suggestions will be greatly appreciated.

    This works correctly. I added prefixes to your extract path. (I had to add the xmlns:xsi to your root node also.)
    declare
      -- Local variables here
       doc_in       dbms_xmldom.DOMDocument;
       aNodeList    dbms_xmldom.DOMNodeList;
    begin
      -- Test statements here
      doc_in := dbms_xmldom.newdomdocument(
    '<?xml version="1.0" encoding="UTF-8"?>' ||
    '<ap:Collection xmlns:ap="http://www.abc.com/ap" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.abc.com/ap template.xsd"> ' ||
    '<ap:info>' ||
    '<ap:data name="Barbie" age="3">' ||
    '</ap:data>' ||
    '</ap:info>' ||
    '</ap:Collection>');
      aNodeList := dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(doc_in),
                                                 '/ap:Collection/ap:info',
                                                 'xmlns:ap="http://www.abc.com/ap"');  
      dbms_output.put_line('length of aNodeList = '|| dbms_xmldom.getLength(aNodeList) );
    end;

  • XML Parsing - problem with a value of an element if starting with space

    Hi Experts,
    I need your valuable guidence to get out of a problem in parsing an XML file.
    An XML file is read into xstring variable and it is processed to be split into the corresponding itab.
    Please find the code below
    types: begin of ty-itab,
                field(4096),
              end of ty-itab.
    Data:
    g_ixml                       TYPE REF TO if_ixml,
    g_ixmldocument               TYPE REF TO if_ixml_document,
    g_ixmlstreamfactory          TYPE REF TO if_ixml_stream_factory,
    g_ixmlstream                 TYPE REF TO if_ixml_istream,
    g_ixmlparser              TYPE REF TO if_ixml_parser,
    g_ixmlnodemainlist        TYPE REF TO if_ixml_node_list,
    g_ixmlnodelistmainelement TYPE REF TO if_ixml_node_list,
    g_sxmldata                TYPE string,
    g_ixmlnode                TYPE REF TO if_ixml_node.
      DATA: wa_xmltab TYPE xstring,
                itab type table of ty-itab.
    OPEN DATASET l_file IN BINARY MODE FOR INPUT MESSAGE v_msg.
    READ DATASET l_file INTO wa_xmltab.
    PERFORM f_create_xmltable USING wa_xmltab
                                  CHANGING v_msg.
    IF NOT v_msg IS INITIAL.
          msg = v_msg.
          EXIT.
        ELSE.
          itab[] = it_xmldata[].
        ENDIF.
    CLOSE DATASET l_file.
    Subroutine to convert xstring to char type ITAB.
    FORM f_create_xmltable USING  value(pi_inputxmlstring) TYPE xstring
                           CHANGING v_msg.
    *-- create the main factory
      g_ixml = cl_ixml=>create( ).
    *-- create the initial document
      g_ixmldocument = g_ixml->create_document( ).
    *-- create the stream factory
      g_ixmlstreamfactory = g_ixml->create_stream_factory( ).
    *create input stream
      g_ixmlstream = g_ixmlstreamfactory->create_istream_xstring( string =
    pi_inputxmlstring ).
    *-- create the parser
      g_ixmlparser = g_ixml->create_parser( stream_factory =
    g_ixmlstreamfactory
                                      istream        = g_ixmlstream
                                      document       = g_ixmldocument ).
    *-- parse the stream
      IF g_ixmlparser->parse( ) NE 0.
    *if parser cannot be created then give error exit
        IF g_ixmlparser->num_errors( ) NE 0.
          EXIT.
        ENDIF.
      ENDIF.
    *-- we don't need the stream any more, so let's close it...
      CALL METHOD g_ixmlstream->close( ).
      CLEAR g_ixmlstream.
    *get the number of main nodes of the XML document
      g_ixmlnodemainlist = g_ixmldocument->get_children( ).
    *set number of elemtns
      g_inummainelements = 0.
      g_imainelementsctr = 0.
      g_inummainelements = g_ixmlnodemainlist->get_length( ).
      g_ifirstlevelctr = 0.
    *loop through the document till all have nodes have been covered.
      WHILE g_ifirstlevelctr LT g_inummainelements.
    *get the first node
        g_ixmlnode = g_ixmlnodemainlist->get_item( g_ifirstlevelctr ).
    *check the type of node
        g_isnodeelement = g_ixmlnode->get_type( ).
    *if node is not of type Element then continue
    *because we have got to read only text from element nodes.
        IF g_isnodeelement NE c_nodeelement.
          g_ifirstlevelctr = g_ifirstlevelctr + 1.
          CONTINUE.
        ENDIF.
    *get nodes of the element just found.
        g_ixmlnodelistmainelement = g_ixmlnode->get_children( ).
    *get number of children of main element
        g_inumchildelements = g_ixmlnodelistmainelement->get_length( ).
    *loop trhough the number of children
        WHILE g_imainelementsctr LT g_inumchildelements.
          g_ixmlnodemainelement = g_ixmlnodelistmainelement->get_item(
        g_imainelementsctr ).
    *get type of node
          g_isnodeelement = g_ixmlnodemainelement->get_type( ).
          IF g_isnodeelement NE c_nodeelement.
            g_imainelementsctr = g_imainelementsctr + 1.
            CONTINUE.
          ENDIF.
    *get name of the node.
          g_selementvalue = g_ixmlnodemainelement->get_name( ).
    *get children of node
          g_childnodelist = g_ixmlnodemainelement->get_children( ).
          g_inumchildren =  g_childnodelist->get_length( ).
          g_ichildelementcounter = 0.
    *while there are number of children of node.loop through
          WHILE g_ichildelementcounter LT g_inumchildren.
    *get the child node
            g_childnode = g_childnodelist->get_item(
    g_ichildelementcounter ).
    *check the type of node
            g_isnodeelement = g_childnode->get_type( ).
    *if node is not of element type continue
            IF g_isnodeelement NE c_nodeelement.
              g_ichildelementcounter = g_ichildelementcounter + 1.
              CONTINUE.
            ENDIF.
    *otherwise get element name
            g_selementname = g_childnode->get_name( ).
    *get value stored in this node.
            g_selementvalue = g_childnode->get_value( ).
            g_numelem = g_inumchildren - 1.
            IF g_ichildelementcounter EQ g_numelem.
              CONCATENATE: g_slinedata g_selementvalue
                      INTO g_slinedata.
            ELSE.
    *      store the value of noide in delimiter ~ line
    *      Check for Invalid characters in file
                IF g_selementvalue CA '&'.
                  REPLACE ALL OCCURRENCES OF '&amp;' IN g_selementvalue WITH
                endif.
    *if value contains delimiter then error
                IF g_selementvalue CA '~'.             
                  V_MSG = text-003.
                  EXIT.
                ELSE.
                  CONCATENATE: g_slinedata g_selementvalue '~'  .
                  INTO g_slinedata.
                ENDIF.
            ENDIF.
    *continue
            g_ichildelementcounter = g_ichildelementcounter + 1.
          ENDWHILE.
          g_ichildelementcounter = 0.
    *increment the main element counter by one to go to the next node
          g_imainelementsctr = g_imainelementsctr  + 1.
    *move the current delimiter line creted to internal table to be given
    *back to the calling program
          MOVE g_slinedata TO wa_xmldata-data.
          APPEND wa_xmldata TO it_xmldata.
          MOVE '' TO g_slinedata.
          MOVE '' TO wa_xmldata-data.
        ENDWHILE.
    *increment counter to move to hte next node.
        g_ifirstlevelctr = g_ifirstlevelctr + 1.
        g_imainelementsctr = 0.
      ENDWHILE.
    ENDFORM.                    "f_create_xmltable
    XML structure
    <?xml version="1.0" encoding="utf-8"?>
    <ABCInbound xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\XYZSchema\ABCInbound.xsd">
    <HH>
    <RecordType>HH</RecordType>
    <Source>ABC</Source>
    <Destination>XYZ</Destination>
    <TimeStamp>20050909220546</TimeStamp>
    </HH>
    <BH>
    <RecordType>BH</RecordType>
    <DocType>AB</DocType>
    <Reference>2205516125</Reference>
    <DocumentDate>20080909</DocumentDate>
    <PostingDate></PostingDate>
    <CompanyCode>ABC</CompanyCode>
    <Currency>INR</Currency>
    <ExchangeRate>1.0000</ExchangeRate>
    <Park></Park>
    <ItemNumber>2</ItemNumber>
    </BH>
    <BL>
    <RecordType>BL</RecordType>
    <Reference>2205516125</Reference>
    <RefLineItem>1</RefLineItem>
    <AcctType>K</AcctType>
    <DrCrIndicator>H</DrCrIndicator>
    <Account>01000003</Account>
    <Amount>364.00</Amount>
    <VendorName-1>TOM &amp; JERRY IS MY</VendorName-1>
    <VendorName-2> NAME TO BE PAID</VendorName-2>
    <VendorName-3>1987566Z</VendorName-3>
    <VendorName-4>22</VendorName-4>
    <Street>UCX STREET</Street>
    <City>ROAD 4</City>
    <PostalCode>515004</PostalCode>
    <Country>IND</Country>
    <ContactPerson></ContactPerson>
    <AlternatePayeeCode></AlternatePayeeCode>
    <AlternatePayeeName-1></AlternatePayeeName-1>
    <AlternatePayeeName-2></AlternatePayeeName-2>
    <AlternatePayeeName-3></AlternatePayeeName-3>
    <PaymentTerms></PaymentTerms>
    <BaselineDate></BaselineDate>
    <PaymentMethods></PaymentMethods>
    <Allocation></Allocation>
    <LineItemText>item text</LineItemText>
    <TaxCode></TaxCode>
    <TaxAmount>0.00</TaxAmount>
    <WHTaxCode></WHTaxCode>
    <WHTaxbase>0.00</WHTaxbase>
    <Fund></Fund>
    <FundCenter></FundCenter>
    <CostCenter></CostCenter>
    <InternalOrder></InternalOrder>
    <TaxAutomatically></TaxAutomatically>
    <SpecialGLIndicator></SpecialGLIndicator>
    </BL>
    <TT>
    <RecordType>TT</RecordType>
    <TotalRecords>1</TotalRecords>
    <TotalValue>222</TotalValue>
    </TT>
    </ABCInbound>
    when the above xml file is read and populated into ITAB, for element vendorname-2 which has a space in first position , that space is ignored.
    This is being used for a FB01 posting and vendor is paid based on Name1+Name2 printed on cheque and due to the space ignoring problem, the vendor name is displayed wrongly thus causing problems.
    I appreciate if someone could guide me thru and help me in solving this problem.
    How to preserve the leading or trailing space.
    g_selementvalue = g_childnode->get_value( ).
    when i check g_selementvalue, space is ignored.
    i will be greateful if someone could guide me through.
    Regards,
    Simha
    Edited by: Simha on Dec 11, 2008 10:49 AM

    0.02: A C C E P T: Request="NEXT"
    0.06: Fetch session state from database
    0.08: ...Check session ... owner
    0.08: ...Metadata: Fetch Page, Computation, Process, and Branch
    0.08: Session: Fetch session header information
    0.08: ...Metadata: Fetch page attributes for application ..., page 330
    0.08: ...Validate item page affinity.
    0.08: ...Validate hidden_protected items.
    0.08: ...Check authorization security schemes
    0.08: Session State: Save form items and p_arg_values
    0.08: ...Session State: Save "P330_PROJECT" - saving same value: ""
    0.09: ...Session State: Saved Item "P330_SHUTTLE" New Value=""
    0.09: Processing point: ON_SUBMIT_BEFORE_COMPUTATION
    0.09: Branch point: BEFORE_COMPUTATION
    0.09: Computation point: AFTER_SUBMIT
    0.09: Tabs: Perform Branching for Tab Requests
    0.09: Branch point: BEFORE_VALIDATION
    0.09: ...Evaluating Branch: BEFORE_VALIDATION type: "REDIRECT_URL" button: 12904321314585385 branch: (Unconditional)
    0.09: Perform validations:
    0.09: ...Item Not Null Validation: P330_SHUTTLE
    0.09: ...Validation did NOT pass
    This is from debugging, what does the point "0.09: ...Session State: Saved Item "P330_SHUTTLE" New Value="" "
    mean ? I think it means, that the Shuttle somehow sets itself to null ?! but i dont understand why...
    There is no computation or anything that deletes the shuttle, the page is quite small, there is not much more than the shuttle and the validations and computations to give default value and transforming the shuttle items into a collection to continue working with the IDs.
    I dont check whats the problem
    Edited by: user12154443 on 21.07.2010 09:47

  • Why the oracle XML parser "parses" the DTD comments?

    Hi all,
    I always use the header
    <?xml version = '1.0' encoding='ISO-8859-1' ?>
    to be able to use foreign characters in the XML documents.
    The oracle xml parser handles this correctly.
    My problem is, when I write comments inside the DTD, the
    parser reports "Invalid UTF8 encoding".
    Why the parser "parse" the comments? (protected by <!-- and -->)
    How do I say that the DTD encoding is different from UTF, like
    ISO-8859-1?
    Example of a correct DTD and corresponding XML, reporting
    problems, related to the 2nd comment in the DTD specification,
    written with ISO-8859-1 characters.
    The DTD:
    <!-- valid.dtd -->
    <!ELEMENT valid ( B, C ) >
    <!-- valid represents the concept "Identificagco" -->
    <!ELEMENT B (#PCDATA) >
    <!ELEMENT C (#PCDATA) >
    The XML:
    <?xml version = '1.0' encoding='ISO-8859-1' ?>
    <!DOCTYPE valid SYSTEM 'valid.dtd'>
    <valid>
    <B>How are you, Conceigco</B>
    <C>I'm fine, thank you.</C>
    </valid>
    The parser output:
    [jgr@frontera test-dtd]$ java oracle.xml.parser.v2.oraxml -v
    valid.xml
    Error while parsing input sourcevalid.xml(Invalid UTF8 encoding.)
    Thank you for any help.
    Jorge Gustavo Rocha

    I was wrong in saying that the attributes are not added to the element.My main aim is to add a array of elements to the root node.
    Is there a efficient manner in adding the elements , rather than adding them individually with the help of appendChild method.
    Thanks in advance.
    null

  • IOException thrown in oracle.xml.parser.v2.XMLElement.readExternal() method

    Hi,
    I have a bpel process which takes in a particular xml format and does some processing asynchronously. I am calling this bpel process from a web application which uses axis web service to call this application.
    Everything works fine when the xml is small (around 10 to 15 kb). But once the xml gets huge(around 250 to 400 kb) error is thrown in bpel in the oracle.xml.parser.v2.XMLElement.readExternal() method. It seems like bpel is not able to reconstruct the object that it had written to some stream before. I learnt from some forum posts that this done for optimizing performance but I would like to know whether i have to tweak something here.
    Particularly what does this "java.io.IOException: Error in reading Namespace associated with the node" mean. Below is the error log
    10/01/05 20:40:51 java.io.IOException: Error in reading Namespace associated with the node
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLElement.readExternal(XMLElement.java:2954)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2842)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2843)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2843)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2843)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2843)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2843)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLDocument.readExternal(XMLDocument.java:3394)
    10/01/05 20:40:51      at com.collaxa.cube.xml.dom.SDOMHelper.loadCompressedNormalDom(SDOMHelper.java:345)
    10/01/05 20:40:51      at com.collaxa.cube.xml.dom.SDOMHelper.load(SDOMHelper.java:135)
    10/01/05 20:40:51      at com.collaxa.cube.xml.dom.DOMUtil.loadDocument(DOMUtil.java:2266)
    10/01/05 20:40:51      at com.collaxa.cube.engine.delivery.DeliveryHelper.loadParts(DeliveryHelper.java:878)
    10/01/05 20:40:51      at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:515)
    10/01/05 20:40:51      at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:342)
    10/01/05 20:40:51      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    10/01/05 20:40:51      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    10/01/05 20:40:51      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    10/01/05 20:40:51      at java.lang.reflect.Method.invoke(Method.java:585)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    10/01/05 20:40:51      at java.security.AccessController.doPrivileged(Native Method)
    10/01/05 20:40:51      at javax.security.auth.Subject.doAs(Subject.java:396)
    10/01/05 20:40:51      at com.evermind.server.ThreadState.runAs(ThreadState.java:648)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    10/01/05 20:40:51      at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    10/01/05 20:40:51      at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
    10/01/05 20:40:51      at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
    10/01/05 20:40:51      at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
    10/01/05 20:40:51      at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    10/01/05 20:40:51      at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    10/01/05 20:40:51      at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
    10/01/05 20:40:51      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    10/01/05 20:40:51      at java.lang.reflect.Method.invoke(Method.java:585)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    10/01/05 20:40:51      at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
    10/01/05 20:40:51      at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
    10/01/05 20:40:51      at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
    10/01/05 20:40:51      at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    10/01/05 20:40:51      at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    10/01/05 20:40:51      at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    10/01/05 20:40:51      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
    10/01/05 20:40:51      at java.lang.Thread.run(Thread.java:595)
    10/01/05 20:40:51 0 - ORABPEL-00000
    Exception not handled by the Collaxa Cube system.
    An unhandled exception has been thrown in the Collaxa Cube system. The exception reported is: "ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf. The exception reported is Error in reading Namespace associated with the node
         at com.collaxa.cube.xml.dom.SDOMHelper.loadCompressedNormalDom(SDOMHelper.java:355)
         at com.collaxa.cube.xml.dom.SDOMHelper.load(SDOMHelper.java:135)
         at com.collaxa.cube.xml.dom.DOMUtil.loadDocument(DOMUtil.java:2266)
         at com.collaxa.cube.engine.delivery.DeliveryHelper.loadParts(DeliveryHelper.java:878)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:515)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:342)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:648)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
         at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    Exception: ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf. The exception reported is Error in reading Namespace associated with the node
    Handled As: com.collaxa.cube.CubeException
    10/01/05 20:40:51 1 - ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf. The exception reported is Error in reading Namespace associated with the node
    <2010-01-05 20:40:51,381> <ERROR> <pmf_capability_domain.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "cube delivery": [com.collaxa.cube.CubeException: Exception not handled by the Collaxa Cube system.
    An unhandled exception has been thrown in the Collaxa Cube system. The exception reported is: "ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf.  The exception reported is Error in reading Namespace associated with the node
         at com.collaxa.cube.xml.dom.SDOMHelper.loadCompressedNormalDom(SDOMHelper.java:355)
         at com.collaxa.cube.xml.dom.SDOMHelper.load(SDOMHelper.java:135)
         at com.collaxa.cube.xml.dom.DOMUtil.loadDocument(DOMUtil.java:2266)
         at com.collaxa.cube.engine.delivery.DeliveryHelper.loadParts(DeliveryHelper.java:878)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:515)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:342)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:648)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
         at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    Exception: ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf.  The exception reported is Error in reading Namespace associated with the node
    Handled As: com.collaxa.cube.CubeException
    ] -> [com.collaxa.cube.xml.dom.DOMException: Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf.  The exception reported is Error in reading Namespace associated with the node
    ORABPEL-00000
    Exception not handled by the Collaxa Cube system.
    An unhandled exception has been thrown in the Collaxa Cube system. The exception reported is: "ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf. The exception reported is Error in reading Namespace associated with the node
         at com.collaxa.cube.xml.dom.SDOMHelper.loadCompressedNormalDom(SDOMHelper.java:355)
         at com.collaxa.cube.xml.dom.SDOMHelper.load(SDOMHelper.java:135)
         at com.collaxa.cube.xml.dom.DOMUtil.loadDocument(DOMUtil.java:2266)
         at com.collaxa.cube.engine.delivery.DeliveryHelper.loadParts(DeliveryHelper.java:878)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:515)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:342)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:648)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
         at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    Exception: ORABPEL-09222

    I finally found the root cause of the solution. We are using axis serialization/deserialization at the client end to call the bpel service which works well for small xml. But mysteriously for larger xmls the deserialization fails at the server end when the incoming xml is being used. So we used the regular oracle java api to call the web service. This solved the problem.
    We could not find whether the problem lies with Oracle SOA suite 10.1.3.1 or Apache axis 2.0. But as of now these two seem to be incompatible for large xmls at the moment.
    Any pointers are welcome!

  • Bpel-108-UsingXQuery $publisher - oracle.xml.parser.v2.XMLElement@8b8e58

    Hello,
    I am using Oracle SOA Suite 11.1.1.4.0 While executing the XQuery example bpel-108-UsingXQuery I am facing the following problem/error.
    The Xquery in the example is:
    xquery version "1.0";
    declare namespace ns0 = "http://example.com/bpel/books";
    declare namespace ns1 = "http://samples.otn.com/xquerysample";
    declare variable $category as node() external;
    declare variable $publisher as xs:string external;
    <bookReport>
    for $b in //ns0:BOOKS/ns0:ITEM
    where data($b/ns0:PUBLISHER) = $publisher
    order by string-length($b/TITLE) return
    <book>
    <author> { data($b/ns0:AUTHOR) } </author>
    <title> { data($b/ns0:TITLE) } </title>
    <price>{ data(doc("pricelist.xml")/ns1:pricelist/ns1:product[1]/ns1:price) }</price>
    <publisher>{ $publisher }</publisher>
    { $category }
    </book>
    </bookReport>
    The variable $publisher, declared in 'declare variable $publisher as xs:string external' shall have the value 'Associated Press' as this has been assigned in the BPEL but it has in fact the value 'oracle.xml.parser.v2.XMLElement@8b8e58'.
    The variable $category has the correct value.
    What is here wrong or is it a bug in 11.1.1.4.0 in the oracle.xml.parser.v2.XMLElement class.

    What a mess:
    org.w3c.Element element = (org.w3c.Element) payload.get("payload");
    private Document writeOraXMLtoDocument(org.w3c.Element payload) throws ParserConfigurationException, SAXException, IOException, TransformerException{
              ByteArrayInputStream inputStream = new ByteArrayInputStream(writeXMLToStream(new DOMSource(payload)).toByteArray());
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              DocumentBuilder builder =factory.newDocumentBuilder();
              return builder.parse(inputStream);
         private ByteArrayOutputStream writeXMLToStream(Source source) throws TransformerException {
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    // Prepare the output file
    Result result = new StreamResult(out);
    // Write the DOM document to the file
    TransformerFactory x = TransformerFactory.newInstance();
    Transformer xformer = x.newTransformer();
    xformer.transform(source, result);
    return out;
    Note, that you have to use the oracle transformer located in the xmlparserv2.jar
    if it is not your default transformer , you have to set it at least for the above code by System.setProperty("javax.xml.transform.TransformerFactory","..classname...");

  • XML Parse Error in AWM

    OS: Oracle Database 11.1.0.7.0 on Windows XP
    Analytic Workspace Manager: 11.1.0.7.0A
    When expanding the Analytic Workspace in AWM I am getting the error below. I was able to create and populate the dimensions/cubes using XML Template and did not come across any errors during that process.
    I tried deleting the schema and recreated the AW but still get the same error. Are there any solutions to fix this problem?
    Errors have occurred during xml parse
    <Line 105, Column 22>: Encountered "(" at line 1, column 175.
    Was expecting one of:
    "DIMENSION" ...
    at oracle.olapi.xml.TagHandler.createRootException(Unknown Source)
    at oracle.olapi.xml.TagHandler.getRootException(Unknown Source)
    at oracle.olapi.xml.TagHandler.reportException(Unknown Source)
    at oracle.olapi.xml.TagHandler.processException(Unknown Source)
    at oracle.olapi.metadata.BaseMetadataXMLReader.resolveDeferredProperties(Unknown Source)
    at oracle.olapi.metadata.MetadataXMLReaderMetadataInitialState.exit(Unknown Source)
    at oracle.olapi.metadata.MetadataXMLReaderMetadataInitialState.exit(Unknown Source)
    at oracle.olapi.xml.TagHandler.endElement(Unknown Source)
    at org.xml.sax.helpers.ParserAdapter.endElement(ParserAdapter.java:626)
    at oracle.xml.parser.v2.XMLContentHandler.endElement(XMLContentHandler.java:211)
    at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1326)
    at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:340)
    at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:307)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:212)
    at org.xml.sax.helpers.ParserAdapter.parse(ParserAdapter.java:405)
    at oracle.olapi.xml.XMLProcessor.parse(Unknown Source)
    at oracle.olapi.metadata.MetadataFetcher.processXML(Unknown Source)
    at oracle.olapi.metadata.MetadataFetcher.fetchBaseMetadataObjects(Unknown Source)
    at oracle.olapi.metadata.BaseMetadataProvider.fetchMetadataObjects(Unknown Source)
    at oracle.olapi.metadata.MetadataListProperty.getObjects(Unknown Source)
    at oracle.olapi.metadata.BaseMetadataObjectState.getPropertyListValues(Unknown Source)
    at oracle.olapi.metadata.BaseMetadataObject.getPropertyListValues(Unknown Source)
    at oracle.olapi.metadata.mdm.MdmSchema.getCubes(Unknown Source)
    at oracle.olapi.metadata.deployment.AW.getCubes(Unknown Source)
    at oracle.olapi.metadata.deployment.AW.getPersistentLanguages(Unknown Source)
    at oracle.olap.awm.dataobject.aw.WorkspaceDO.getULanguages(Unknown Source)
    at oracle.olap.awm.dataobject.olapi.ULanguageDO.<init>(Unknown Source)
    at oracle.olap.awm.navigator.node.WorkspaceNode.getUnifiedChildren(Unknown Source)
    at oracle.olap.awm.navigator.node.WorkspaceNode.getChildren(Unknown Source)
    at oracle.olap.awm.navigator.node.BaseNodeModel.refreshData(Unknown Source)
    at oracle.olap.awm.navigator.node.BaseNodeModel.dTreeItemExpanding(Unknown Source)
    at oracle.bali.ewt.dTree.DTreeDeferredParent.__fireExpansionChanging(Unknown Source)
    at oracle.bali.ewt.dTree.DTreeDeferredParent.setExpanded(Unknown Source)
    at oracle.olap.awm.navigator.node.BaseNode.expandHelper(Unknown Source)
    at oracle.olap.awm.navigator.node.BaseNode.access$400(Unknown Source)
    at oracle.olap.awm.navigator.node.BaseNode$ExpansionThread.run(Unknown Source)

    I am also experiencing this error when attaching an AW:
    Errors have occurred during xml parse
    <Line 43, Column 47>: Error during parse: "java.lang.NullPointerException"
    <Line 159, Column 19>: Error during parse: "Errors have occurred during xml parse
    <Line 41, Column 34>: Error during parse: "java.lang.NullPointerException"
    <Line 44, Column 55>: Error during parse: "java.lang.NullPointerException"
    <Line 50, Column 55>: Error during parse: "java.lang.NullPointerException"
    <Line 60, Column 34>: Error during parse: "java.lang.NullPointerException"
    <Line 63, Column 55>: Error during parse: "java.lang.NullPointerException"
    <Line 69, Column 55>: Error during parse: "java.lang.NullPointerException"
    <Line 79, Column 34>: Error during parse: "java.lang.NullPointerException"
    <Line 82, Column 55>: Error during parse: "java.lang.NullPointerException"
    <Line 88, Column 55>: Error during parse: "java.lang.NullPointerException"
    <Line 98, Column 34>: Error during parse: "java.lang.NullPointerException"
    <Line 101, Column 55>: Error during parse: "java.lang.NullPointerException"
    <Line 107, Column 55>: Error during parse: "java.lang.NullPointerException""
    <Line 396, Column 47>: Error during parse: "java.lang.NullPointerException"
    <Line 694, Column 47>: Error during parse: "java.lang.NullPointerException"
    at oracle.olapi.xml.TagHandler.createRootException(Unknown Source)
    at oracle.olapi.xml.TagHandler.getRootException(Unknown Source)
    at oracle.olapi.xml.TagHandler.reportException(Unknown Source)
    at oracle.olapi.xml.TagHandler.processException(Unknown Source)
    at oracle.olapi.metadata.BaseMetadataXMLReader.resolveDeferredProperties(Unknown Source)
    at oracle.olapi.metadata.MetadataXMLReaderMetadataInitialState.exit(Unknown Source)
    at oracle.olapi.metadata.MetadataXMLReaderMetadataInitialState.exit(Unknown Source)
    at oracle.olapi.xml.TagHandler.endElement(Unknown Source)
    at org.xml.sax.helpers.ParserAdapter.endElement(Unknown Source)
    at oracle.xml.parser.v2.XMLContentHandler.endElement(XMLContentHandler.java:211)
    at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1326)
    at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:340)
    at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:307)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:212)
    at org.xml.sax.helpers.ParserAdapter.parse(Unknown Source)
    at oracle.olapi.xml.XMLProcessor.parse(Unknown Source)
    at oracle.olapi.metadata.MetadataFetcher.processXML(Unknown Source)
    at oracle.olapi.metadata.MetadataFetcher.fetchBaseMetadataObjects(Unknown Source)
    at oracle.olapi.metadata.BaseMetadataProvider.fetchMetadataObjects(Unknown Source)
    at oracle.olapi.metadata.MetadataListProperty.getObjects(Unknown Source)
    at oracle.olapi.metadata.BaseMetadataObjectState.getPropertyListValues(Unknown Source)
    at oracle.olapi.metadata.BaseMetadataObject.getPropertyListValues(Unknown Source)
    at oracle.olapi.metadata.mdm.MdmSchema.getCubes(Unknown Source)
    at oracle.olapi.metadata.deployment.AW.getCubes(Unknown Source)
    at oracle.olapi.metadata.deployment.AW.getPersistentLanguages(Unknown Source)
    at oracle.olap.awm.dataobject.aw.WorkspaceDO.getULanguages(Unknown Source)
    at oracle.olap.awm.dataobject.olapi.ULanguageDO.<init>(Unknown Source)
    at oracle.olap.awm.navigator.node.WorkspaceNode.getUnifiedChildren(Unknown Source)
    at oracle.olap.awm.navigator.node.WorkspaceNode.getChildren(Unknown Source)
    at oracle.olap.awm.navigator.node.BaseNodeModel.refreshData(Unknown Source)
    at oracle.olap.awm.navigator.node.BaseNodeModel.dTreeItemExpanding(Unknown Source)
    at oracle.bali.ewt.dTree.DTreeDeferredParent.__fireExpansionChanging(Unknown Source)
    at oracle.bali.ewt.dTree.DTreeDeferredParent.setExpanded(Unknown Source)
    at oracle.olap.awm.navigator.node.BaseNode.expandHelper(Unknown Source)
    at oracle.olap.awm.navigator.node.BaseNode.access$400(Unknown Source)
    at oracle.olap.awm.navigator.node.BaseNode$ExpansionThread.run(Unknown Source)
    This is on DB 11.1.0.7.0 with CPU 25 (9392335) using AWM 11.1.0.7.0B with all components VALID
    Oracle Enterprise Manager     11.1.0.7.0     VALID
    OWB     11.1.0.7.0     VALID
    Oracle Application Express     3.0.1.00.12     VALID
    Oracle Ultra Search     11.1.0.7.0     VALID
    OLAP Catalog     11.1.0.7.0     VALID
    Spatial     11.1.0.7.0     VALID
    Oracle Multimedia     11.1.0.7.0     VALID
    Oracle XML Database     11.1.0.7.0     VALID
    Oracle Text     11.1.0.7.0     VALID
    Oracle Expression Filter     11.1.0.7.0     VALID
    Oracle Rules Manager     11.1.0.7.0     VALID
    Oracle Workspace Manager     11.1.0.7.0     VALID
    Oracle Database Catalog Views     11.1.0.7.0     VALID
    Oracle Database Packages and Types     11.1.0.7.0     VALID
    JServer JAVA Virtual Machine     11.1.0.7.0     VALID
    Oracle XDK     11.1.0.7.0     VALID
    Oracle Database Java Packages     11.1.0.7.0     VALID
    OLAP Analytic Workspace     11.1.0.7.0     VALID
    Oracle OLAP API     11.1.0.7.0     VALID

  • ANN: Oracle XML Parser for Java v2.0.0.1

    A new maintenance release of the Oracle Parser for Java is
    available for download. It has the following fixes and changes:
    Bug fixes for #920536, i.e. Cannot access element attributes via
    XSLT; #898423. i.e. ElementDecl's in DTDs; #774774, i.e. DOM
    extensions using XSL pattern matching; #863890 i.e. SAX
    IOException not thrown.
    New APIs in the following new interface:
    1. oracle.xml.parser.v2.NSResolver
    - resolveNamespacePrefix( find the namespace definition in scope
    for a given namespace prefix )
    New APIs in the following classes:
    1. oracle.xml.parser.v2.XMLNode
    - selectNodes( Selects nodes from the tree which match the given
    pattern; client can provide an NSResolver implementation to
    resolve namespace prefixes in the pattern ).
    2. oracle.xml.parser.v2.ElementDecl
    - getParseTree( Returns the root Node of Content Model parse
    tree, which could then be traversed node by node using
    getFirstChild() and getLastChild(). The Node types are: PLUS,
    COMMA, ASTERISK, ELEMENT, QMARK ).
    This is the first beta patch release for v2.
    Oracle XML Team
    http://technet.oracle.com
    Oracle Technology Network
    null

    unzip -l appsborg2.zip | grep 9.0.4
    0 04-18-03 20:10 .xdkjava_version_9.0.4.0.0_production
    do i still need to do that step?No, you do not have to since "XML Parser for Java v9.0.4" is already installed as part of appsborg2.zip

  • Problem in XML Parsing via oracle procedure...

    Hi,
    I wrote one oracle procedure for xml parsing.
    I have one valid xml file which has "encode UTF-8". The XML file contains some comments also. While we are parsing the xml file at that time it is not parse successfully and also it is not giving any error. After the following line it is skip rest of the codes(lines).
    dbms_xmlparser.parseclob(l_parser, l_clob);
    At the end of the xml file there are some comments which is like "<!-- abc --> ".
    When I am changing the "encode UTF-8 to ISO-88596-1" & removing the comments which wrote on bottom of the file then its working fine, but the files which we are getting from the system is contains the encode UTF-8 and we don't want to preprocess on that xml files. Even if we will do that via shell script or perl script then it will be overhead to the system and in a single stroke our system will parse more than 5k xml files, so if we will do some preprocess on it, it will take some more time approx 1-2 minutes extra.
    So, If someone knows any solution of this problem, then please guide & help me on this.
    My xml file structure is as follows:-
    <?xml version="1.0" encoding="UTF-8"?>
    <mcd xmlns:HTML="http://www.w3.org/TR/REC-xml">
         <child>
              <child1>32.401 V5.5</child1>
              <child2>ZoneGate</child2>
         </child>
         <mc>
              <newid>
                   <id>12</id>
              </newid>
              <mindex>
                   <date>20111102180000</date>
                   <mt>abc1</mt>
                   <mt>abc2</mt>
                   <mvalue>
                        <r>val_1</r>
                        <r>val_2</r>
                   </mvalue>
              </mindex>
         </mc>
    </mcd>
    <!--
    ALARM STATUS
    morning 10
    afternoon 14
    evening 18
    night 22
    -->
    <!--
    PARAM:EID = 1
    PARAM:GId = 3
    PARAM:GSId = 0
    --!>
    And my oracle procedure is as follows:-
    create or replace procedure loadXMLtotable(dir_name IN varchar2, xmlfile IN varchar2) AS
    -- Defining the variables
    ecode               NUMBER;
    emesg           VARCHAR2(200);
    l_bfile      BFILE;
    l_clob      CLOB;
    l_dest_offset      INTEGER:=1;
    l_src_offset      INTEGER:=1;
    l_Char_set_id      NUMBER := NLS_CHARSET_ID('UTF8');
    l_lang_context      INTEGER := dbms_lob.default_lang_ctx;
    l_warning           INTEGER;
    l_parser dbms_xmlparser.Parser;
    l_doc dbms_xmldom.DOMDocument;
    l_nl1 dbms_xmldom.DOMNodeList;
    l_nl2 dbms_xmldom.DOMNodeList;
    l_n dbms_xmldom.DOMNode;
    node1 dbms_xmldom.DOMNode;
    colid integer ; -- column id used for identifying which column it belongs.
    l_xmltype XMLTYPE;
    sub_xmltype XMLTYPE;
    num_nodes number;
    l_index PLS_INTEGER;
    l_subIndex           PLS_INTEGER;
    starttime Date;
         temp_datatime VARCHAR(25);
    columnname varchar2(300);
    columnvalue varchar2(300);
    -- creating a Type which is a type of "test_hem" table RowType, which I created in SVN server
    TYPE tab_type IS TABLE OF test_hem%ROWTYPE;
    t_tab tab_type := tab_type();
    BEGIN
    -- Passing the xmlfile and virtual directory name which we gave at the time of directory creation
    l_bfile := BFileName('MY_FILES', xmlfile);
    dbms_lob.createtemporary(l_clob, cache=>FALSE);
    dbms_lob.open(l_bfile, dbms_lob.lob_readonly);
    --dbms_lob.loadFromFile(dest_lob => l_clob,
    -- src_lob => l_bfile,
    -- amount => dbms_lob.getLength(l_bfile));
    dbms_lob.loadclobfromfile(l_clob, l_bfile, dbms_lob.getlength(l_bfile),
    l_dest_offset, l_src_offset, l_Char_set_id, l_lang_context, l_warning);
    dbms_lob.close(l_bfile);
    -- make sure implicit date conversions are performed correctly
    dbms_session.set_nls('NLS_DATE_FORMAT','''YYYY-MON-DD HH24:MI:SS''');
    dbms_output.put_line('Date format set');
    -- Create a parser.
    l_parser := dbms_xmlparser.newParser;
    dbms_output.put_line('output 1');
    -- Parse the document and create a new DOM document.
    dbms_xmlparser.parseclob(l_parser, l_clob);
    dbms_output.put_line(' passed parsing');
    l_doc := dbms_xmlparser.getDocument(l_parser);
    dbms_output.put_line(' passed getdocument');
    -- Free resources associated with the CLOB and Parser now they are no longer needed.
    dbms_lob.freetemporary(l_clob);
    dbms_xmlparser.freeParser(l_parser);
    -- Get a list of all the EMP nodes in the document using the XPATH syntax.
    l_nl1 := dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(l_doc),'//mcd/child');
    -- Loop through the list and create a new record in a tble collection
    FOR cur_sel IN 0 .. dbms_xmldom.getLength(l_nl1) - 1 LOOP
    l_n := dbms_xmldom.item(l_nl1, cur_sel);
    t_tab.extend;
    -- Use XPATH syntax to assign values to he elements of the collection.
    dbms_xslprocessor.valueOf(l_n,'child1/text()',t_tab(t_tab.last).country);
    -- putting the state and vendorname into the table rowtype
    dbms_xslprocessor.valueOf(l_n,'child2/text()',t_tab(t_tab.last).state);
    END LOOP;
    -- getting the version and putting into the table rowtype
    l_n := dbms_xslprocessor.selectSingleNode(dbms_xmldom.makeNode(l_doc),'//mcd/mc/newid/id');
    dbms_xslprocessor.valueOf(l_n,'id/text()',t_tab(t_tab.last).id);
    -- selecting the nodes whose starting tag is "mindex"
    l_nl1 := dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(l_doc),'//mcd/mc/mindex');
    -- checking the total number of nodes whose starting through "mi"
    num_nodes := dbms_xmldom.getLength(l_nl1);
    l_index := 1;
    -- For loop to iterate the nodes.
    FOR cur_sel IN 0 .. dbms_xmldom.getLength(l_nl1) - 1 LOOP
    -- whole current node is selected and storing into the node1 variable
    node1 := dbms_xmldom.item(l_nl1, cur_sel);
    -- setting the xmltype as AL32UTF8
    l_xmltype := xmltype(l_bfile, nls_charset_id('AL32UTF8'));
    -- if selecting parent node containing the mt child node then only proceed else skip that parent node.
    IF (l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mt') > 0 and l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mvalue/r') > 0) Then
    -- fetch the datatime, convert it into to_date format and store it into table rowtype
    temp_datatime := dbms_xslprocessor.valueOf(node1, 'date/text()');
    t_tab(t_tab.last).data_time := to_char(to_date(temp_datatime, 'YYYYMmcDHH24MISS'));
    l_subIndex := 1;
                                  while (l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mt[' || l_subIndex || ']') > 0 and l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mvalue/r['|| l_subIndex || ']') > 0 ) LOOP
                                  -- getting mt and corresponging mvalue/r values
    dbms_xslprocessor.valueOf(node1,'mt[' || l_subIndex || ']/text()',columnname);
    dbms_xslprocessor.valueOf(node1,'mvalue/r[' || l_subIndex || ']/text()',columnvalue);
    l_subIndex := l_subIndex + 1;
    -- getting the column to which this mapping belongs.
    select columnid into colid from abc_table where columnname=name;
    CASE colid
    WHEN 1 THEN t_tab(t_tab.last).col1 := columnvalue;
                             WHEN 2 THEN t_tab(t_tab.last).col2 := columnvalue;
                             WHEN 3 THEN t_tab(t_tab.last).col3 := columnvalue;
    ELSE dbms_output.put_line('No column mapping for counter ' || columnname) ;
    END CASE; -- end of case statement.
    END LOOP;
    -- Insert data into the real table from the table collection.
    FORALL i IN t_tab.first .. t_tab.last
    INSERT INTO test_hem VALUES t_tab(i);
    END IF;
    l_index := l_index + 1;
    COMMIT;
    END LOOP;
    commit;
    EXCEPTION
    WHEN OTHERS THEN
    ecode := SQLCODE;
    emesg := SQLERRM;
    dbms_output.put_line(TO_CHAR(ecode) || '-' || emesg);
         dbms_lob.freetemporary(l_clob);
         dbms_xmlparser.freeParser(l_parser);
         dbms_xmldom.freeDocument(l_doc);
    END;

    Sorry Odie,
    I am new to this site as well as PL/SQL. I am giving additional details which you had mentioned in your last comments.
    our Oracle Database version is "10.2.0.4.0"
    The structure of target table Instrument_Details is as follows:
    Create table Instrument_Details (
    instrument_id          Integer  Primary Key,
    provider_name          Varchar2(32),
    version_number          Varchar2(32),
    location_id                  Integer,
    installation_date             Date,
    granularity                  Integer,
    time_out                  Integer );
    Note:- Here test_hem is alias of Instrument_details.
    Here instrument_id is a primary key.
    provider_name contains the child2 xml tag value.
    version_number contains the child1 xml tag value.
    location_id contains the newid/id value which is map to other table which fetching the location name corresponding to the location_id.
    installation_date contains the date xml tag value.
    Now we have created one mapping tables where we mapped the xml tag values "mt" with table column name means "abc1 = granularity", "abc2 = time_out" in that table.
    these table column value are written under mvalue xml tag.
    _Our Database Character set is_:-
    NLS_CHARACTERSET WE8ISO8859P1
    Now as you suggest me to format your code. I am writing the xml code and procedure code again.
    My xml file structure is as follows:-
    <?xml version="1.0" encoding="UTF-8"?>
    <mcd xmlns:HTML="http://www.w3.org/TR/REC-xml">
      <child>
          <child1>32.401 V5.5</child1>
          <child2>ZoneGate</child2>
      </child>
      <mc>
          <newid>
               <id>12</id>
          </newid>
      <mindex>
           <date>20111102180000</date>
           <mt>abc1</mt>
           <mt>abc2</mt>
           <mvalue>
                 <r>val_1</r>   -- here val_1 and val_2 are numeric values
                 <r>val_2</r>
            </mvalue>
      </mindex>
      </mc>
    </mcd>
    <!--
    ALARM STATUS
    morning 10
    afternoon 14
    evening 18
    night 22
    -->
    <!--
    PARAM:EID = 1
    PARAM:GId = 3
    PARAM:GSId = 0
    --!> And my oracle procedure is as follows:-
    create or replace procedure loadXMLtotable(dir_name IN varchar2, xmlfile IN varchar2) AS
    -- Defining the variables
    ecode NUMBER;
    emesg VARCHAR2(200);
    l_bfile BFILE;
    l_clob CLOB;
    l_dest_offset INTEGER:=1;
    l_src_offset INTEGER:=1;
    l_Char_set_id NUMBER := NLS_CHARSET_ID('UTF8');
    l_lang_context INTEGER := dbms_lob.default_lang_ctx;
    l_warning INTEGER;
    l_parser dbms_xmlparser.Parser;
    l_doc dbms_xmldom.DOMDocument;
    l_nl1 dbms_xmldom.DOMNodeList;
    l_nl2 dbms_xmldom.DOMNodeList;
    l_n dbms_xmldom.DOMNode;
    node1 dbms_xmldom.DOMNode;
    colid integer ; -- column id used for identifying which column it belongs.
    l_xmltype XMLTYPE;
    sub_xmltype XMLTYPE;
    num_nodes number;
    l_index PLS_INTEGER;
    l_subIndex PLS_INTEGER;
    starttime Date;
    temp_datatime VARCHAR(25);
    columnname varchar2(300);
    columnvalue varchar2(300);
    -- creating a Type which is a type of "Instrument_Details" table RowType, which I created in SVN server
    TYPE tab_type IS TABLE OF Instrument_Details%ROWTYPE;
    t_tab tab_type := tab_type();
    BEGIN
    -- Passing the xmlfile and virtual directory name which we gave at the time of directory creation
    l_bfile := BFileName('MY_FILES', xmlfile);
    dbms_lob.createtemporary(l_clob, cache=>FALSE);
    dbms_lob.open(l_bfile, dbms_lob.lob_readonly);
    --dbms_lob.loadFromFile(dest_lob => l_clob,
    -- src_lob => l_bfile,
    -- amount => dbms_lob.getLength(l_bfile));
    dbms_lob.loadclobfromfile(l_clob, l_bfile, dbms_lob.getlength(l_bfile),
    l_dest_offset, l_src_offset, l_Char_set_id, l_lang_context, l_warning);
    dbms_lob.close(l_bfile);
    -- make sure implicit date conversions are performed correctly
    dbms_session.set_nls('NLS_DATE_FORMAT','''YYYY-MON-DD HH24:MI:SS''');
    dbms_output.put_line('Date format set');
    -- Create a parser.
    l_parser := dbms_xmlparser.newParser;
    dbms_output.put_line('output 1');
    -- Parse the document and create a new DOM document.
    dbms_xmlparser.parseclob(l_parser, l_clob);
    *-- Below lines are skipping....*
    dbms_output.put_line(' passed parsing');
    l_doc := dbms_xmlparser.getDocument(l_parser);
    dbms_output.put_line(' passed getdocument');
    -- Free resources associated with the CLOB and Parser now they are no longer needed.
    dbms_lob.freetemporary(l_clob);
    dbms_xmlparser.freeParser(l_parser);
    -- Get a list of all the EMP nodes in the document using the XPATH syntax.
    l_nl1 := dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(l_doc),'//mcd/child');
    -- Loop through the list and create a new record in a tble collection
    FOR cur_sel IN 0 .. dbms_xmldom.getLength(l_nl1) - 1 LOOP
    l_n := dbms_xmldom.item(l_nl1, cur_sel);
    t_tab.extend;
    -- Use XPATH syntax to assign values to he elements of the collection.
    dbms_xslprocessor.valueOf(l_n,'child1/text()',t_tab(t_tab.last).country);
    -- putting the state and vendorname into the table rowtype
       dbms_xslprocessor.valueOf(l_n,'child2/text()',t_tab(t_tab.last).state);
    END LOOP;
    -- getting the version and putting into the table rowtype
       l_n := dbms_xslprocessor.selectSingleNode(dbms_xmldom.makeNode(l_doc),'//mcd/mc/newid/id');
      dbms_xslprocessor.valueOf(l_n,'id/text()',t_tab(t_tab.last).id);
    -- selecting the nodes whose starting tag is "mindex"
      l_nl1 := dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(l_doc),'//mcd/mc/mindex');
    -- checking the total number of nodes whose starting through "mi"
      num_nodes := dbms_xmldom.getLength(l_nl1);
    l_index := 1;
      -- For loop to iterate the nodes.
      FOR cur_sel IN 0 .. dbms_xmldom.getLength(l_nl1) - 1 LOOP
      -- whole current node is selected and storing into the node1 variable
      node1 := dbms_xmldom.item(l_nl1, cur_sel);
      -- setting the xmltype as AL32UTF8
       l_xmltype := xmltype(l_bfile, nls_charset_id('AL32UTF8'));
      -- if selecting parent node containing the mt child node then only proceed else skip that parent node.
        IF (l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mt') > 0 and l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mvalue/r') > 0) Then
      -- fetch the datatime, convert it into to_date format and store it into table rowtype
        temp_datatime := dbms_xslprocessor.valueOf(node1, 'date/text()');
        t_tab(t_tab.last).data_time := to_char(to_date(temp_datatime, 'YYYYMmcDHH24MISS'));
        l_subIndex := 1;
       while (l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mt[' || l_subIndex || ']') > 0 and l_xmltype.Existsnode('//mcd/mc/mindex[' || l_index || ']/mvalue/r['|| l_subIndex || ']') > 0 ) LOOP
    -- getting mt and corresponging mvalue/r values
       dbms_xslprocessor.valueOf(node1,'mt[' || l_subIndex || ']/text()',columnname);
      dbms_xslprocessor.valueOf(node1,'mvalue/r[' || l_subIndex || ']/text()',columnvalue);
      l_subIndex := l_subIndex + 1;
      -- getting the column to which this mapping belongs.
      select columnid into colid from abc_table where columnname=name;
      CASE colid
      WHEN 1 THEN t_tab(t_tab.last).col1 := columnvalue;
      WHEN 2 THEN t_tab(t_tab.last).col2 := columnvalue;
      WHEN 3 THEN t_tab(t_tab.last).col3 := columnvalue;
          ELSE dbms_output.put_line('No column mapping for counter ' || columnname) ;
      END CASE; -- end of case statement.
      END LOOP;
    -- Insert data into the real table from the table collection.
      FORALL i IN t_tab.first .. t_tab.last
        INSERT INTO test_hem VALUES t_tab(i);
      END IF;
      l_index := l_index + 1;
    COMMIT;
    END LOOP;
    commit;
    EXCEPTION
      WHEN OTHERS THEN
      ecode := SQLCODE;
      emesg := SQLERRM;
      dbms_output.put_line(TO_CHAR(ecode) || '-' || emesg);
      dbms_lob.freetemporary(l_clob);
      dbms_xmlparser.freeParser(l_parser);
      dbms_xmldom.freeDocument(l_doc);
    END;Thanks in advance for your help...

  • XML Parsing in a Schedule Job (OIM 11g R1)

    Hi,
    I am writing a lookup recon - schedule task in OIM 11g R1 to connect to a webservice and get the lookup attribute values. Now, I am able to fetch the values in a xml format. I am facing an issue while trying to parse the xml values (tried both as a string and from a file).
    I have tried using both the SAX and the DOM parser. PFA the snippet for the DOM Parser:
                        DocumentBuilderFactory builderFactory =
                            DocumentBuilderFactory.newInstance();
                        DocumentBuilder builder = null;
                        try {
                            builder = builderFactory.newDocumentBuilder();
                        } catch (ParserConfigurationException e) {
                            e.printStackTrace();
                        org.w3c.dom.Document doc =
                            (org.w3c.dom.Document)builder.parse(file);
                        System.out.println("Parsed the xml");
                        org.w3c.dom.NodeList nodes =
                            doc.getElementsByTagName("entry");
                        System.out.println("Total Profiles fetched:: " +
                                           nodes.getLength());
    This is giving the nodes.getLength() as 0. Though the code runs fine in the Java Client (directly from eclipse)
    The snippet for the SAX method is :
                SAXParserFactory factory = SAXParserFactory.newInstance();
                SAXParser saxParser = factory.newSAXParser();
                DefaultHandler handler = new DefaultHandler() {
                    boolean bfname = false;
                    boolean blname = false;
                    boolean bnname = false;
                    boolean bsalary = false;
                    public void startElement(String uri, String localName,
                                             String qName,
                                             Attributes attributes) throws SAXException {
                        //   System.out.println("Start Element :" + qName);
                        if (qName.equalsIgnoreCase("d:Name")) {
                            blname = true;
                    public void endElement(String uri, String localName,
                                           String qName) throws SAXException {
                        //     System.out.println("End Element :" + qName);
                    public void characters(char[] ch, int start,
                                           int length) throws SAXException {
                        if (blname) {
                            System.out.println("d:Name : " +
                                               new String(ch, start, length));
                            blname = false;
                           saxParser.parse("home/oracle/UserProfiles.xml", handler);
    This is throwing a java.net.malformedurlexception: no protocol: /home/oracle/userprofiles.xml exception. I tried to pass it as "file://home/oracle/UserProfiles.xml" but then is gives a
    java.net.ConnectException: Connection refused Even this code is running fine in the Java Client when ran directly. It seems there is some weblogic configurations I am missing for the XML parsing?
    Please do help, if anyone has faced any issues parsing an xml in a Schedule job. Will highly appreciate your inputs.
    Thanks,
    Anuj.  

    Hi,
    I am writing a lookup recon - schedule task in OIM 11g R1 to connect to a webservice and get the lookup attribute values. Now, I am able to fetch the values in a xml format. I am facing an issue while trying to parse the xml values (tried both as a string and from a file).
    I have tried using both the SAX and the DOM parser. PFA the snippet for the DOM Parser:
                        DocumentBuilderFactory builderFactory =
                            DocumentBuilderFactory.newInstance();
                        DocumentBuilder builder = null;
                        try {
                            builder = builderFactory.newDocumentBuilder();
                        } catch (ParserConfigurationException e) {
                            e.printStackTrace();
                        org.w3c.dom.Document doc =
                            (org.w3c.dom.Document)builder.parse(file);
                        System.out.println("Parsed the xml");
                        org.w3c.dom.NodeList nodes =
                            doc.getElementsByTagName("entry");
                        System.out.println("Total Profiles fetched:: " +
                                           nodes.getLength());
    This is giving the nodes.getLength() as 0. Though the code runs fine in the Java Client (directly from eclipse)
    The snippet for the SAX method is :
                SAXParserFactory factory = SAXParserFactory.newInstance();
                SAXParser saxParser = factory.newSAXParser();
                DefaultHandler handler = new DefaultHandler() {
                    boolean bfname = false;
                    boolean blname = false;
                    boolean bnname = false;
                    boolean bsalary = false;
                    public void startElement(String uri, String localName,
                                             String qName,
                                             Attributes attributes) throws SAXException {
                        //   System.out.println("Start Element :" + qName);
                        if (qName.equalsIgnoreCase("d:Name")) {
                            blname = true;
                    public void endElement(String uri, String localName,
                                           String qName) throws SAXException {
                        //     System.out.println("End Element :" + qName);
                    public void characters(char[] ch, int start,
                                           int length) throws SAXException {
                        if (blname) {
                            System.out.println("d:Name : " +
                                               new String(ch, start, length));
                            blname = false;
                           saxParser.parse("home/oracle/UserProfiles.xml", handler);
    This is throwing a java.net.malformedurlexception: no protocol: /home/oracle/userprofiles.xml exception. I tried to pass it as "file://home/oracle/UserProfiles.xml" but then is gives a
    java.net.ConnectException: Connection refused Even this code is running fine in the Java Client when ran directly. It seems there is some weblogic configurations I am missing for the XML parsing?
    Please do help, if anyone has faced any issues parsing an xml in a Schedule job. Will highly appreciate your inputs.
    Thanks,
    Anuj.  

  • SQL Server 2012 Management Studio:Importing XML file to new Table of new Database-XML parsing: unexpected end of input???

    Hi all,
    In the Notepad, I created an xml file (ZenQroducts.xml) :
    <Qroducts>
    <Qroduct>
    <SKU>1</SKU>
    <Desc>Book</Desc>
    </Qroduct>
    <Qroduct>
    <SKU>2</SKU>
    <Desc>DVD</Desc>
    </Qroduct>
    <Qroduct>
    <SKU>3</SKU>
    <Desc>Video</Desc>
    </Qroduct>
    In my SQL Server 2012 Management Studio, I executed the following code:
    --to create a new object Qroducts in a new database OPENXMLtesting
    CREATE DATABASE OPENXMLtesting
    GO
    CREATE TABLE Qroducts(
    sku INT Primary KEY,
    qroduct_desc VARCHAR(30));
    INSERT INTO Qroducts (sku, qroduct_desc)
    SELECT X.qroduct.query('SKU').value('.', 'INT'),
    X.qroduct.query('Desc').value('.', 'VARCHAR(30)')
    FROM (
    SELECT CAST(x AS XML)
    FROM OPENROWSET(
    BULK 'H:\ZenQroducts.xml',
    SINGLE_BLOB) AS T(x)
    ) AS T(x)
    CROSS APPLY x.nodes('Qroducts/Qroduct') AS X(qroduct);
    SELECT sku, qroduct_desc
    FROM Qroducts;
    I got the following message:
    Msg 9400, Level 16, State 1, Line 6
    XML parsing: line 13, character 12, unexpected end of input
    I have no ideas why I got this "XML parsing:line 13, character12, unexpected end of input" message. Please kindly help, advise me on where I made mistake and how I can resolve this problem, and respond in this Forum.
    Thanks in advance,
    Scott Chang
     

    Hi Manish, Thanks for your response.
    Yes, it is a duplicate with Qroducts/Qroduct instead of Products/Product. I did it, because I don't know how to remove the existing "Products" database.
    Again, I got the existing "Qroducts" database in this second trial!!??  I am comletely lost in doing "Importing XML file to SQL Table" now!!  I think that I have not touched T-SQL and XML programming, since 2008. I
    did not catch the new features of T-SQL 2008, XML, SQL/XML, XQuery, etc. for long time. Recently, I did not know what DECLARE, @x, SET,...were, and dived into the SQL/XML and XQuery programming. I knew the SQL Basics (SELECT, FROM, WHERE,..), creating
    the names of databases and tables in SQL Server 2008/2012 Management Studio (Express) before. This morning, I found an old T-SQL 2008 Prgrammer's Guide that has the new features of SQL Server 2008 for T-SQL, XML, XQuery, etc. I just starting reading
    it to know what DECLARE, @x, SET,... are. But, I still don't know where the existing databases "Products" and "Qroducts" (created by me) are - they are not in the Databases of SQL Server 2012 Management Studio I am using!!??  Could
    you please kindly point out where the "Products" and "Qroducts" databases are?
    Prashanth responded to my posted question too and he asked to to try his code: DECLARE @xml XML, SELECT @xml =' <Qroducts>.....SELECT product.value.....FROM @XML.nodes.....AS.... I just learned that his code is doing the thing we
    want to do and print the results below the SQL Query. This is not what I need in doing my SQL/XML programming. I am reading/studying the new (2008) features of T-SQL, XQuery 1.0: An XML Query Language (Second Edition), and Microsoft XQuery Language Reference
    (SQL Server 2012 Books Online) closely now. I hope that I can resume the T-SQL, XML Query, SQL/XML, XQuery in my SQL Server 2012 Management Studio soon.
    Please tell me  where the existing databases "Products" and "Qroducts" I created in my previous trials in my SQL Server 2012 Management Studio.  This is what I need to know and to delete them, before I do this kind of "Importing
    XML file to Table of SQL Server 2012 Management Studio"  programming again.
    Please kindly help, advise and respond again.
    Many Thanks,
    Scott Chang

Maybe you are looking for