XML parser used in Oracle...DOM or SAX?

Hi,
My db version:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0    Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
Question:
I get an XML feed and load it into a temporary table T1.
My requirement is to load it in the exact sequence as I get the rows in xml and also populate a column in the temporary table as a sequence like 1 2 3 corresponding to the rows in the xml
When I do load the xml, it gets loaded in same order the xml feed is sent. So no worries.
But while I was researching I came to know that Oracle could use either DOM or SAX parser. If it uses SAX, then the order is maintained as in XML. But if DOM is used, the order wont be maintained.
Please let me know, how I can ensure that the xml order is maintained as it is while loading into temp table.

I apologize, here is more details
{code}
CREATE TABLE XMLTEMPTBL
  PARAM      NVARCHAR2(30 BYTE),
  PARAMORDERSEQ NUMBER(3)
XML format:
<?xml version="1.0"?>
<ROWSET>
<ROW>
<PARAM1>abc</PARAM1>
</ROW>
<ROW>
<PARAM2>def</PARAM2>
</ROW> 
<ROW>
<PARAM3>ghi</PARAM3>
</ROW> 
<ROW>
<PARAM4>jkl</PARAM4>
</ROW>
</ROWSET>
PROCEDURE insertparams (p_xmldoc IN CLOB)
IS    
  insctx   DBMS_XMLSTORE.ctxtype;
  ROWS     NUMBER;     
BEGIN     
  /*inserting insdoc into a temp table*/
  insctx := DBMS_XMLSTORE.newcontext ('xmlTempTbl');
  ROWS := DBMS_XMLSTORE.insertxml (insctx, p_xmldoc);
  DBMS_XMLSTORE.closecontext (insctx);
END;
I want to insert into table this way:
select * from xmltemptb;
PARAM PARAMORDERSEQ
abc 1
def 2
ghi 3
jkl 4
{code}
My procedure is not 100% correct (but it gives an idea what code I am using to load into table), but I want to ensure the xml rows are loaded into the table in the same sequence.

