Right parser ---------------------------------?

Hii Javaties
I am developing a swing application ,
and i need to
1) populate my combo boxes from a XML file.
2) save data from a JTable to an XML file.
tht saved XML file also need 2 be sent to a server .
For this wht kind of parser do i need ?
Do i need JDom ?
Can anyone tell how to go abt this .
How to start ?
In case if requirement is not clear , plz do let me know.

basically, DOM is not responsible for your memory problems. just increase the memory size of the Java VM with the -Xmx option.
the basic difference between DOM and SAX is: DOM holds all the XML data in one object and therefore in memory. so it depends on your system memory how big the XML files can be. SAX processes the XML (file) sequentially. therefore, the XML can be of arbitrary size - no matter how big your system memory is. however, the drawback of SAX is, that's it's more dificult to handle (you have to write a handler that listens for SAX events). the DOM API is much more simpler and more convenient.
if your XML files are so big and can get even bigger, i would recommend SAX.

Similar Messages

  • Left to right parsing

    hi all,
    I wnat to join two tables t1,t2. t1 contains 100000 records and t2
    contains 100 records.
    which query performs better?
    1. select t1.col1,t1.col2,t2.col1 from t1 inner join t2 on t1.col1=t2.col1
    2.1. select t1.col1,t1.col2,t2.col1 from t2 inner join t1 on t2.col1=t1.col1
    Pls show me a link to the details
    thanks

    In the simplest situation Oracle knows about extent number in tables and about
    row structure. Using these information it can choose the leading table which is
    t2 in your case.
    SQL> create table t1 (col1 int, col2 int);
    Table created.
    SQL> create table t2 (col1 int, col2 int);
    Table created.
    SQL> insert into t1 select rownum, rownum from dual connect by level <= 100000;
    100000 rows created.
    SQL> insert into t2 select rownum, rownum from dual connect by level <= 100;
    100 rows created.
    SQL> commit;
    Commit complete.
    SQL> explain plan for select t1.col1,t1.col2,t2.col1 from t1 inner join t2 on t1.col1=t2.col1;
    Explained.
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    | Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)|
    |   0 | SELECT STATEMENT   |      |   100 |  3900 |    60   (4)|
    |*  1 |  HASH JOIN         |      |   100 |  3900 |    60   (4)|
    |   2 |   TABLE ACCESS FULL| T2   |   100 |  1300 |     3   (0)|
    |   3 |   TABLE ACCESS FULL| T1   | 85524 |  2171K|    56   (2)|
    Predicate Information (identified by operation id):
    PLAN_TABLE_OUTPUT
       1 - access("T1"."COL1"="T2"."COL1")
    18 rows selected.
    SQL> explain plan for select t1.col1,t1.col2,t2.col1 from t2 inner join t1 on t2.col1=t1.col1;
    Explained.
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    | Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)|
    |   0 | SELECT STATEMENT   |      |   100 |  3900 |    60   (4)|
    |*  1 |  HASH JOIN         |      |   100 |  3900 |    60   (4)|
    |   2 |   TABLE ACCESS FULL| T2   |   100 |  1300 |     3   (0)|
    |   3 |   TABLE ACCESS FULL| T1   | 85524 |  2171K|    56   (2)|
    Predicate Information (identified by operation id):
    PLAN_TABLE_OUTPUT
       1 - access("T2"."COL1"="T1"."COL1")
    18 rows selected.In the real world this depends on the statistic, indexes, etc..
    See Performance Tuning Guide
    Rgds.

  • Exec procedure as parsing schema, not APEX_PUBLIC_USER

    We have a package with a procedure:
    CREATE OR REPLACE PACKAGE XGN4.xgn_generator$pck
    AUTHID DEFINER AS
    PROCEDURE cr_tab(tab_id IN NUMBER);
    END;
    CREATE OR REPLACE PACKAGE BODY XGN4.xgn_generator$pck
    PROCEDURE cr_tab(tab_id IN NUMBER)
    IS
    BEGIN
    execute immediate('CREATE TABLE test(......)');
    END;
    END;
    When I call this procedure from apex, it's always executed as 'APEX_PUBLIC_USER', but it should be as the parsing schema 'XGN4'.
    I thought 'AUTHID DEFINER' should do the trick (it's standard when you're not using AUTHID), but it looks like it has no effect on APEX...
    Anyone?

    Ok Scott, you are right.
    I used sys_context('USERENV','CURRENT_USER') to identify the user and it's the right parsing schema (XGN4).
    But why won't my code execute right in apex when it does straight from SQL-DEVELOPER (or another tool)?
    Eg:
    In toad: EXEC packagename.procedure(parameter);
    in Apex: begin; packagename.procedure(parameter); end;
    the procedure contains an execute immediate('alter tabel ...') and will do his job in the first case, but returns an error insufficient privs from apex.

  • Which parser is used under JDOM

    Is there a way to tell which parser, Oracle, Xerces, Sun, is being used under JDOM. I'm getting a SAXBuilder, but I want to make sure it's using the right parser underneath. I know how to set it, but I want to know how to prove that's what is being used.
    Thanks in advance,
    Brunky

    Found answer on jdom.org.
    http://www.servlets.com/archive/servlet/ReadMsg?msgId=126411&listName=jdom-interest
    import javax.xml.parsers.SAXParserFactory;
    XMLReader reader =
    SAXParserFactory.newInstance().newSAXParser().getXMLReader();
    System.out.println("XMLReader: " + reader.getClass().getName());

  • Jwsdp 1.1 and endorsed mechanism

    Am using j2sdk 1.4.1_01. As the jwsdp tutorial suggested, in order to use the new jaxp classes, I placed the jars in a new \\jre\lib\endorsed directory in the j2sdk and also set the endorsed directories system variable to point to them. When running the xml example from the jwsdp-1.1\docs\tutorial\doc\JAXPSAX6.html file, I'm still getting the crimson parser and not the xerces parser that the tutorial says should be operating. Can anyone tell me why? Or what I must do to get the right parser? I tried running the command on the command line (Windows 2000) and in an UltraEdit DOS command but I get the same results with both - no Xerces parser.
    Thanks.
    Madeleine

    Just to say this works if you put the jars in the classpath. Is this the only way?
    Mad

  • Weblogic does not recognize the  XML Registry settings!!!!

    Dear colleagues,
    We use Weblogic Server 6.0 sp2 and we would like to run an XML application with
    following settings:
    DocumentBuilderFactory: "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"SAXParserFactory:
    "org.apache.xerces.jaxp.SAXParserFactoryImpl"
    Problem is:
    weblogic shows this settings in the console, but at the runtime XML application
    gets always the following parser:
    javax.xml.parsers.SAXParserFactory = weblogic.xml.jaxp.RegistrySAXParserFactory
    and the weblogic.log has also this parameters as a java system property.
    How can we solve this problem in order to use the right parser inside the weblogic?
    I appreciate your cooperation
    thanx,
    Metin

    Can you show me what the error looks like. Also are you deploying the war to the other server? If the war worked on one server it should work on the other server too.
              -- Nagesh

  • Java.lang.NoClassDefFoundError: org/apache/xerces/parsers/SAXParser

    We are trying to evaluate Weblogic 6.1 Beta version.
    We have tried a setup that is working in WebLogic 6.0 sp1 version,
    but the same setup fails in the Beta version.
    We get ...
    java.lang.NoClassDefFoundError:
    org/apache/xerces/parsers/SAXParser
    We had not specified any addl. jars in the classpath
    in 6.0 sp1 version. But this fails in the Beta version.
    Could someone tell if this is a known bug in the Beta release and
    suggest a solution or tell if this will be fixed in the actual version
    when it is
    released in July?
    Thanks.
    -Arvind

    "Jeeva" <[email protected]> wrote in message
    news:3b40ecb5$[email protected]..
    >
    Alternatively u can set the parameters to look at the right parser when uneed
    it. This can be done by:
    System.setProperty("javax.xml.parsers.SAXParserFactory","org.apache.xerces.jaxp.SAXParserFactoryImpl");
    System.setProperty("javax.xml.parsers.DocumentBuilderFactory","org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
    System.setProperty("javax.xml.parsers.SAXParser","org.apache.xerces.jaxp.SAXParserImpl");
    This is far from being recommended for the following reason:
    The JAXP factories cache the classes used to instantiate the factories,
    therefore you cannot changed dynamically these properties at runtime, you
    will have absolutely NO guarantee that this will work. If a factory is
    instantiated before yours, it will use this one. Additionaly, Weblogic
    already defines these properties at startup so that they refer to their own
    factories that can look into the XML registry.
    Consider these properties as being read-only. Chance are that you will mess
    up everything if you modify them.
    If you need to define a specific parser (such as crimson), then put crimson
    in your system classpath and set the XML registry appropriately.
    If you want to take a look at jaxp strategy. Use the JVM
    property -Djaxp.debug=true.
    As well use -Dweblogic.xml.debug=true for Weblogic XML related info.
    Stéphane Bailliez
    Software Engineer, Paris - France
    iMediation - http://www.imediation.com
    Disclaimer: All the opinions expressed above are mine and not those from my
    company.

  • Parse the right Date

    Hi,
    at first, sorry for my bad english,
    now the problem:
    I have to prevent the users to type in
    a wrong date in my textfield;
    Example: a user typed in 31.02.01, I try
    to parse it into a Date and expect an
    Exception, because in February there
    are never 31 days. Instead I get the
    third march.
    Is there a workaround for this task?
    Thanks for help!

    Try this...
    Calendar calendar = Calendar.getInstance();
    calendar.setLenient(false);
    calendar.setTime(yourDate);
    This throws a runtime exception.
    setLenient prevent you as you expected.
    Use calendar.getTime() to get the date.

  • SOS: Am I right when Parsing an IP address this way?

    Hello dear, My question is: I intend to parse a string into an ip address. Following is the code snippet implementing my intention. But It returns false all the time I am nearly crazy! Help me out,please!
         //parse the ip address
         //the ipString stores the string presentation of the ip address.
         String[] ipParsed=ipString.split(".");
         if(ipParsed.length!=4)
              return false;
         //intSection stores each of the four parts of
         //the ip address,in the integer form.
         int intSection;
         for(int i=0;i<ipParsed.length;i++){
                intSection=Integer.parseInt(ipString);
         //limit each integer between 0 and 255
         if(intSection<0||intSection>255)
         return false;
    Maybe the split() method is not the best way doing this.But I thought it is not its default.
    Thank you!

    You don't need to roll this one yourself. The InetAddress class can parse address for you. If you give it a numeric address such as "123.45.67.8" it doesn't try to look it up. If you provide a domain based address such as "www.google.com" it will look it up.
    eg.
    import java.net.InetAddress;
    public class TestInet
            public static void main(String[] args)
                    try
                            InetAddress ia = InetAddress.getByName("123.45.67.8");
                            byte[] ba = ia.getAddress();
                            for(int i=0; i< ba.length; i++)System.out.println(ba);
    catch(Exception e){e.printStackTrace();}

  • PowerPoint parsing into Captivate 8 issues - where are the Adobe personnel to get this right?

    In Captivate 5.5 I can import PowerPoint slides without any problems, BUT in Captivate 8 the parsing is TERRIBLE (even in high fidelity) leaving me with this result:
    I have checked the size of the PP page vs the size of the Captivate software simulation video. I have imported it into an existing capture, I have started a new PowerPoint project and I have imported it into a new Blank project. Nothing works! The parsing is still terrible.
    I have now read a number of Forum posts about problems with importing PP into Captivate 8 - NONE of which had answers.
    So my real question here is: where are the actual Adobe staff members to answer this question and FIX THE PROBLEM! I have a contract to make videos for a company and I will lose my contract if I cannot produce good quality work.
    This is NOT GOOD ENOUGH!!!!

    Lilybiri
    You are a star! Thank you so much for the link.... I will certainly write to them.
    And hopefully someone from Adobe management will see this and consider actually paying some of the generous users who contribute so much to this Forum, at least a stipend... Especially as Adobe is being paid good money for the software.
    The response that I had to problems with Articulate Storyline is outstandingly good. Yes, they do have a general forum which is quite helpful but when I need specific help, their support is excellent. Eg. At about 1am on New Year's day I had a query about transferring my program from one computer to another. Thinking I would only get an answer a few days later I was really surprised when five minutes later I received an email telling me exactly what to do and inviting me to online chat if I still had a hassle.
    I also belong to other Forums for various paid-for software that I use and although many of the people who answer in the space are just fellow users, their super-users (who are always around) are actual developers and are paid by the software provider to help the people who have bought their software.
    So why can't the mammoth Adobe do the same?
    Cheers
    Ann

  • Can't find the right way to parse a string

    Hi to all,
    I am new to Lab-View, coming from a "C" background. I have spent all afternoon trying to get something to work, with no success. I am looking for a way to read files that are named sequentially, with a common prefix. For example:
    "abc2004_001.tst", "abc2004_002.tst",... .
    These file are not generated by LabView and the problem is that the file counter does not have a fixed width (can be 2, 3, 4, ... character wide) and the file prefix is alpha_numeric.
    What I would like to do is to select the first file in the sequence and let LabView generate all other name, incrementing the sequence number, until a file-not-found.
    I've tried using regular expression but cannot make it work when the file name prefix contains
    a number.
    Any suggestion...
    Thanks!
    MichelB

    MichelB wrote in news:5065000000080000000BF00000-
    [email protected]:
    > Hi to all,
    > I am new to Lab-View, coming from a "C" background. I have spent all
    > afternoon trying to get something to work, with no success. I am
    > looking for a way to read files that are named sequentially, with a
    > common prefix. For example:
    > "abc2004_001.tst", "abc2004_002.tst",... .
    > These file are not generated by LabView and the problem is that the
    > file counter does not have a fixed width (can be 2, 3, 4, ...
    > character wide) and the file prefix is alpha_numeric.
    > What I would like to do is to select the first file in the sequence
    > and let LabView generate all other name, incrementing the sequence
    > number, until a file-not-found.
    > I've tried usin
    g regular expression but cannot make it work when the
    > file name prefix contains a number.
    > Any suggestion...
    > Thanks!
    > MichelB
    Suggestion 1:
    Use the "Scan From String" function
    (Function palette->String->Scan From String)
    Wire your input string to "Input String"
    Wire this string constant "%[^_]_%d" to "Format String"
    Expand the outputs to get two outputs.
    The format string does this (string is divided in three)
    %[^_] Extract all characters which is not _
    _ Match the _
    %d Exctract a decimal number
    Suggestion 2:
    Use the "Match Pattern" function
    (Function palette->String->Match Pattern)
    with the string "[a-zA-Z0-9]_" as the "regular pattern" input
    The "after substring" output should hold the number(+filename ending)
    If you have an array with input file names (e.g. from the "List Directory"
    file function) then you have to use a for or while loop.
    Hope this helps.
    Rolf

  • 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 parsing problem

    Hi, my problem is :
    In my Application i want to parse an XML file with DOM parser. The problem is that in my Project "MyProject -> Project Properties -> Libraries and Classpath"
    I have included some 15 libraries which are useful for my Application: ADF Faces Runtime 11, ADF Web Runtime and etc.
    Problems are causing the libraries: BC4J Runtime,ADF Model Runtime, MDS Runtime Dependencies
    because when added my source which is parsing an XML file stops working.The source code is:
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    File file =
    new File("C:\\Documents and Settings\\ilia\\Desktop\\begin.xml");
    Document doc = db.parse(file);
    Element root = doc.getDocumentElement();
    NodeList dots = root.getElementsByTagName("w:t");
    Element firstDot = (Element)dots.item(0);
    String textValue = firstDot.getFirstChild().getNodeValue();
    I use DOM because i need to change some values in the XML file, but its not working neither for reading nor for writing.When debugging I see that it gets the root of the xml but " firstDot.getFirstChild().getNodeValue() " returns null and it breaks with NullPointerException. And that's only when the libraries mentioned above are added to the project. Without them it works just fine !
    I don't know, it's like when added the parser validates my xml against some schema and returns null.
    The xml file is very simple MS Word Document saved as .xml .But I don't think that's the problem.
    Thanks in advance !
    iliya

    Hi all,
    I found the solution to my problem.The right way to parse and change an XML file with DOM parser using the Oracle XML Parser v2 should look like this:
    JXDocumentBuilderFactory factory =
    (JXDocumentBuilderFactory)JXDocumentBuilderFactory.newInstance();
    JXDocumentBuilder documentBuilder =
    (JXDocumentBuilder)factory.newDocumentBuilder();
    File file = new File("c:/Documents and Settings/ilia/Desktop/begin.xml");
    InputStream input =
    new FileInputStream(file);
    XMLDocument xmlDocument = (XMLDocument)(documentBuilder.parse(input));
    System.out.println("Encoding: " + xmlDocument.getEncoding());
    System.out.println("Version: " + xmlDocument.getVersion());
    NodeList namespaceNodeList =
    xmlDocument.getElementsByTagNameNS("http://schemas.microsoft.com/office/word/2003/wordml","t");
    XMLElement namespaceElement17 = (XMLElement)namespaceNodeList.item(17);
    namespaceElement17.getFirstChild().setNodeValue("someString");

  • How can i get the correct text from a string like it show in the original source with the quotation marks in the right place ?

    The text is in hebrew so the problem is that sometimes the quotation marks not in the right place.
    For example i have this text: תווית
    על בגד: ''תן לאישה לכבס. זה תפקידה''
    This is the source original text you can see the quotations marks and they are not in the right place and all i did is copy paste.
    And this is a screenshot of how this text looks like in the website in the original:
    You can see now where the quotations marks should be.
    Now this is how i'm using the text in my program:
    First of all i'm using a webclient to download the page from the website and i'm also encoding it to windows-1255 since it's in hebrew.
    using (var webClient = new WebClient())
    webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
    byte[] myDataBuffer = webClient.DownloadData("http://rotter.net/scoopscache.html");
    page = Encoding.GetEncoding("windows-1255").GetString(myDataBuffer);
    Then i'm extracting the places i need by reading the html file lines and parsing the right text and it's link.
    string loc;
    List<string> metas = new List<string>();
    List<string> metas1 = new List<string>();
    List<string> lockedLinks1 = new List<string>();
    string text = "";
    string mys = "";
    public List<string> LockedThreads(string filename)
    lockedThreads = new List<string>();
    lockedLinks = new List<string>();
    Regex textRegex = new Regex("ToolTip.*?(?=','<)");
    string[] fall = File.ReadAllLines(filename);
    for (int i = 0; i < fall.Length; i++)
    if (fall[i].Contains("http://rotter.net") && fall[i].Contains("locked")||
    fall[i].Contains("locked_icon_general") ||
    fall[i].Contains("locked_icon_anchor") ||
    fall[i].Contains("icon_anchor") ||
    fall[i].Contains("locked_icon_fire") ||
    fall[i].Contains("locked_icon_sport") ||
    fall[i].Contains("locked_icon_camera") ||
    fall[i].Contains("locked_icon_movie"))
    Regex linkParser = new Regex(@"\b(?:https?://|www\.)\S+\b", RegexOptions.Compiled | RegexOptions.IgnoreCase);
    foreach (Match m in linkParser.Matches(fall[i + 2]))
    if (m.Value.Contains("><b"))
    loc = m.Value.Replace("\"><b", string.Empty);
    lockedLinks.Add(loc);
    string txt = fall[i - 1];
    string text = textRegex.Match(txt).Value.Replace("ToolTip','", String.Empty);
    if (text.Contains("&rsquo;"))
    text = text.Replace("&rsquo;", string.Empty);
    lockedThreads.Add(text);
    Already here on the List lockedThreads you can see the quotation marks not in the right place as in the original:
    After i'm parsing the text and links and adding them to the Lists in another class i'm doing a comparison using this Lists:
    foreach (List<string> l_branch in ListsExtractions.responsers)
    TreeNode l_node = treeView1.Nodes.Add(l_branch[l_branch.Count - 1]);
    if (ListsExtractions.lockedThreads.Contains(l_node.Text))
    l_node.ImageIndex = 0;
    l_node.SelectedImageIndex = 0;
    for (int l_count = 0; l_count < l_branch.Count - 1; l_count++)
    TreeNode l_subnode = l_node.Nodes.Add(l_branch[l_count]);
    if (ListsExtractions.lockedThreads.Contains(l_subnode.Text))
    l_subnode.ImageIndex = 0;
    l_subnode.SelectedImageIndex = 0;
    The problem is in the line:
    if (ListsExtractions.lockedThreads.Contains(l_node.Text))
    When it's getting to the line with the quotation marks it's never equal.
    Now there are more quotation marks.
    In general the problem when comparing both text if it's having quotation marks it's not the same.
    So i have two options:
    1. To fix it somehow so the quotation marks will be the same in both variables when comparing and also the same like in the original as they show in the html page.
    2. To remove the quotation marks from both variables.
    What should i do ? And how ? I was prefer to use the original quotation marks like in the original since they have a meaning in the place they should be. The question is how can i do it ?
    This is example of the block from the html file where the text with the quotation marks is:
    <TD ALIGN="RIGHT" VALIGN="TOP">&nbsp;<font size=-1 color=#ff9933><b>9418</b></font>&nbsp;</TD></TR><TR BGCOLOR="#eeeeee">
    <TD ALIGN="RIGHT" VALIGN="TOP">
    <body onmousemove="overhere()">
    <a onmouseover="EnterContent('ToolTip','תווית על בגד: &rsquo;&rsquo;תן לאישה לכבס. זה תפקידה&rsquo;&rsquo;','<u><span style=color:#000099;>כתב: Spook בתאריך: 08.03.15 שעה: 22:11</span></u><br>מחאת טוויטר קמה בעקבות תוויות שוביניסטיות שהדפיסה חברת אופנה באינדונזיה לפיהן תפקיד הכביסה מוטל על האישה. החברה התנצלה אך כנראה רק עשתה רק יותר נזק לע...'); Activate();" onmouseout="deActivate()" href="javascript:void(0)">
    <img src="http://rotter.net/forum/Images/new_locked_icon_general.gif" border="0"></a></TD><TD ALIGN="right" VALIGN="TOP" WIDTH="55%">
    <FONT CLASS='text15bn'><FONT FACE="Arial">
    <a href="http://rotter.net/cgi-bin/forum/dcboard.cgi?az=read_count&om=189696&forum=scoops1"><b>
    <font color="898A8E">תווית על בגד: ''תן לאישה לכבס. זה תפקידה''</b>
    </a></font></TD>

    Ok, it is unclear on what is happening here.
    Are you saying that when the webclient gets the data that it is not honoring the quote characters? Or the processing of the data buffer is causing issues?
    This is what I see the of your example text which is trying to be parse out:
    <a onmouseover="EnterContent('ToolTip','תווית על בגד: &rsquo;&rsquo;תן לאישה לכבס. זה תפקידה&rsquo;&rsquo;','<u><span style=color:#000099;>כתב: Spook בתאריך: 08.03.15 שעה: 22:11</span></u><br>מחאת טוויטר קמה בעקבות תוויות שוביניסטיות שהדפיסה חברת אופנה באינדונזיה לפיהן תפקיד הכביסה מוטל על האישה. החברה התנצלה אך כנראה רק עשתה רק יותר נזק לע...'); Activate();">";
    It appears to me that the  escapes `&rsquo;` does not have matching `&ldquo;` anywhere within the tooltip. So it appears that the page properly places left quotes in when processing the page, but the raw html has broken text.
    Hence a garbage in, garbage out situation.
    William Wegerson (www.OmegaCoder.Com)

  • Unable to implement WOOgnl parser in my WO application on WO5.4.

    Eclipse Version: Juno Service Release 1
    java version: 1.6.0_18
    WebObject Version = 5.4.3
    Steps I am using to implement WOOgnl Parser:-
    1- I have imported WOOgnl.framework in build path
    2- I have made following changes to build.properties file
    ognl.active = true
    ognl.helperFunctions=true
    ognl.inlineBindings=true
    ognl.parseStandardTags=true
    The whole build.properties looks like this:-
    #Wed Nov 21 13:06:11 EST 2012
    classes.dir=bin
    component.inlineBindingPrefix=[
    component.inlineBindingSuffix=]
    component.wellFormedTemplateRequired=true
    customInfoPListContent=
    eoAdaptorClassName=
    embed.Local=false
    embed.Project=false
    embed.System=false
    ognl.active = true
    ognl.helperFunctions=true
    ognl.inlineBindings=true
    ognl.parseStandardTags=true
    principalClass=Application
    project.name=Empsoft
    project.name.lowercase=empsoft
    project.type=application
    webXML=false
    webXML_CustomContent=
    When I am using the above steps i am getting error mentioned below:-
    A fatal exception occurred: ognl/PropertyAccessor
    java.lang.NoClassDefFoundError: ognl/PropertyAccessor
    When I am not importing WOOgnl.framework in my build path the project is running fine but I have to remove all the duplicate entries in Wod file else exception is thrown when I am opening the page from UI.
    Please let me know where I am going wrong.
    Thanks!!!!
    Regards
    Mritunjay Kumar

    The ognl properties (ognl.active, ognl.helperFunctions, etc) go in the Properties file in the Resources folder, not in build.properties.
    You should rarely have to edit the build.properties file manually. It is edited from eclipse by right clicking on project name and selecting "Properties" from the contextual menu and then editing the settings in WOLips Deployment and WOLips Development. If you are using WOOgnl for inline bindings rather than Apple's inline bindings mechanism then in WOLips Development you should probably change
    component.inlineBindingPrefix=[
    component.inlineBindingSuffix=]
    to
    component.inlineBindingPrefix=$
    component.inlineBindingSuffix=
    so that WOLips validation knows what style inline bindings you are using.
    Also I don't understand why you have duplicate entries in wod file.

Maybe you are looking for