Parsing XML input

I will be getting an XML string as input to a program which will parse the XML and execute a given procedure. The XML string will contain the name of a package, the program within the package, the parameter names, and parameter values.
Right now, I'm assuming the input will be in this format:
<?xml version="1.0"?> 
                        <oracle_pkg> 
                          <pkg id="EMP_TEST_PKG"> 
                            <prc id="P_GET_EMP">
                                <param_name id="p_EmpID">
                                  <param_val>12345</param_val>                                 
                                </param_name>
                                <param_name id="p_EmployeeType">
                                  <param_val>F</param_val>                                 
                                </param_name>
                           </prc> 
                          </pkg>
                        </oracle_pkg>Now how would I be able to query this string to get the following as results?
pkg             prc             param_name      param_val
EMP_TEST_PKG     P_GET_EMP     p_EmpID         12345
EMP_TEST_PKG     P_GET_EMP     p_EmployeeType  FI understand that my XML string format may not be in the right structure to create the output that I want, so please make suggestions as necessary.
Thanks!

Well it appears I need to do something more like this:
DECLARE
v_xml_string  LONG := '<?xml version="1.0"?> 
                        <oracle_pkg> 
                          <pkg id="EMP_TEST_PKG"> 
                            <prc id="GET_EMP">
                                <param_name id="p_EmpID">
                                  <param_val>12345</param_val>                                 
                                </param_name>
                                <param_name id="p_EmployeeType">
                                  <param_val>F</param_val>                                 
                                </param_name>
                            </prc> 
                          </pkg>
                        </oracle_pkg>';