Similar Messages

  • Can't convert oracle.xml.parser.DTD to oracle.xml.parser.v2.DTD.

    I am getting the following Error while trying
    to compile the SampleMain.java file(Generating an XML document from a given Employee.dtd).
    I have set my classpath to use xmlparser.jar.
    D:\XMls>javac SampleMain.java
    SampleMain.java:65: Can't convert oracle.xml.parser.DTD to oracle.xml.parser.v2.DTD.
    main(java.l
    ang.String[]).
    generator.generate(dtd, doctype_name);

    Would you check the java parser version you are using? If using java parser V2, the normal lib name is xmlparserv2.jar.
    null

  • Attribute parsing using the Oracle SAX Parser

    I am trying to parse attributes like <Phone Type="N"> using the SAX xml parser from oracle in the startElement method and am getting a null pointer exception
    public void startElement(String sName_, AttributeList attrs_) {
    if sName_.equals("Phone")
    String phoneType = attrs_.getValue("Type")
    Any ideas ??
    null

    Using 2.0.2.9, the following works for me:
    import oracle.xml.parser.v2.*;
    public class SAXParserExample {
    public static void main(String[] a) throws Throwable {
    SAXParser s = new SAXParser();
    Handler h = new Handler();
    s.setDocumentHandler(h);
    s.parse(new java.io.StringReader("<Phone Type='N'/>"));
    import org.xml.sax.*;
    public class Handler extends HandlerBase {
    public void startElement(String sName_, AttributeList attrs_) {
    if (sName_.equals("Phone")) {
    String phoneType = attrs_.getValue("Type");
    System.out.println(phoneType);
    }What's different about your case?

  • XML parser Problem in Oracle 9iAS

    Dear All,
    I am trying to parse a xml file by using a SAX Parser.
    I am getting error "oracle.xml.parser.v2.XMLParseException: Invalid InputSource.'. I have already included 'xerces.jar' in the classpath.
    But it is always taking oracle xml parser.
    How to change the default XML parser in Oracle 9ias.
    This is my report.jsp File
    &lt;%@ page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*,javax.jms.*,iims.util.*,javax.xml.parsers.*,org.xml.sax.*,org.xml.sax.helpers.*, org.w3c.dom.*"%&gt;
    &lt;%
    generateTree();
    %&gt;
    &lt;%!
         //This method is to be called during startup. It will generate the template and rule nodes.
         public static void generateTree() throws Exception
              //Proceed with this method if the template and rule trees are not built already.
              //if (nodeTemplate != null && nodeRule != null) return;
              // Validate
              Node nodeRule = parseXml("d:\\ora9ias\\j2ee\\home\\Reports\\IIMSReportsTemplate1.xml");
         }//generateTree
    %&gt;
    &lt;%!
         //parse the input file and return a node.
         private static Node parseXml(String fileName) throws Exception
              //Parse the input file
              Document objDocument = null;
              DocumentBuilder objDocumentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
              objDocument = objDocumentBuilder.parse(fileName);
              Node nodeRet = objDocument;
              return nodeRet;
         }//parseXml
    %&gt;
    Report template:
    &lt;ROOT&gt;
         &lt;HEADINGS&gt;
              &lt;HEADING1&gt;H1&lt;/HEADING1&gt;
              &lt;HEADING2&gt;H2&lt;/HEADING2&gt;
              &lt;HEADING3&gt;H3&lt;/HEADING3&gt;
              &lt;HEADING4&gt;H4&lt;/HEADING4&gt;
              &lt;HEADING5&gt;H5&lt;/HEADING5&gt;
              &lt;HEADING6&gt;H6&lt;/HEADING6&gt;
         &lt;/HEADINGS&gt;
         &lt;ROWSETS&gt;
              &lt;ROWSET&gt;
                   &lt;COLHDRS&gt;
                   &lt;/COLHDRS&gt;
                   &lt;ROWS&gt;
                   &lt;/ROWS&gt;
              &lt;/ROWSET&gt;
         &lt;/ROWSETS&gt;
         &lt;Footer&gt;
              &lt;PageNo&gt;Generate&lt;/PageNo&gt;
              &lt;Date&gt;SystemDate&lt;/Date&gt;
         &lt;/Footer&gt;
    &lt;/ROOT&gt;
    Stack Trace:
    strRuleFileD:\ora9ias\j2ee\home\Reports\IIMSReportsRules.xml
    oracle.xml.parser.v2.XMLParseException: Invalid InputSource.
    at oracle.xml.parser.v2.XMLError.flushErrors(XMLError.java:145)
    at oracle.xml.parser.v2.XMLReader.pushXMLReader(XMLReader.java:208)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:140)
    at oracle.xml.jaxp.JXDocumentBuilder.parse(JXDocumentBuilder.java:96)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:165)
    at iims.REPORTS.IIMSGenerateReport.parseXml(IIMSGenerateReport.java:115)
    at iims.REPORTS.IIMSGenerateReport.generateTree(IIMSGenerateReport.java:
    100)
    at iims.REPORTS.IIMSGenerateReport.buildXML(IIMSGenerateReport.java:147)
    at PCREPORT_PROCESS.processBody(PCREPORT_PROCESS.java:3248)
    at PCREPORT_PROCESS.doPost(PCREPORT_PROCESS.java:100)
    at PCREPORT_PROCESS.doGet(PCREPORT_PROCESS.java:92)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:244)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterC
    hain.java:59)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletReque
    stDispatcher.java:523)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Ser
    vletRequestDispatcher.java:269)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpReques
    tHandler.java:735)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java
    :151)
    at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:64)
    Please advise.
    Thanks
    Siva Kishor Rao U

    Adding Xerces XML parser is not enough to make it work. Since some version of JDK (I think 1.4.X) XML parser is included and for older version it can be setup like a runtime option. And this is probably how ORACLE is using its XML parser. If you want to use different parser, you have to pass runtime option to JVM - for Xalan it looks like this:
    -Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl
    ...this way it becomes default parser factory used by javax interface functions. Look for documentation on xml.apache.org
    Myrra

  • XML parsing problems with Oracle XML parser for PL/SQL

    I am using the Oracle XML parser for PL/SQL to transform XML into HTML usign XSL. The parser gives me sporadic errors trying to parse various XML documents. For the same XML source, the XMLPARSER will parse without errors one day and the next day will give me errors such as "invalid char in text", "Expected ';'.", or even Java null pointer exceptions.
    I have verified that the XML sources are well formed, so I am pretty certain that the problems I am having are bugs in the XMLPARSER.
    Is there going to be a XML parser for PL/SQL version 2 that will fix these bugs? If so, when??? If not, is there anything else I could do to fix these problems?
    Thanks!

    You can use the latest version.

  • Xml parsing using java DefaultHandler of org.xml.sax.helpers.DefaultHandler

    i am using
    org.xml.sax.helpers.DefaultHandler api for parsing xml file ,while parsing i am getting exception sometimes ,
    i am using code below to parse the element and then store it to vectore
    parser truncate the charaacters sometimes like parsing string
    " NJ-HealthCare " i am getting only " NJ-HealthCare " and remaing characters are added in new element
    public void characters(char ch[], int start, int length) {
    try{
    ElementVal="";
    System.out.println(" start "+start+" ength :: "+length);
    String ElementVal = new String(ch,start,length);
    v.addElement( ElementVal );
    }catch(Exception ex){
    System.out.println("Exception in vector::"+ex);
    System.out.println(""+ex.getMessage());
    ex.printStackTrace();
    }

    This is an FAQ in the XML forum. The characters() method is not required to give you an entire text node all at once. The parser is free to split up the text node and call characters() several times if it likes. Your program will have to account for that possibility.

  • XMl parser used in JWSDP

    Hi,
    SOAP messages are xml messages. I knwo that the SOAP messages are processed before invoking the web service. what parser is used to process the SOAP message at the service side. Is it a DOM parser or a SAX parser?? Is there a way we can set the server to use a DOM Parser...?????
    Regards,
    Kartik.

    I apologize, here is more details
    {code}
    CREATE TABLE XMLTEMPTBL
      PARAM      NVARCHAR2(30 BYTE),
      PARAMORDERSEQ NUMBER(3)
    XML format:
    <?xml version="1.0"?>
    <ROWSET>
    <ROW>
    <PARAM1>abc</PARAM1>
    </ROW>
    <ROW>
    <PARAM2>def</PARAM2>
    </ROW> 
    <ROW>
    <PARAM3>ghi</PARAM3>
    </ROW> 
    <ROW>
    <PARAM4>jkl</PARAM4>
    </ROW>
    </ROWSET>
    PROCEDURE insertparams (p_xmldoc IN CLOB)
    IS    
      insctx   DBMS_XMLSTORE.ctxtype;
      ROWS     NUMBER;     
    BEGIN     
      /*inserting insdoc into a temp table*/
      insctx := DBMS_XMLSTORE.newcontext ('xmlTempTbl');
      ROWS := DBMS_XMLSTORE.insertxml (insctx, p_xmldoc);
      DBMS_XMLSTORE.closecontext (insctx);
    END;
    I want to insert into table this way:
    select * from xmltemptb;
    PARAM PARAMORDERSEQ
    abc 1
    def 2
    ghi 3
    jkl 4
    {code}
    My procedure is not 100% correct (but it gives an idea what code I am using to load into table), but I want to ensure the xml rows are loaded into the table in the same sequence.

  • XML Parsing exception: org.w3c.dom.ls.LSException

    Hi All,
    <p>We have a WSM(Webservice Management Application) product which will generate a 'Proxy WSDL URL' for a 'Real WSDL URL' and it does security/auditing/logging/routing and other stuffs at runtime while getting a webservice request (on Proxy WSDL) and route it to the Functional(Real WSDL URL - Application server where the actual webservice is deployed) endpoint.
    On receiving response from the functional endpoint, it again comes back to WSM which has to just give the response back to the user unless and until some special policies are attached (like schema validation policy - it will validate the response body based on the schema XSD) </p>
    <p/>
    <p>Here, while reading the response (from functional/application endpoint) over the wire and at the time of creating the actual SoapResponse (XmlResponse) for the end user
    xercesImpl.jar is used to parse the data -lsParser.parse(lsInput); which is throwing the exception <b>"org.w3c.dom.ls.LSException: An invalid XML character (Unicode: 0x16) was found in the element content of the document" </b>when it sees not properly formatted XML at any cause (having incompatible data/special character).</p>
    <p/>
    <p><b>As the exception does not even give enough information like where the XML is corrupt/having incompatible data/special character, we cant have a control to do anything from our application/product side ,as it is third party jar xercesImpl.jar. It would be really very helpful if we
    > either get a option/boolean to turn off the validation logic which is done internally in xercesImpl.jar at the time of parsing 'lsParser.parse(lsInput);'
    > or get additional information in the exception (original cause - like the incompatible/special character (or) a full corrupted response in the exception itself) with which we can get a clue to resolve the issue.</b></p>
    <p/>
    Thanks in Advance
    Priya

    I did a search on Sun site, nothing came back.
    It is on http://xml.apache.org/xerces2-j though.
    You might need to go there and download it. or make sure your
    classpath includes the right jar file.

  • Xml parsing using dom4j

    I have some XML in String format, and I want to use the DocumentHelper.parseText() method on that string to parse it to Document format.
    I use it and it doesn't say anything about an error, however when I try to get "getelementroot()" and "getattributevalue" it gives me null.
    The XML looks like this:
    <Response status="1">
    <ERROR code="1">Offer is not available. </ERROR>
    <OFFER_ID>fPSC00010_PKG</OFFER_ID>
    </Response>
    I want to get the value of "status", i.e 1 in this case. So I do something like this:
    Element e = doc.getRootElement();
    String s = e.attributeValue("Status");
    Have I misunderstood something or what?

    Well I am not 100% sure why your code is causing a problem. I used dom4j 1 year ago.
    But I can give you my code snippet, the difference there to your snippet is that I first retrieved an Iterator over the Root element. And as I think the root element in your case is not the "Response" element it is more like a pointer to the start of the document. I am sorry for my vague explanation,it's too long age.
    But I am sure that you can use my example for your need effectively.
    public XMLMetaReader( String fileName )
            Document document = null;
            try
                SAXReader reader = new SAXReader( true );
                document = reader.read( fileName );
                root = document.getRootElement();
                createDBTree();
            catch ( DocumentException e )
                e.printStackTrace();
        public Map getSourceTables()
            return sourceTables;
        /** Return all tables which are set in the currently connected Database. */
        private void createDBTree() throws DocumentException
            for ( Iterator iterator0 = root.elementIterator( "database" ); iterator0.hasNext(); )
                Element databaseNode = ( Element ) iterator0.next();
                database = databaseNode.attributeValue( "ID" );
                // iterate through child elements of root with element name "table"
                for ( Iterator iterator = databaseNode.elementIterator( "table" ); iterator.hasNext(); )
                    Element tableNode = ( Element ) iterator.next();
                    Table table = new Table( tableNode.attributeValue( "ID" ) );
                    sourceTables.put( tableNode.attributeValue( "ID" ), table );
                    // iterate through child elements of root with element name "field"
                    for ( Iterator iterator2 = tableNode.elementIterator( "field" ); iterator2.hasNext(); )
                        Element fieldNode = ( Element ) iterator2.next();
                        Field field = new Field( fieldNode.attributeValue( "ID" ) );
                        field.setOriginalDomain( fieldNode.attributeValue( "datatype" ) );
                        if ( fieldNode.attributeValue( "default" ) != null )
                            String fieldValue = fieldNode.attributeValue( "default" );
                            if ( ( fieldValue ).equalsIgnoreCase( "NULL" ) )
                                field.setIsOriginalNullable( true );
                            else if ( ( fieldValue ).equalsIgnoreCase( "NOT NULL" ) )
                                field.setIsOriginalNullable( false );
                            else
                                field.setOriginalDefault( fieldValue );
                        table.addField( field );
                    for ( Iterator iterator2 = tableNode.elementIterator( "primarykey" ); iterator2.hasNext(); )
                        Element primaryNode = ( Element ) iterator2.next();
                        for ( Iterator iterator3 = primaryNode.elementIterator( "key" ); iterator3.hasNext(); )
                            Element keyNode = ( Element ) iterator3.next();
                            table.addPrimaryKey( keyNode.attributeValue( "field" ) );
                            Field primaryField = table.getField( keyNode.attributeValue( "field" ) );
                            primaryField.setIsOriginalPrimary( true );
                    for ( Iterator iterator2 = tableNode.elementIterator( "foreignkey" ); iterator2.hasNext(); )
                        Element foreignNode = ( Element ) iterator2.next();
                        ForeignKey foreignKey = new ForeignKey();
                        for ( Iterator iterator3 = foreignNode.elementIterator( "key" ); iterator3.hasNext(); )
                            Element keyNode = ( Element ) iterator3.next();
                            foreignKey.setOnField( keyNode.attributeValue( "field" ) );
                            System.out.println( keyNode.attributeValue( "field" ) );
                            foreignKey.setReferencedTable( keyNode.attributeValue( "references" ) );
                            System.out.println( keyNode.attributeValue( "references" ) );
                        for ( Iterator iterator3 = foreignNode.elementIterator( "onupdate" ); iterator3.hasNext(); )
                            Element onUpdateNode = ( Element ) iterator3.next();
                            foreignKey.setOnUpdate( onUpdateNode.attributeValue( "action" ) );
                        for ( Iterator iterator3 = foreignNode.elementIterator( "ondelete" ); iterator3.hasNext(); )
                            Element onDeleteNode = ( Element ) iterator3.next();
                            foreignKey.setOnDelete( onDeleteNode.attributeValue( "action" ) );
                        table.addForeignKey( foreignKey );
                    for ( Iterator iterator2 = tableNode.elementIterator( "index" ); iterator2.hasNext(); )
                        Element indexNode = ( Element ) iterator2.next();
                        Index index = new Index( indexNode.attributeValue( "name" ) );
                        index.setIsUNIQUE( ( indexNode.attributeValue( "unique" ) ).equalsIgnoreCase( "true" )  );
                        index.setIsDESC( ( indexNode.attributeValue( "ASC" ) ).equalsIgnoreCase( "true" )  );
                        /* index.setTable( tableNode.attributeValue( "ID" ) ); */
                        for ( Iterator iterator3 = indexNode.elementIterator( "indexfield" ); iterator3.hasNext(); )
                            Element indexFieldElement = ( Element )iterator3.next();
                            int position = Integer.parseInt( indexFieldElement.attributeValue( "position" ) );
                            index.addField( indexFieldElement.attributeValue( "field" ), ( short ) position );
                        table.addIndex( index );
                    for ( Iterator iterator2 = tableNode.elementIterator( "uniqueclause" ); iterator2.hasNext(); )
                        Element uniqueNode = ( Element ) iterator2.next();
                        UniqueConstraint uniqueConstraint = new UniqueConstraint();
                        for ( Iterator iterator3 = tableNode.elementIterator( "uniquefield" ); iterator3.hasNext(); )
                            Element uniqueFieldNode = ( Element ) iterator3.next();
                            uniqueConstraint.addField( uniqueFieldNode.attributeValue( "field" ) );
    }Hope it helps.
    Best regards
    Tarik

  • XML Parser using PL/SQL

    Hi all,
    I am new to XML. I have a text variables for example:
    v_doc_text :=
    '<emp>
    <empno no="3">1</empno>
    <fname>robert</fname>
    <lname>smith</lname>
    <sal>1000</sal>
    <job>engineer</job>
    </emp>';
    I want to parse this xml and in pl/sql variable.
    Please help me how to do it or please give me an example.
    I appreciate the help.
    Thx.

    Which version of the database are you running? Do you know whether it's got the XDK installed and enabled?
    If you are new to XML you won't understand the difference between XMLSchema and DTD. But you need to understand the principles of XML before you leap into coding it. For instance, how do you know that text file is valid? You don't, because it has not been validated against either an XMLSchema nor a DTD.
    The Oracle document is focussed on their bespoke implementation, and is not beginner-friendly. I suggest you start with this O'Reilly piece and then read about document validation.
    And if you want a good, free lightweight XML editor I recommend XML Notepad which is a Microsoft beta product (not supported, beware of downloading strange .EXE etc).
    Good luck, APC

  • Xml parsing innovation

    [ANN] VTD-XML Version 1.5 Released
    Eight years after the invention of XML, DOM and SAX,
    despite their respective issues, are still the mainstays
    of application developers.
    So is it the end of road for XML parsing innovation?
    The VTD-XML project team think not. We are proud to
    announce the availability of both C and Java version
    1.5 of VTD-XML, the next generation open-source XML
    parser that goes beyond DOM and SAX in terms of
    performance, memory usage and ease of use.
    The technical highlights of VTD-XML are:
    * Performance: the world's fastest XML parser,
    between 5x~10x faster than DOM
    * Memory Usage: 3x to 5x less than DOM, 1.3x~1.5x
    XML document size
    * Random access with built-in XPath support
    * A simple and intuitive API
    Other advanced features include:
    * Buffer reuse
    * Large document support (2GByte)
    * Incremental update
    * Hardware acceleration
    * Native XML indexing.
    For demos, latest benchmarks, related articles and software
    downloads, please visit http://vtd-xml.sf.net. Also let us
    know your thoughts and suggestions and help us improve
    VTD-XML.

    Don't crosspost.
    http://forum.java.sun.com/thread.jspa?threadID=707987&tstart=20
    It should be noted that this parser is not a full implementation, and ignores some xml constructs, which perhaps helps it's performance numbers in comparison to compliant parsers.

  • HOW TO: Use the XML parser in Oracle 8.1.7

    I am trying to figure out how to use the xml parser provided in oracle 8.1.7. all i want to do is parse a xml report that is defined using a schema, and place the data into the proper tables. i am totally unfamiliar with the xml parser and how it works. i have done some reading on the subject, but seem to be getting some conflicting infromation about which utilites i need and how to invoke them. can someone please tell me what utilities i need, how to invoke them, and what i need to do to get a xml document to parse and insert to a table? I would greatly appreciate any help anybody could offer. thanks.

    You can parse the XML Document with XML Parser and place the data into database using XSU(XML SQL Utility).
    Both of these are included in XDK for Java at:
    http://otn.oracle.com/tech/xml/xdk_java
    The following document could also help:
    Oracle9i XML Developer's Guide--XDK [PDF] at http://otn.oracle.com/tech/xml/doc.html

  • Creating a dynamic jtree using datas retrieved by dom in xml parsing

    help me with code to create a dynamic jtree using data retrieved as nodes by xml parsing using dom

    Ok, so you want to make a tree. To determine the data that appears in a tree, you have to make a custom tree model. The API for this is at :
    http://java.sun.com/j2se/1.4.2/docs/api/
    A tutorial for using trees is at :
    http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html
    I assume you are going to be using Nodes, since you are using XML. For this I might start with something like
    class NodeTreeModel implements TreeModelI would then implement the 'getChildCount()' as the number of subnodes a node has, and the value of a tree node to the nodes value.
    Hope that starts you off.

  • How can I use a 3rd party XML parser such as xerces with OC4J ?

    Hi all tech experts,
    I am using Oracle Application Server 10g Release 2 (10.1.2) and i have
    installed Portal and Wireless and OracleAS Infrastructure on the same
    computer.
    i tried all the solutions on this thread
    Use of Xerces Parser in out application with Oracle App Server 9.0.4
    but still fighting.
    I have also posted this query on OTN on following thread
    How can I use a 3rd party XML parser such as xerces with OC4J?
    but no reply....
    Please help me on this issue.
    Since OC4J is preconfigured to use the Oracle XML parser which is xmlparserv2.jar.
    i have read the following article which states that
    OC4J is preconfigured to use the Oracle XML parser. The Oracle XML parser is fully JAXP 1.1 compatible and will serve the needs of applications which require JAXP functionality. This approach does not require the download, installation, and configuration of additional XML parsers.
    The Oracle XML parser (xmlparserv2.jar) is configured to load as a system level library of OC4J through it's inclusion as an entry in the Class-Path entry of the oc4j.jar Manifest.mf file. This results in the Oracle XML parser being used for all common deployment and packaging situations. You are not permitted to modify the Manifest.mf file of oc4j.jar.
    It must be noted that configuring OC4J to run with any additional XML parser or JDBC library is not a supported configuration. We do know customers who have managed to successfully replace the system level XML parser and the Oracle JDBC drivers that ship with the product, but we do not support this type of configuration due to the possibility of unexpected system behavior and system errors that might occur from replacing the tested and certified libraries.
    If you absolutely must use an additional XML parser such as xerces, then you have to start OC4J such that the xerces.jar file is loaded at a level above the OC4J system classpath. This can be accomplished using the -Xbootclasspath flag of the JRE.
    i have also run the following command
    java -Xbootclasspath/a:d:\xerces\xerces.jar -jar oc4j.jar
    but no success.
    How could i utilize my jar's like xerces.jar and xalan.jar for parsing instead of OC4J in-built parser ?
    All reply will be highly appreciated.
    Thnx in advance to all.
    Neeraj Sidhaye
    try_catch_finally @ Y !

    Hi Neeraj Sidhaye,
    I am trying to deploy a sample xform application to the Oracle Application Server (10.1.3). However, I encountered the class loader issue that is similar to your stuation. I tried all the three solutions but the application is still use the Oracle xml paser class. I am wondering if you have any insight about this?
    Thanks for your help.
    Xingsheng Qian
    iPass Inc.
    Here is the error message I got.
    Message:
    java.lang.ClassCastException: oracle.xml.parser.v2.XMLElement
    Stack Trace:
    org.chiba.xml.xforms.exception.XFormsException: java.lang.ClassCastException: oracle.xml.parser.v2.XMLElement
         at org.chiba.xml.xforms.Container.dispatch(Unknown Source)
         at org.chiba.xml.xforms.Container.dispatch(Unknown Source)
         at org.chiba.xml.xforms.Container.initModels(Unknown Source)
         at org.chiba.xml.xforms.Container.init(Unknown Source)
         at org.chiba.xml.xforms.ChibaBean.init(Unknown Source)
         at org.chiba.adapter.servlet.ServletAdapter.init(ServletAdapter.java:153)
         at org.chiba.adapter.servlet.ChibaServlet.doGet(ChibaServlet.java:303)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.ClassCastException: oracle.xml.parser.v2.XMLElement
         at org.chiba.xml.xforms.Instance.iterateModelItems(Unknown Source)
         at org.chiba.xml.xforms.Bind.initializeModelItems(Unknown Source)
         at org.chiba.xml.xforms.Bind.init(Unknown Source)
         at org.chiba.xml.xforms.Initializer.initializeBindElements(Unknown Source)
         at org.chiba.xml.xforms.Model.modelConstruct(Unknown Source)
         at org.chiba.xml.xforms.Model.performDefault(Unknown Source)
         at org.chiba.xml.xforms.XFormsDocument.performDefault(Unknown Source)
         at org.chiba.xml.xforms.XFormsDocument.dispatchEvent(Unknown Source)
         at org.apache.xerces.dom.NodeImpl.dispatchEvent(Unknown Source)
         ... 18 more

  • Oracle XML Parser validation against XML Sxhema

    Hi,
    I am developing a program in C++ on Unix, that does parsing on an XML document. For parsing I am using "Oracle XML Parser" [using DOM API]. My question is, Can Oracle XML Parser validate xml document against an XML Schema file also? I have read in many tutorials that it can validate against DTD. Please clarify my question as early as possible?
    Regards,
    Raghuram.

    Hi Kulkarni,
    I think you are trying to retrieve the text of the parent element of book. For example if this is the xml element
    <bookdetails>
    <book>Harry Potter</book>
    <author>JK Rowling</author>
    <price>34.55</price>
    </book>
    </bookdetails>
    You must be trying to retrieving the text of bookdetails.
    Check XMLNode.getNodeName() to retrieve the name of the node.
    To get 'Harry Potter' as output you need to traverse till book and then use XMLNode.getText()
    You can check the 'getQuestions()' method in Survey Sample
    to know how to tranverse to any element of an XML using Java.
    The Survey Sample is located at
    http://otn.oracle.com/sample_code/tech/xml/survey/content.html
    Download the sample and unjar it. The location of Analyser.java is
    SurveySample\code\Survey\src\oracle\otnsamples\survey\business\Analyser.java
    Have a look at it.
    Regards,
    Anupama
    http://otn.oracle.com/sample_code/content.html

Maybe you are looking for

  • How to set multiple senders for one account

    Hi all, I have a BIS account with my provider and a paid gmail account which collect for me mails from different address. Is it possible to set multiple senders for this account, thus it seems that I'm replying from one of these address and not only

  • Getpeername: Socket operation on non-socket

    when i am starting the in.ftpd service. i am getting the below error in.ftpd[5418]: [ID 572618 daemon.error] getpeername: Socket operation on non-socket. Thanks in advance.

  • Query on flashback_transaction_query table taking ridiculously long time

    Oracle 10.2.0.3.0 on Solaris : I am trying to use Flashback Transaction Query table to track transactions and generate the undo_sql within a time period for an entire schema using the following sql : SELECT XID,START_SCN,COMMIT_SCN,OPERATION,TABLE_NA

  • How to add custom field in Documents Tab of PO Header ?

    Dear SRM Friends,   This is a challenging task as an ABAPer to confront to..   We are in the midst of a requirement where we have to add a custom field in the PO Header. But the requirement is to add the field in Documents Tab in PO Header Data as fo

  • Pix OSPF load balancing question

    I have a pix 515e with two default routes, learned via OSPF from two routers on the "outside" interface. Currently router#2 is being preferred way much more than router#1. There are many thousands of destinations for the traffic. These two routers ar