BEGIN
  FOR rec IN (SELECT t.COLUMN_VALUE.extract('/pkg/@id') .getStringVal() pkg_name,
                     t.COLUMN_VALUE.extract('/pkg/prc/@id') .getStringVal() proc_name,
                     t.COLUMN_VALUE.extract('/pkg/prc/param_name/@id') .getStringVal() parameter_id,
                     t.COLUMN_VALUE.extract('/pkg/prc/param_name/param_val
              FROM   TABLE(xmlsequence(XMLTYPE(v_xml_string)
                                       .extract('/oracle_pkg/pkg'))) t)  
  LOOP
   dbms_output.put_line('Pkg Name=' || rec.pkg_name);
   dbms_output.put_line('Proc Name=' || rec.proc_name);
   dbms_output.put_line('Param Name=' || rec.parameter_id);
   dbms_output.put_line('Param Val=' || rec.parameter_val);
  END LOOP;
END;                                          The result of this is:
Pkg Name=PK_SLEA_FA
Proc Name=PR_FA_GetEmployeeInfo
Param Name=p_EmpIDp_EmployeeType
Param Val=12345F...but I would rather have it as:
Pkg Name=PK_SLEA_FA
Proc Name=PR_FA_GetEmployeeInfo
Param Name=p_EmpID
Param Val=12345
Pkg Name=PK_SLEA_FA
Proc Name=PR_FA_GetEmployeeInfo
Param Name=p_EmployeeType
Param Val=FAny ideas?

Similar Messages

  • Parse XML input stream (no .xml file)?

    i have a java applet calling a web service that returns XML data as an input stream (char by char from SOAP) to this applet. if i append a all the chars to a string, is there some XML tool that will parse the string as if it were an XML document (like a getElement functions)?
    the applet cannot write the data to a .xml file, and i don't want to mess around with .jarsigning. any ideas?
    thanks,
    jonathan

    The XML parsers you are likely to be using support receiving input from a variety of sources besides files. For example you could parse XML from a String variable by passing a StringReader wrapping that String to the parser. Check the documentation for more details.

  • How to get and parse xml input parameter?

    Hi,
    If one transaction input parameter is xml string, like as below.
    <a>
    <b>
        <c>1</c>
        <d>2</d>
    </b>
    <b>
        <c>3</c>
        <d>4</d>
    </b>   
    </a>
    If I would like to get each element (maybe by repeater action), how to do that?
    Thanks!

    Hi,
    You must convert the string into xml with necessary action block. (XML Functions --> String to XML Parser)
    Then you must put a repeater after converter action and you must set Xpath expression for repeater (configuration) like below:
    String_To_XML_Parser_0.Output{/ARef/BRef}
    after repeater you can use values like below:
    Repeater.Output{/BRef/c}
    Repeater.Output{/BRef/d}
    Regards.

  • Parsing XML from Socket input stream

    I create a sax parser to which I send the InputStream from the socket
    But my HandlerBase never gets the events. I get startDocument
    but that is it, I never get any other event.
    The code I have works just like expected when I make the InputStream
    come from a file. The only differeence I see is that when I file is used the
    InputStream is fully consumed while with the socket the InputStream
    is kept open (I MUST KEEP THE SOCKET OPEN ALL THE TIME). If the parser
    does not generate the events unless the InputStream is fully consumed,
    isn't that against the whole idea of SAX (sax event driven) .
    Has anyone been succesfull parsing XML from the InputStream of a socket?
    if yes how?
    I am using JAXP 1.0.1 but I can upgrade to JAXP 1.1.0
    which uses SAX 2.0
    Does anybody know if my needs can be met by JAXP 1.1.0?
    Thanks

    I did the same with client/server model.
    I have client program with SAX parser. Please try if you can make the server side. I was be able to write the program with help from this forum. Please search to see if you can get the forum from which I got help for this program.
    // JAXP packages
    import javax.xml.parsers.*;
    import org.xml.sax.*;
    import org.xml.sax.helpers.*;
    // JAVA packages
    import java.util.*;
    import java.io.*;
    import java.net.*;
    public class XMLSocketClient {
    final private static int buffSize = 1024*10;
    final private static int PORTNUM = 8888;
         final private static int threadSleepValue = 1000;
    private static void usage() {
    System.err.println("Usage: XMLSocketClient [-v] serverAddr");
    System.err.println(" -v = validation");
    System.exit(1);
    public static void main(String[] args) {
    String address = null;
    boolean validation = false;
    Socket socket = null;
    InputStreamReader isr_socket = null;
    BufferedReader br_socket = null;
    CharArrayReader car = null;
    BufferedReader br_car = null;
    char[] charBuff = new char[buffSize];
    int in_buff = 0;
    * Parse arguments of command options
    for (int i = 0; i < args.length; i++) {
    if (args.equals("-v")) {
    validation = true;
    } else {
    address = args[i];
    // Must be last arg
    if (i != args.length - 1) {
    usage();
    // Initialize the socket and streams
    try {
    socket = new Socket(address, PORTNUM);
    isr_socket = new InputStreamReader(socket.getInputStream());
    br_socket = new BufferedReader(isr_socket, buffSize);
    catch (IOException e) {
    System.err.println("Exception: couldn't create stream socket "
    + e.getMessage());
    System.exit(1);
    * Check whether the buffer has input.
    try {
    while (br_socket.ready() != true) {
                   try {
                        Thread.currentThread().sleep(threadSleepValue);     
                   catch (InterruptedException ie) {
              System.err.println("Interrupted error for sleep: "+ ie.getMessage());
                   System.exit(1);
    catch (IOException e) {
    System.err.println("I/O error for in.read(): "+ e.getMessage());
    System.exit(1);
    try {
    in_buff = br_socket.read(charBuff, 0, buffSize);
    System.out.println("in_buff = " + in_buff);
    System.out.println("charBuff length: " + charBuff.length);
    if (in_buff != -1) {
    System.out.println("End of file");
    } catch (IOException e) {
    System.out.println("Exception: " + e.getMessage());
    System.exit(1);
    System.out.println("reading XML file:");
    StringBuffer display = new StringBuffer();
    display.append(charBuff, 0, in_buff);
    System.out.println(display.toString());
    * Create BufferedReader from the charBuff
    * in order to put into XML parser.
    car = new CharArrayReader(charBuff, 0, in_buff); // these two lines have to be here.
    br_car = new BufferedReader(car);
    * Create a JAXP SAXParserFactory and configure it
    * This section is standard handling of XML document by SAX XML parser.
    SAXParserFactory spf = SAXParserFactory.newInstance();
    spf.setValidating(validation);
    XMLReader xmlReader = null;
    try {
    // Create a JAXP SAXParser
    SAXParser saxParser = spf.newSAXParser();
    // Get the encapsulated SAX XMLReader
    xmlReader = saxParser.getXMLReader();
    } catch (Exception ex) {
    System.err.println(ex);
    System.exit(1);
    // Set the ContentHandler of the XMLReader
    xmlReader.setContentHandler(new MyXMLHandler());
    // Set an ErrorHandler before parsing
    xmlReader.setErrorHandler(new MyErrorHandler(System.err));
    try {
    * Tell the XMLReader to parse the XML document
    xmlReader.parse(new InputSource(br_car));
    } catch (SAXException se) {
    System.err.println(se.getMessage());
    System.exit(1);
    } catch (IOException ioe) {
    System.err.println(ioe);
    System.exit(1);
    * Clearance of i/o functions after parsing.
    try {
    br_socket.close();
    } catch (IOException e) {
    System.out.println("Exception: " + e.getMessage());
    try {
    socket.close();
    } catch (IOException e) {
    System.out.println("Exception: " + e.getMessage());
    try {
    br_car.close();
    } catch (IOException e) {
    System.out.println("Exception: " + e.getMessage());
    * The XML handler used by this program
    class MyXMLHandler extends DefaultHandler {
    // A Hashtable with tag names as keys and Integers as values
    private Hashtable tags;
    // Parser calls this once at the beginning of a document
    public void startDocument() throws SAXException {
    System.out.println("startDocument()");
    tags = new Hashtable();
    // Parser calls this for each element in a document
    public void startElement(String namespaceURI, String localName,
    String rawName, Attributes atts)
    throws SAXException
    String key = localName;
    Object value = tags.get(key);
    System.out.println("startElement()");
    System.out.println("namespaceURI: " + namespaceURI);
    System.out.println("localName: " + localName);
    System.out.println("rawName: " + rawName);
    if (value == null) {
    // Add a new entry
    tags.put(key, new Integer(1));
    } else {
    // Get the current count and increment it
    int count = ((Integer)value).intValue();
    count++;
    tags.put(key, new Integer(count));
    // Parser calls this once after parsing a document
    public void endDocument() throws SAXException {
    Enumeration e = tags.keys();
    System.out.println("endDocument()");
    while (e.hasMoreElements()) {
    String tag = (String)e.nextElement();
    int count = ((Integer)tags.get(tag)).intValue();
    System.out.println("Tag <" + tag + "> occurs " + count
    + " times");
    * Error handler of XML parser to report errors and warnings
    * This is standard handling.
    class MyErrorHandler implements ErrorHandler {
    /** Error handler output goes here */
    private PrintStream out;
    MyErrorHandler(PrintStream out) {
    this.out = out;
    * Returns a string describing parse exception details
    private String getParseExceptionInfo(SAXParseException spe) {
    String systemId = spe.getSystemId();
    if (systemId == null) {
    systemId = "null";
    String info = "URI=" + systemId +
    " Line=" + spe.getLineNumber() +
    ": " + spe.getMessage();
    return info;
    * The following methods are standard SAX ErrorHandler methods.
    * See SAX documentation for more info.
    public void warning(SAXParseException spe) throws SAXException {
    out.println("Warning: " + getParseExceptionInfo(spe));
    public void error(SAXParseException spe) throws SAXException {
    String message = "Error: " + getParseExceptionInfo(spe);
    throw new SAXException(message);
    public void fatalError(SAXParseException spe) throws SAXException {
    String message = "Fatal Error: " + getParseExceptionInfo(spe);
    throw new SAXException(message);

  • XML-32009: (Fatal Error) Failed to parse the input schema.

    I am attempting to generate the Java classes for the attached XLM schema (JMdict_e.xsd) using the following command:
    oracle.xml.jaxb.orajaxb -schema JMdict_e.xsd -targetPkg generated
    which results in the error "XML-32009: (Fatal Error) Failed to parse the input schema."
    I created the schema from a DTD file (http://www.csse.monash.edu.au/~jwb/jmdict_dtd_h.html) following the instructions in the example http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28394/adx_j_sproc.htm#CIHICCJB
    I am using version xdk_nt_10_1_0_2_0_production.
    Can anyone help me with this please? Thanks.
    JMdict_e.xsd
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="dial" type="xs:string"/>
    <xs:element name="example" type="xs:string"/>
    <xs:element name="upd_date" type="xs:string"/>
    <xs:element name="ke_pri" type="xs:string"/>
    <xs:element name="re_nokanji" type="xs:string"/>
    <xs:element name="xref" type="xs:string"/>
    <xs:element name="etym" type="xs:string"/>
    <xs:element name="re_inf" type="xs:string"/>
    <xs:element name="k_ele">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="keb"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="ke_inf"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="ke_pri"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="links">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="link_tag"/>
    <xs:element ref="link_desc"/>
    <xs:element ref="link_uri"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="lsource">
    <xs:complexType>
    <xs:simpleContent>
    <xs:extension base="xs:string">
    <xs:attribute name="lang" fixed="eng"/>
    <xs:attribute name="ls_type" use="optional" type="xs:string"/>
    <xs:attribute name="ls_wasei" use="optional" type="xs:string"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>
    </xs:element>
    <xs:element name="ent_seq" type="xs:string"/>
    <xs:element name="info">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="links"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="bibl"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="etym"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="audit"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="s_inf" type="xs:string"/>
    <xs:element name="link_uri" type="xs:string"/>
    <xs:element name="bib_txt" type="xs:string"/>
    <xs:element name="link_tag" type="xs:string"/>
    <xs:element name="bibl">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" ref="bib_tag"/>
    <xs:element minOccurs="0" ref="bib_txt"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="upd_detl" type="xs:string"/>
    <xs:element name="ant" type="xs:string"/>
    <xs:element name="ke_inf" type="xs:string"/>
    <xs:element name="audit">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="upd_date"/>
    <xs:element ref="upd_detl"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="pos" type="xs:string"/>
    <xs:element name="pri" type="xs:string"/>
    <xs:element name="r_ele">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="reb"/>
    <xs:element minOccurs="0" ref="re_nokanji"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="re_restr"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="re_inf"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="re_pri"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="bib_tag" type="xs:string"/>
    <xs:element name="re_restr" type="xs:string"/>
    <xs:element name="stagk" type="xs:string"/>
    <xs:element name="sense">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="stagk"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="stagr"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="pos"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="xref"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="ant"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="misc"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="s_inf"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="lsource"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="dial"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="gloss"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="example"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="keb" type="xs:string"/>
    <xs:element name="field" type="xs:string"/>
    <xs:element name="link_desc" type="xs:string"/>
    <xs:element name="reb" type="xs:string"/>
    <xs:element name="entry">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="ent_seq"/>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="k_ele"/>
    <xs:element maxOccurs="unbounded" ref="r_ele"/>
    <xs:element minOccurs="0" ref="info"/>
    <xs:element maxOccurs="unbounded" ref="sense"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="stagr" type="xs:string"/>
    <xs:element name="re_pri" type="xs:string"/>
    <xs:element name="gloss">
    <xs:complexType mixed="true">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:element ref="pri"/>
    </xs:choice>
    <xs:attribute name="lang" fixed="eng"/>
    <xs:attribute name="g_gend" use="optional" type="xs:string"/>
    </xs:complexType>
    </xs:element>
    <xs:element name="misc" type="xs:string"/>
    <xs:element name="JMdict">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="entry"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>

    @Bhaskar (and @user11922800): You have to update the db10g/xdk to a version at least of 10.1.0.4. There were major bug fixes including XML-32009 error (bug number 3375952).
    http://www.eygle.com/case/bug10104.htm
    I've even tried the op's listing with my more to-date xdk without encountering any problem and it is compiled just fine.
    ps: I am sure that was the hasty typo in dvohra16 post. The namespace in the op (/2001/) is correct. Encoding is still capable of resulting in some problems (I've had encounted if I recall), but that is not the problem for the issue raised in this thread.

  • Error parsing XML: {err}FORG0005: expected exactly one item, got 0 items

    Hi ,
    Good Morning to all
    in osb replace action am using xquery transformation resource.
    source code of xquery is :
    ====================================================================================
    (:: pragma bea:global-element-parameter parameter="$addition1" element="ns0:Addition" location="../wsdl/NewWSDLFile.wsdl" ::)
    (:: pragma bea:global-element-return element="ns1:process" location="../bpelprocess1_client_ep.wsdl" ::)
    declare namespace ns1 = "http://xmlns.oracle.com/POProcessing/AdditionOSB/BPELProcess1";
    declare namespace ns0 = "http://www.example.org/NewWSDLFile/";
    declare namespace xf = "http://tempuri.org/ServiceCallout/trans/route/";
    declare function xf:route($addition1 as element(ns0:Addition))
    as element(ns1:process) {
    <ns1:process>
    <ns1:value1>{ data($addition1/value1) }</ns1:value1>
    <ns1:value2>{ data($addition1/value2) }</ns1:value2>
    </ns1:process>
    declare variable $addition1 as element(ns0:Addition) external;
    xf:route($addition1)
    =====================================================
    at the time of running "error is Error parsing XML: {err}FORG0005: expected exactly one item, got 0 items " in replace action.
    how to resolve this problem...
    Thanks & Regards
    venky

    The reason for the error is the xquery is not able to find the values in the input... Check the input and namespaces...
    Try...
    <ns1:value1>{ data($addition1/ns0:value1) }</ns1:value1>
    <ns1:value2>{ data($addition1/ns0:value2) }</ns1:value2>Cheers,
    Vlad

  • SaxParser error  parsing xml encoded string

    I'm trying to parse an XML string with Java's SaxParser. The program
    fails at the end of an element or at the beginning of a new element.
    Is my XML string okay?
    <?xml version="1.0" encoding="utf-8"
    ?><DTYPE>OVL</DTYPE><DTYPE>IMG</DTYPE>. . .
    If fails after </DTYPE> and before the next <DTYPE>
    The Sax Parser works fine on files.
    Here is the code I use to send the string to the parser :
    // Parse the input
    SAXParser saxParser = factory.newSAXParser();
    InputStream is = new ByteArrayInputStream(stringToParse.getBytes());
    saxParser.parse( is, handler );
    Here is the error message I get :
    org.xml.sax.SAXParseException: Inadmissible sign at the document end<
    at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3376)
    at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3370)
    at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:673)
    at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
    at
    org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:143)
    at EchoSaxParser.parse(EchoSaxParser.java:51)
    at StringParser.parse(StringParser.java:23)
    at Servant.stringparse(Servant.java:30)
    at TEST._TestImplBase._invoke(_TestImplBase.java:43)
    at
    com.sun.corba.se.internal.corba.ServerDelegate.dispatch(ServerDelegate.java�:353)
    at com.sun.corba.se.internal.iiop.ORB.process(ORB.java:280)
    at
    com.sun.corba.se.internal.iiop.RequestProcessor.process(RequestProcessor.ja�va:81)
    at
    com.sun.corba.se.internal.orbutil.ThreadPool$PooledThread.run(ThreadPool.ja�va:106)
    Any help would be greatly appreciated!
    Thank you!

    <?xml version="1.0" encoding="utf-8" ?><DTYPE>IMG</DTYPE><DTYPE>REF</DTYPE>Above is a short XML string that causes the problem.
    It's all one line.
    I also tried adding System.getProperty("line.separator") add the
    end of each tag so I get :
    <?xml version="1.0" encoding="utf-8" ?>
    <DTYPE>IMG</DTYPE>
    <DTYPE>REF</DTYPE>But same error. It still crashes after the first <DTYPE></DTYPE> tag.
    Any help greatly appreciated!

  • Problem in sending XML input as String in BPEL

    Hi,
    We have a BPEL flow (assign, invoke, assign) which takes an XML input as String.
    <RegisterCustomerOnVAS><CustomerID>100</CustomerID><MSISDN>9999999</MSISDN><CustomerName>sanjeev</CustomerName><customerInfo>new user</customerInfo></RegisterCustomerOnVAS>
    Assignment is doing fine, but when Invoke calls partner link, the input is getting parsed and only the first text value (eg 100) is getting passed to the partner webservice instead of the entire XML as string.
    Can any one please help us in fixing in this problem.
    Thanks

    Hi,
    You should watch your assign activity (maybe a bad assigment level in copy rule). I think the probem is there.
    Cyryl

  • Problem parsing xml in J2ME (using kxml2)

    Hello.
    May someone who knows how to use kxml help me please?
    I'll try to be straight forward. (Please excuse my imperfect English)
    My xml file look something like this:
    <?xml version="1.0" encoding="utf-8"?>
    <sample_tag1 xmlns:mysample="http://www.sample001.com/sample01schema">
    <feature name=”tag1_feature”>
         <test name=”xxxxx” id=”200” message=”Hello.”></test>
    </feature>
    <catalog name="shelf">
         <booklist name="book1" label="b1"></booklist>
         <booklist name="book2" label="b2"></booklist>
         <booklist name="book3" label="b3"></booklist>
    </catalog>
    </sample_tag1>
    And here's my code
              //http request
                   try{
                   //I can guarantee that the URL is valid
    httpConnection = (HttpConnection) Connector.open(URL);
    }catch(IOException ioe){
    ioe.printStackTrace();
                   //Create the parser
    KXmlParser parser = new KXmlParser();
    try{
                        //I use this code section to test if the xml file is properly placed in the inputStream.
    char[] tempChar = new char[500];
    isr = new InputStreamReader(httpConnection.openInputStream());
    isr.read(tempChar);
    for(int i=0; i<tempChar.length;i++){
    System.out.print(tempChar);
    //set the xml input
    parser.setInput(isr);
    //skip the "<?xml version="1.0" encoding="utf-8"?>" tag
    parser.nextTag();
    parser.require(XmlPullParser.START_TAG, null, "sample_tag1");
                        System.out.println("name : " + parser.getName());
    System.out.println("namespace : " + parser.getNamespace());
    parser.nextTag(); // ***1
    I compiled the app and run, here's the result:
    name : sample_tag1
    namespace :
    org.xmlpull.v1.XmlPullParserException: attr value delimiter missing! (position:START_TAG <feature name='http://www.sample001.com/sample01schema'>@3:15 in java.io.InputStreamReader@e938beb1)
    at org.kxml2.io.KXmlParser.exception(+47)
    at org.kxml2.io.KXmlParser.error(+45)
    at org.kxml2.io.KXmlParser.parseStartTag(+285)
    at org.kxml2.io.KXmlParser.nextImpl(+314)
    at org.kxml2.io.KXmlParser.next(+23)
    at org.kxml2.io.KXmlParser.nextTag(+24)
    at MyMidlet$ReadXML.run(MyMidlet.java:235)
    But when I comment the last line (parser.nextTag(); // ***1), here's the result:
    name : sample_tag1
    namespace :
    My code is the clone of the one in this tutorial:
    http://www.developer.com/ws/article.php/3759471
    where he get the weather forecast from Yahoo Weather RSS
    What did I do wrong? I tried looking up google for "attr value delimiter missing!" but found no useful information.
    Thank you in advance. =)

    Please read this topic. I posted an answer about parsing xml using kxml2
    http://forums.sun.com/thread.jspa?threadID=5291592&start=0&tstart=0
    Regards,
    David

  • How to parse XML to Java object... please help really stuck

    Thank you for reading this email...
    If I have a **DTD** like:
    <!ELEMENT person (name, age)>
    <!ATTLIST person
         id ID #REQUIRED
    >
    <!ELEMENT name ((family, given) | (given, family))>
    <!ELEMENT age (#PCDATA)>
    <!ELEMENT family (#PCDATA)>
    <!ELEMENT given (#PCDATA)>
    the **XML** like:
    <person id="a1">
    <name>
         <family> Yoshi </family>
         <given> Samurai </given>
    </name>
    <age> 21 </age>
    </person>
    **** Could you help me to write a simple parser to parse my DTD and XML to Java object, and how can I use those objects... sorry if the problem is too basic, I am a beginner and very stuck... I am very confuse with SAXParserFactory, SAXParser, ParserAdapter and DOM has its own Factory and Parser, so confuse...
    Thank you for your help, Yo

    Hi, Yo,
    Thank you very much for your help. And I Wish you are there...I'm. And I plan to stay - It's sunny and warm here in Honolulu and the waves are up :)
    A bit more question for dear people:
    In the notes, it's mainly focus on JAXB,
    1. Is that mean JAXB is most popular parser for
    parsing XML into Java object? With me, definitely. There are essentially 3 technologies that allow you to parse XML documents:
    1) "Callbacks" (e.g. SAX in JAXP): You write a class that overrides 3 methods that will be called i) whenever the parser encounters a start tag, ii) an end tag, or iii) PCDATA. Drawback: You have to figure out where the heck in the document hierarchy you are when such a callback happens, because the same method is called on EACH start tag and similarly for the end tag and the PCDATA. You have to create the objects and put them into your own data structure - it's very tedious, but you have complete control. (Well, more or less.)
    2) "Tree" (e.g. DOM in JAXP, or it's better cousin JDOM): You call a parser that in one swoop creates an entire hierarchy that corresponds to the XML document. You don't get called on each tag as with SAX, you just get the root of the resulting tree. Drawback: All the nodes in the tree have the same type! You probably want to know which tags are in the document, don't you? Well, you'll have to traverse the tree and ask each node: What tag do you represent? And what are your attributes? (You get only strings in response even though your attributes often represent numbers.) Unless you want to display the tree - that's a nice application, you can do it as a tree model for JTree -, or otherwise don't care about the individual tags, DOM is not of much help, because you have to keep track where in the tree you are while you traverse it.
    3) Enter JAXB (or Castor, or ...): You give it a grammar of the XML documents you want to parse, or "unmarshall" as the fashion dictates to call it. (Actually the name isn't that bad, because "parsing" focuses on the input text while "unmarshalling" focuses on the objects you get, even though I'd reason that it should be marshalling that converts into objects and unmarshalling that converts objects to something else, and not vice versa but that's just my opinion.) The JAXB compiler creates a bunch of source files each with one (or now more) class(es) (and now interfaces) that correspond to the elements/tags of your grammar. (Now "compiler" is a true jevel of a misnomer, try to explain to students that after they run the "compiler", they still need to compile the sources the "compiler" generated with the real Java compiler!). Ok, you've got these sources compiled. Now you call one single method, unmarshall() and as a result you get the root node of the hierarchy that corresponds to the XML document. Sounds like DOM, but it's much better - the objects in the resulting tree don't have all the same type, but their type depends on the tag they represent. E.g if there is the tag <ball-game> then there will be an object of type myPackage.BallGame in your data structure. It gets better, if there is <score> inside <ball-game> and you have an object ballGame (of type BallGame) that you can simply call ballGame.getScore() and you get an object of type myPackage.Score. In other words, the child tags become properties of the parent object. Even better, the attributes become properties, too, so as far as your program is concerned there is no difference whether the property value was originally a tag or an attribute. On top of that, you can tell in your schema that the property has an int value - or another primitive type (that's like that in 1.0, in the early release you'll have to do it in the additional xjs file). So this is a very natural way to explore the data structure of the XML document. Of course there are drawbacks, but they are minor: daunting complexity and, as a consequence, very steep learning curve, documentation that leaves much to reader's phantasy - read trial and error - (the user's guide is too simplicistic and the examples too primitive, e.g. they don't even tell you how to make a schema where a tag has only attributes) and reference manual that has ~200 pages full of technicalities and you have to look with magnifying glas for the really usefull stuff, huge number of generated classes, some of which you may not need at all (and in 1.0 the number has doubled because each class has an accompanying interface), etc., etc. But overall, all that pales compared to the drastically improved efficiency of the programmer's efforts, i.e. your time. The time you'll spend learning the intricacies is well spent, you'll learn it once and then it will shorten your programming time all the time you use it. It's like C and Java, Java is order of magnitude more complex, but you'd probably never be sorry you gave up C.
    Of course the above essay leaves out lots and lots of detail, but I think that it touches the most important points.
    A word about JAXB 1.0 vs. Early Release (EA) version. If you have time, definitively learn 1.0, they are quite different and the main advantage is that the schema combines all the info that you had to formulate in the DTD and in the xjs file when using the EA version. I suggested EA was because you had a DTD already, but in retrospect, you better start from scratch with 1.0. The concepts in 1.0 are here to stay and once your surmounted the learning curve, you'll be glad that you don't have to switch concepts.
    When parser job is done,
    what kind of Java Object we will get? (String,
    InputStream or ...)See above, typically it's an object whose type is defined as a class (and interface in 1.0) within the sources that JABX generates. Or it can be a String or one of the primitive types - you tell the "compiler" in the schema (xjs file in EA) what you want!
    2. If we want to use JAXB, we have to contain a
    XJS-file? Something like:In EA, yes. In 1.0 no - it's all in the schema.
    I am very new to XML, is there any simpler way to get
    around them? It has already take me 4 days to find a
    simple parser which give it XML and DTD, then return
    to me Java objects ... I mean if that kind of parser
    exists....It'll take you probably magnitude longer that that to get really familiar with JAXB, but believe me it's worth it. You'll save countless days if not weeks once you'll start developing serious software with it. How long did it take you to learn Java and it's main APIs? You'll either invest the time learning how to use the software others have written, or you invest it writing it yourself. I'll take the former any time. But it's only my opinion...
    Jan

  • How to parse XML against XSD,DTD, etc.. locally (no internet connection) ?

    i've searched on how to parse xml against xsd,dtd,etc.. without the needs of internet connection..
    but unfortunately, only the xsd file can be set locally and still there needs the internet connection for the other features, properties.
    XML: GML file input from gui
    XSD: input from gui
    javax.xml
    package demo;
    import java.io.File;
    import java.io.IOException;
    import java.net.MalformedURLException;
    import java.net.URL;
    import javax.xml.XMLConstants;
    import javax.xml.transform.Source;
    import javax.xml.transform.stream.StreamSource;
    import javax.xml.validation.Schema;
    import javax.xml.validation.SchemaFactory;
    import javax.xml.validation.Validator;
    import org.xml.sax.SAXException;
    public class Sample1WithJavaxXML {
         public static void main(String[] args) {
              URL schemaFile = null;
              try {
                   //schemaFile = new URL("http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd");
                   File file0 = new File("AppSchema-C01-v1_0.xsd");
                   schemaFile = new URL(file0.toURI().toString());
              } catch (MalformedURLException e1) {
                   // TODO Auto-generated catch block
                   e1.printStackTrace();
              //Source xmlFile = new StreamSource(new File("web.xml"));
              Source xmlFile = new StreamSource(new File("C01.xml"));
              SchemaFactory schemaFactory = SchemaFactory
                  .newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
              //File file1 = new File("XMLSchema.dtd");
              //SchemaFactory schemaFactory = SchemaFactory
                   //.newInstance("javax.xml.validation.SchemaFactory:XMLSchema.dtd");
              Schema schema = null;
              try {
                   schema = schemaFactory.newSchema(schemaFile);
              } catch (SAXException e1) {
                   // TODO Auto-generated catch block
                   e1.printStackTrace();
              Validator validator = schema.newValidator();
              try {
                validator.validate(xmlFile);
                System.out.println(xmlFile.getSystemId() + " is valid");
              } catch (SAXException e) {
                System.out.println(xmlFile.getSystemId() + " is NOT valid");
                System.out.println("Reason: " + e.getLocalizedMessage());
              } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
    }Xerces
    package demo;
    import java.io.File;
    import java.util.Date;
    import org.apache.xerces.parsers.DOMParser;
    public class SchemaTest {
         private String xmlFile = "";
         private String xsdFile = "";
         public SchemaTest(String xmlFile, String xsdFile) {
              this.xmlFile = xmlFile;
              this.xsdFile = xsdFile;
         public static void main (String args[]) {
              File file0 = new File("AppSchema-C01-v1_0.xsd");
              String xsd = file0.toURI().toString();
              SchemaTest testXml = new SchemaTest("C01.xml",xsd);
              testXml.process();
         public void process() {
              File docFile = new File(xmlFile);
              DOMParser parser = new DOMParser();
              try {
                   parser.setFeature("http://xml.org/sax/features/validation", true);
                   parser.setFeature("http://apache.org/xml/features/validation/schema", true);
                   parser.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation",
                             xsdFile);
                   ErrorChecker errors = new ErrorChecker();
                   parser.setErrorHandler(errors);
                   System.out.println(new Date().toString() + " START");
                   parser.parse(docFile.toString());
              } catch (Exception e) {
                   System.out.print("Problem parsing the file.");
                   System.out.println("Error: " + e);
                   System.out.println(new Date().toString() + " ERROR");
                   return;
              System.out.println(new Date().toString() + " END");
    }

    Thanks a lot Sir DrClap..
    I tried to use and implement the org.w3c.dom.ls.LSResourceResolver Interface which is based on the SAX2 EntityResolver.
    please give comments the way I implement it. Here's the code:
    LSResourceResolver Implementation
    import org.w3c.dom.ls.LSInput;
    import org.w3c.dom.ls.LSResourceResolver;
    import abc.xml.XsdConstant.Path.DTD;
    import abc.xml.XsdConstant.Path.XSD;
    public class LSResourceResolverImpl implements LSResourceResolver {
         public LSResourceResolverImpl() {
          * {@inheritDoc}
         @Override
         public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) {
              ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
              LSInput input = new LSInputImpl(publicId, systemId, baseURI);
              if ("http://www.w3.org/2001/xml.xsd".equals(systemId)) {
                   input.setByteStream(classLoader.getResourceAsStream(XSD.XML));
              } else if (XsdConstant.PUBLIC_ID_XMLSCHEMA.equals(publicId)) {
                   input.setByteStream(classLoader.getResourceAsStream(DTD.XML_SCHEMA));
              } else if (XsdConstant.PUBLIC_ID_DATATYPES.equals(publicId)) {
                   input.setByteStream(classLoader.getResourceAsStream(DTD.DATATYPES));
              return input;
    }I also implement org.w3c.dom.ls.LSInput
    import java.io.InputStream;
    import java.io.Reader;
    import org.w3c.dom.ls.LSInput;
    public class LSInputImpl implements LSInput {
         private String publicId;
         private String systemId;
         private String baseURI;
         private InputStream byteStream;
         private String stringData;
         public LSInputImpl(String publicId, String systemId, String baseURI) {
              super();
              this.publicId = publicId;
              this.systemId = systemId;
              this.baseURI = baseURI;
         //getters & setters
    }Then, here's the usage/application:
    I create XMLChecker class (SchemaFactory implementation is Xerces)
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    import javax.xml.XMLConstants;
    import javax.xml.stream.FactoryConfigurationError;
    import javax.xml.transform.Source;
    import javax.xml.transform.stream.StreamSource;
    import javax.xml.validation.Schema;
    import javax.xml.validation.SchemaFactory;
    import javax.xml.validation.Validator;
    import org.xml.sax.ErrorHandler;
    import org.xml.sax.SAXException;
    import org.xml.sax.SAXParseException;
    import abc.xml.XsdConstant.Path.XSD;
    public class XMLChecker {
         private ErrorMessage errorMessage = new ErrorMessage();
         public boolean validate(String filePath){
              final ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
              List<Source> schemas = new ArrayList<Source>();
              schemas.add(new StreamSource(classLoader.getResourceAsStream(XSD.XML_SCHEMA)));
              schemas.add(new StreamSource(classLoader.getResourceAsStream(XSD.XLINKS)));
              schemas.add(new StreamSource(classLoader.getResourceAsStream("abc/xml/AppSchema.xsd")));
              SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
              schemaFactory.setResourceResolver(new LSResourceResolverImpl());
              try {
                   Schema schema = schemaFactory.newSchema(schemas.toArray(new Source[schemas.size()]));
                   Validator validator = schema.newValidator();
                   validator.setErrorHandler(new ErrorHandler() {
                        @Override
                        public void error(SAXParseException e) throws SAXException {
                             errorMessage.setErrorMessage(e.getMessage());
                             errorMessage.setLineNumber(e.getLineNumber());
                             errorMessage.setColumnNumber(e.getLineNumber());
                             throw e;
                        @Override
                        public void fatalError(SAXParseException e) throws SAXException {
                             errorMessage.setErrorMessage(e.getMessage());
                             errorMessage.setLineNumber(e.getLineNumber());
                             errorMessage.setColumnNumber(e.getLineNumber());
                             throw e;
                        @Override
                        public void warning(SAXParseException e) throws SAXException {
                             errorMessage.setErrorMessage(e.getMessage());
                             errorMessage.setLineNumber(e.getLineNumber());
                             errorMessage.setColumnNumber(e.getLineNumber());
                             throw e;
                   StreamSource source = new StreamSource(new File(filePath));
                   validator.validate(source);
              } catch (SAXParseException e) {
                   return false;
              } catch (SAXException e) {
                   errorMessage.setErrorMessage(e.getMessage());
                   return false;
              } catch (FactoryConfigurationError e) {
                   errorMessage.setErrorMessage(e.getMessage());
                   return false;
              } catch (IOException e) {
                   errorMessage.setErrorMessage(e.getMessage());
                   return false;
              return true;
         public ErrorMessage getErrorMessage() {
              return errorMessage;
    }Edited by: erossy on Aug 31, 2010 1:56 AM

  • How to Parse XML into String in BPEL?

    Hi,
    Can anyone tell me, how can I parse XML into String?
    I am taking input from File Adapter, File adapter is reading that XML.
    Then in assign activity i am using XPath expression(built functions) using XMLParser(),doTranslateToNative() etc.. many functions I have tried but XML is not getting parsed into String Variable.
    Please help me asap.
    Thanks
    Shikha

    Thanks a lot Eric.
    I am trying this, oraext:get-content-as-string('receiveInput_Read_InputVariable','body','/ns3:orders')
    but getting this error
    <bpelFault><faultType>0</faultType><subLanguageExecutionFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>XPath expression failed to execute. An error occurs while processing the XPath expression; the expression is oraext:get-content-as-string('receiveInput_Read_InputVariable','body','/ns3:orders'). The XPath expression failed to execute; the reason was: internal xpath error. Check the detailed root cause described in the exception message text and verify that the XPath query is correct. </summary></part><part name="code"><code>XPathExecutionError</code></part></subLanguageExecutionFault></bpelFault>

  • How to parse xml string

    Hi! I'm having problems parsing an xml string. I've done DOM and SAX parsing before. But both of them either parse a file or data from an input source. I don't think they handle strings. I also don't want to write the string into a file just so I can use DOM or SAX.
    I'm looking for something where I could simply do:
    Document doc = documentBuilder.parse( myXMLString );
    So the heirarchy is automatically established for me. Then I could just do
    Element elem = doc.getElement();
    String name = elem.getTagName();
    These aren't the only methods I would want to use. Again, my main problem is how to parse xml if it is stored in a string, not a file, nor comming from a stream.
    thanks!

    But both of them either parse a file or data from an input source. I don't think they handle strings.An InputSource can be constructed with a Reader as input. One useful subclass of Reader is StringReader, so you'd use something likeDocument doc = documentBuilder.parse(new InputSource(new StringReader(myXMLString)));

  • The XML page cannot be displayed Cannot view XML input using XSL stylesheet

    Hi Oracle Gurus,
    I got this error ...once i have submitted request it shows warning ..I opened output it shows the below error...i cant understand how to resolve this error...Please help me...It is PL/SQ L STORED PROCEDURE CODE...
    The XML page cannot be displayed
    Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
    A semi colon character was expected. Error processing resource 'http://orappsus64.tsindia.in:8009/OA_CGI/FNDWRR.exe?temp_id...
    <CP_PROJECT>IT/Quintiles/J&J COGNOS</CP_PROJECT>
    ----------------------------^
    n-left:1em;text-indent:-2em"> <GL_MAIN_PERIOD>Jun-12</GL_MAIN_PERIOD>
    <TOTAL_REVENUE>4026.14</TOTAL_REVENUE>
    <GL_PERIOD>Jun-12</GL_PERIOD>
    </G_TOTAL_REVENUE_CAT>
    THIS IS MY LOG FILE
    [10/1/12 10:44:26 AM] [main] Starting GSF service with concurrent process id = 157635.
    [10/1/12 10:44:26 AM] [main] Initialization Parameters: oracle.apps.fnd.cp.opp.OPPServiceThread:2:0:max_threads=5
    [10/1/12 10:44:26 AM] [Thread-22] Service thread starting up.
    [10/1/12 10:44:26 AM] [Thread-23] Service thread starting up.
    [10/1/12 10:52:33 AM] [OPPServiceThread1] Post-processing request 1296337.
    [10/1/12 10:52:33 AM] [157635:RT1296337] Executing post-processing actions for request 1296337.
    [10/1/12 10:52:34 AM] [157635:RT1296337] Starting XML Publisher post-processing action.
    [10/1/12 10:52:34 AM] [157635:RT1296337]
    Template code: XXTGSCPR004
    Template app: PA
    Language: en
    Territory: US
    Output type: EXCEL
    [100112_105234216][][EXCEPTION] [DEBUG] ------- Preferences defined PreferenceStore -------
    [100112_105234216][][EXCEPTION] [DEBUG] ------- Environment variables stored in EnvironmentStore -------
    [100112_105234216][][EXCEPTION] [DEBUG] [FND_JDBC_IDLE_THRESHOLD.LOW]:[-1]
    [100112_105234216][][EXCEPTION] [DEBUG] [SECURITY_GROUP_ID]:[0]
    [100112_105234216][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_DECAY_INTERVAL]:[300]
    [100112_105234217][][EXCEPTION] [DEBUG] [NLS_CHARACTERSET]:[US7ASCII]
    [100112_105234217][][EXCEPTION] [DEBUG] [RESP_APPL_ID]:[-1]
    [100112_105234217][][EXCEPTION] [DEBUG] [NLS_LANGUAGE]:[AMERICAN]
    [100112_105234217][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MIN]:[1]
    [100112_105234217][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MAX]:[2]
    [100112_105234217][][EXCEPTION] [DEBUG] [NLS_NUMERIC_CHARACTERS]:[.,]
    [100112_105234217][][EXCEPTION] [DEBUG] [APPS_JDBC_URL]:[jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS=(PROTOCOL=tcp)(HOST=orappsus64.tsindia.in)(PORT=1530)))(CONNECT_DATA=(SID=clone)))]
    [100112_105234217][][EXCEPTION] [DEBUG] [RESP_ID]:[-1]
    [100112_105234217][][EXCEPTION] [DEBUG] [FND_MAX_JDBC_CONNECTIONS]:[500]
    [100112_105234217][][EXCEPTION] [DEBUG] [FND_JDBC_USABLE_CHECK]:[false]
    [100112_105234218][][EXCEPTION] [DEBUG] [USER_ID]:[-1]
    [100112_105234218][][EXCEPTION] [DEBUG] [NLS_TERRITORY]:[AMERICA]
    [100112_105234218][][EXCEPTION] [DEBUG] [FND_JDBC_PLSQL_RESET]:[false]
    [100112_105234218][][EXCEPTION] [DEBUG] [FND_JDBC_CONTEXT_CHECK]:[true]
    [100112_105234218][][EXCEPTION] [DEBUG] [NLS_DATE_FORMAT]:[DD-MON-RR]
    [100112_105234218][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_DECAY_SIZE]:[5]
    [100112_105234218][][EXCEPTION] [DEBUG] [FND_JDBC_IDLE_THRESHOLD.HIGH]:[-1]
    [100112_105234218][][EXCEPTION] [DEBUG] [NLS_SORT]:[BINARY]
    [100112_105234218][][EXCEPTION] [DEBUG] [NLS_DATE_LANGUAGE]:[AMERICAN]
    [100112_105234218][][EXCEPTION] [DEBUG] [LOGIN_ID]:[-1]
    [100112_105234218][][EXCEPTION] [DEBUG] ------- Properties stored in Java System Properties -------
    [100112_105234219][][EXCEPTION] [DEBUG] [APPLTMP]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/appltmp]
    [100112_105234219][][EXCEPTION] [DEBUG] [java.runtime.name]:[Java(TM) SE Runtime Environment]
    [100112_105234219][][EXCEPTION] [DEBUG] [sun.boot.library.path]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/i386]
    [100112_105234219][][EXCEPTION] [DEBUG] [java.vm.version]:[11.0-b15]
    [100112_105234219][][EXCEPTION] [DEBUG] [OVERRIDE_DBC]:[true]
    [100112_105234219][][EXCEPTION] [DEBUG] [dbcfile]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/appl/fnd/12.0.0/secure/clone.dbc]
    [100112_105234219][][EXCEPTION] [DEBUG] [java.vm.vendor]:[Sun Microsystems Inc.]
    [100112_105234219][][EXCEPTION] [DEBUG] [java.vendor.url]:[http://java.sun.com/]
    [100112_105234219][][EXCEPTION] [DEBUG] [path.separator]:[:]
    [100112_105234219][][EXCEPTION] [DEBUG] [APPLCSF]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/logs/appl/conc]
    [100112_105234220][][EXCEPTION] [DEBUG] [java.vm.name]:[Java HotSpot(TM) Server VM]
    [100112_105234220][][EXCEPTION] [DEBUG] [file.encoding.pkg]:[sun.io]
    [100112_105234220][][EXCEPTION] [DEBUG] [sun.java.launcher]:[SUN_STANDARD]
    [100112_105234220][][EXCEPTION] [DEBUG] [user.country]:[US]
    [100112_105234220][][EXCEPTION] [DEBUG] [sun.os.patch.level]:[unknown]
    [100112_105234220][][EXCEPTION] [DEBUG] [java.vm.specification.name]:[Java Virtual Machine Specification]
    [100112_105234220][][EXCEPTION] [DEBUG] [user.dir]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/logs/appl/conc/log]
    [100112_105234220][][EXCEPTION] [DEBUG] [java.runtime.version]:[1.6.0_10-b33]
    [100112_105234220][][EXCEPTION] [DEBUG] [CLIENT_PROCESSID]:[25943]
    [100112_105234220][][EXCEPTION] [DEBUG] [java.awt.graphicsenv]:[sun.awt.X11GraphicsEnvironment]
    [100112_105234220][][EXCEPTION] [DEBUG] [java.endorsed.dirs]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/endorsed]
    [100112_105234221][][EXCEPTION] [DEBUG] [os.arch]:[i386]
    [100112_105234221][][EXCEPTION] [DEBUG] [JTFDBCFILE]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/appl/fnd/12.0.0/secure/clone.dbc]
    [100112_105234221][][EXCEPTION] [DEBUG] [java.io.tmpdir]:[tmp]
    [100112_105234221][][EXCEPTION] [DEBUG] [line.separator]:[
    [100112_105234221][][EXCEPTION] [DEBUG] [java.vm.specification.vendor]:[Sun Microsystems Inc.]
    [100112_105234221][][EXCEPTION] [DEBUG] [os.name]:[Linux]
    [100112_105234221][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MIN]:[1]
    [100112_105234221][][EXCEPTION] [DEBUG] [cpid]:[157635]
    [100112_105234221][][EXCEPTION] [DEBUG] [sun.jnu.encoding]:[UTF-8]
    [100112_105234221][][EXCEPTION] [DEBUG] [oracle.apps.fnd.common.Pool.leak.mode]:[stderr:off]
    [100112_105234221][][EXCEPTION] [DEBUG] [java.library.path]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/i386/server:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/i386:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/../lib/i386:/AP1/oracle/PROD01/apps/tech_st/10.1.3/lib32:/AP1/oracle/PROD01/apps/tech_st/10.1.3/lib:/AP1/oracle/PROD01/apps/apps_st/appl/cz/12.0.0/bin:/AP1/oracle/PROD01/apps/apps_st/appl/iby/12.0.0/bin:/AP1/oracle/PROD01/apps/apps_st/appl/pon/12.0.0/bin:/AP1/oracle/PROD01/apps/apps_st/appl/sht/12.0.0/lib:/usr/java/packages/lib/i386:/lib:/usr/lib]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.specification.name]:[Java Platform API Specification]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.class.version]:[50.0]
    [100112_105234222][][EXCEPTION] [DEBUG] [sun.management.compiler]:[HotSpot Tiered Compilers]
    [100112_105234222][][EXCEPTION] [DEBUG] [queue_appl_id]:[0]
    [100112_105234222][][EXCEPTION] [DEBUG] [os.version]:[2.6.18-128.el5]
    [100112_105234222][][EXCEPTION] [DEBUG] [LONG_RUNNING_JVM]:[true]
    [100112_105234222][][EXCEPTION] [DEBUG] [user.home]:[home/applmgr01]
    [100112_105234222][][EXCEPTION] [DEBUG] [user.timezone]:[Asia/Kolkata]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.awt.printerjob]:[sun.print.PSPrinterJob]
    [100112_105234222][][EXCEPTION] [DEBUG] [file.encoding]:[UTF-8]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.specification.version]:[1.6]
    [100112_105234222][][EXCEPTION] [DEBUG] [CACHEMODE]:[DISTRIBUTED]
    [100112_105234222][][EXCEPTION] [DEBUG] [conc_queue_id]:[6269]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.class.path]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/lib/dt.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/lib/tools.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/rt.jar:/AP1/oracle/PROD01/apps/apps_st/comn/java/lib/appsborg2.zip:/AP1/oracle/PROD01/apps/apps_st/comn/java/classes]
    [100112_105234222][][EXCEPTION] [DEBUG] [user.name]:[applmgr01]
    [100112_105234222][][EXCEPTION] [DEBUG] [DBCFILE]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/appl/fnd/12.0.0/secure/clone.dbc]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.vm.specification.version]:[1.0]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.home]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre]
    [100112_105234222][][EXCEPTION] [DEBUG] [sun.arch.data.model]:[32]
    [100112_105234223][][EXCEPTION] [DEBUG] [user.language]:[en]
    [100112_105234223][][EXCEPTION] [DEBUG] [java.specification.vendor]:[Sun Microsystems Inc.]
    [100112_105234223][][EXCEPTION] [DEBUG] [java.vm.info]:[mixed mode]
    [100112_105234223][][EXCEPTION] [DEBUG] [logfile]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/logs/appl/conc/log/FNDOPP157635.txt]
    [100112_105234223][][EXCEPTION] [DEBUG] [java.version]:[1.6.0_10]
    [100112_105234223][][EXCEPTION] [DEBUG] [java.ext.dirs]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/ext:/usr/java/packages/lib/ext]
    [100112_105234223][][EXCEPTION] [DEBUG] [sun.boot.class.path]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/resources.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/rt.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/sunrsasign.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/jsse.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/jce.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/charsets.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/classes]
    [100112_105234223][][EXCEPTION] [DEBUG] [java.vendor]:[Sun Microsystems Inc.]
    [100112_105234223][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MAX]:[2]
    [100112_105234223][][EXCEPTION] [DEBUG] [file.separator]:[]
    [100112_105234223][][EXCEPTION] [DEBUG] [java.vendor.url.bug]:[http://java.sun.com/cgi-bin/bugreport.cgi]
    [100112_105234223][][EXCEPTION] [DEBUG] [sun.io.unicode.encoding]:[UnicodeLittle]
    [100112_105234223][][EXCEPTION] [DEBUG] [sun.cpu.endian]:[little]
    [100112_105234223][][EXCEPTION] [DEBUG] [APPLOUT]:[out]
    [100112_105234223][][EXCEPTION] [DEBUG] [sun.cpu.isalist]:[]
    [10/1/12 10:52:35 AM] [UNEXPECTED] [157635:RT1296337] java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at oracle.apps.xdo.common.xml.XSLT10gR1.invokeParse(XSLT10gR1.java:517)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:224)
         at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:177)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:1044)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:997)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:212)
         at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1665)
         at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:975)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5936)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3459)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3548)
         at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:285)
         at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:173)
    Caused by: oracle.xdo.parser.v2.XMLParseException: Expected ';'.
         at oracle.xdo.parser.v2.XMLError.flushErrors1(XMLError.java:337)
         at oracle.xdo.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:305)
         at oracle.xdo.parser.v2.XMLParser.parse(XMLParser.java:289)
         ... 17 more
    [10/1/12 10:52:35 AM] [157635:RT1296337] Completed post-processing actions for request 1296337.
    [GC 8059K->6286K(8692K), 0.0076290 secs]
    [Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor17]
    [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor19]
    [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor18]
    [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor13]
    6286K->3865K(8692K), 0.0446370 secs]
    Please help great appriciation.
    Thanks,
    Sidharth.

    A semi colon character was expected. Error processing resource 'http://orappsus64.tsindia.in:8009/OA_CGI/FNDWRR.exe?temp_id...
    <CP_PROJECT>IT/Quintiles/J&J COGNOS</CP_PROJECT>
    ----------------------------^
    n-left:1em;text-indent:-2em">   <GL_MAIN_PERIOD>Jun-12</GL_MAIN_PERIOD>
      <TOTAL_REVENUE>4026.14</TOTAL_REVENUE>
      <GL_PERIOD>Jun-12</GL_PERIOD>
      </G_TOTAL_REVENUE_CAT>
    {code}
    Your PL/SQL code doesn't produce a valid XML document.
    In the XML grammar, "&" is a special character and must be escaped using the character entity "&#38;amp;".
    If you were using standard methods to build XML from Oracle (SQL/XML functions for instance), I'm sure you wouldn't have this error.
    Please show us the PL/SQL code you're using to produce this XML output and we'll be able to help you further.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • How to compare after parsing xml file

    Hi,
    following code, parse the input.xml file, counts how many nodes are there and writes the node name and its value on screen.
    1) i am having trouble writing only node name into another file instead of writing to screen.
    2) after parsing, i like to compare each node name with another .xsd file for existence.
    Please keep in mind that, input.xml is based on some other .xsd and after parsing i have comparing its tag with another .xsd
    Need you help guys.
    thanks
    * CompareTags.java
    import java.io.*;
    import org.w3c.dom.*;
    import org.xml.sax.*;
    import javax.xml.parsers.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    /** This class represents short example how to parse XML file,
    * get XML nodes values and its values.<br><br>
    * It implements method to save XML document to XML file too
    public class CompareTags {
    private final static String xmlFileName = "C:/input.xml";
         int totalelements = 0;
    /** Creates a new instance of ParseXMLFile */
    public CompareTags() {
    // parse XML file -> XML document will be build
    Document doc = parseFile(xmlFileName);
    // get root node of xml tree structure
    Node root = doc.getDocumentElement();
    // write node and its child nodes into System.out
    System.out.println("Statemend of XML document...");
    writeDocumentToOutput(root,0);
                   System.out.println("totalelements in xyz tag " + totalelements);
              System.out.println("... end of statement");
    /** Returns element value
    * @param elem element (it is XML tag)
    * @return Element value otherwise empty String
    public final static String getElementValue( Node elem ) {
    Node kid;
    if( elem != null){
    if (elem.hasChildNodes()){
    for( kid = elem.getFirstChild(); kid != null; kid = kid.getNextSibling() ){
    if( kid.getNodeType() == Node.TEXT_NODE ){
    return kid.getNodeValue();
    return "";
    private String getIndentSpaces(int indent) {
    StringBuffer buffer = new StringBuffer();
    for (int i = 0; i < indent; i++) {
    buffer.append(" ");
    return buffer.toString();
    /** Writes node and all child nodes into System.out
    * @param node XML node from from XML tree wrom which will output statement start
    * @param indent number of spaces used to indent output
    public void writeDocumentToOutput(Node node,int indent) {
    // get element name
    String nodeName = node.getNodeName();
    // get element value
    String nodeValue = getElementValue(node);
    // get attributes of element
    NamedNodeMap attributes = node.getAttributes();
    System.out.println(getIndentSpaces(indent) + "NodeName: " + nodeName + ", NodeValue: " + nodeValue);
    for (int i = 0; i < attributes.getLength(); i++) {
    Node attribute = attributes.item(i);
    System.out.println(getIndentSpaces(indent + 2) + "AttributeName: " + attribute.getNodeName() + ", attributeValue: " + attribute.getNodeValue());
    // write all child nodes recursively
    NodeList children = node.getChildNodes();
              //int totalelements = 0;
    for (int i = 0; i < children.getLength(); i++) {
    Node child = children.item(i);
                   //     System.out.println("child value.."+child);
    if (child.getNodeType() == Node.ELEMENT_NODE) {
    writeDocumentToOutput(child,indent + 2);
                             if(node.getNodeName() == "DATA"){
                             totalelements = totalelements+1;}
                        //System.out.println("totalelements in DATA tag " + totalelements);
    /** Parses XML file and returns XML document.
    * @param fileName XML file to parse
    * @return XML document or <B>null</B> if error occured
    public Document parseFile(String fileName) {
    System.out.println("Parsing XML file... " + fileName);
    DocumentBuilder docBuilder;
    Document doc = null;
    DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
    docBuilderFactory.setIgnoringElementContentWhitespace(true);
    try {
    docBuilder = docBuilderFactory.newDocumentBuilder();
    catch (ParserConfigurationException e) {
    System.out.println("Wrong parser configuration: " + e.getMessage());
    return null;
    File sourceFile = new File(fileName);
    try {
    doc = docBuilder.parse(sourceFile);
    catch (SAXException e) {
    System.out.println("Wrong XML file structure: " + e.getMessage());
    return null;
    catch (IOException e) {
    System.out.println("Could not read source file: " + e.getMessage());
    System.out.println("XML file parsed");
    return doc;
    /** Starts XML parsing example
    * @param args the command line arguments
    public static void main(String[] args) {
    new CompareTags();
    }

    hi,
    check out the following links
    Check this blog to extract from XML:
    /people/kamaljeet.kharbanda/blog/2005/09/16/xi-bi-integration
    http://help.sap.com/saphelp_nw04/helpdata/en/fe/65d03b3f34d172e10000000a11402f/frameset.htm
    Check thi link for Extract from any DB:
    http://help.sap.com/saphelp_nw04s/helpdata/en/58/54f9c1562d104c9465dabd816f3f24/content.htm
    regards
    harikrishna N

Maybe you are looking for

  • Someone please help this thing driving me nuts lol

    ok here is the problem,,, i got my ipod shuffle for xmas, was working good until something crashed on my harddrive i had to format harddrive , now itunes is not seeing that i have a ipod, my computer is because when i plug it in says "to safely remov

  • How do I put videos on the iPad w/o synching with iTunes?

    I just bought the iPad 2 from a friend of mine.  It is "tethered" to his computer.  Meaning it won't let me sync my iTunes videos and music to it w/o doing the erase & sync.  I'm hesitant to do that just yet because I have already dialed in the setti

  • Error adding new users in Portal 9ias Release 2

    We have just built a new OracleIAS Server using 9.0.2 with Portal installed. Everything works just fine with Portal until I try to add a new user. When I go into the administration section and click on "Create New Users" it returns a page cannot be d

  • Replicate delta from R/3 to a new BW System

    Hello all. I need some help in a complex question I have to answer, the scenario is as follows: We have currently a live BW server, let´s call it L1. My technical team is proposing to split this server in to 2, so we will have a new BW server called

  • Common segment postngs

    Dear all, I have a special question on the segment reporting. Currently we have so many segments and each company is busy in more than one segment. Which means every transactions should be tagged to the corresponding segments. For the unidentified tr