PL/SQL Parser for XML

When production version of Oracle XML Parser for PL/SQL is
available?
and what are other XML utilities to be available for PL/SQL?
null

Do you have more precison about the date of the production
version of Oracle XML Parser for PL/SQL?
Oracle XML Team wrote:
: We have not yet announced a production date for the PL/SQL
: version as this just went beta and we need to get sufficient
: feedback. Have you tried it? Other PL/SQL XML utilities can
be
: found at http://www.oracle.com/xml/plsxml/index.html.
: Oracle XML Team
: http://technet.oracle.com
: Oracle Technology Network
: Boris Kolodny (guest) wrote:
: : When production version of Oracle XML Parser for PL/SQL is
: : available?
: : and what are other XML utilities to be available for PL/SQL?
null

Similar Messages

  • PL/SQL parser for 7.3 DB?

    We have an ORACLE 7.3 DB and are looking for a PL/SQL parser for XML... Some of the posts I've seen seem to suggest that a solution exists, but I'm not having any luck finding out for sure...
    Thanks,
    Jeff

    http://technet.oracle.com/tech/xml/info/index2.htm?Info&plsxml/xml4plsql.htm

  • Execute SQL Task - FOR XML PATH query error

    I have the following query
    SELECT pl.Id,
    pl.StartTime,
    pl.EndTime,
    pl.PackageName,
    pl.Computer,
    pl.Operator,
    CASE WHEN (CHARINDEX('stack trace', pl.ErrorDescription) > 0) Then
        SUBSTRING(pl.ErrorDescription, 0, CHARINDEX('stack trace', pl.ErrorDescription))
        ELSE
        pl.ErrorDescription
        END as ErrorDescription
    ISNULL(ErrorFile,'') as ErrorFile,
    'Not Applicable' as SourceSystem
    FROM etl.PackageLog as pl
    WHERE pl.Processed = 0
    ORDER BY pl.StartTime, pl.PackageName
    FOR XML PATH('Row'), ROOT(N'FieldingCounts')
    in a Execute SQL Task and i get the following error:
    [Execute SQL Task] Error: Executing the query "SELECT pl.Id,
    pl.StartTime,
    pl.EndTime,
    pl.Package..." failed with the following error: "An invalid character was found in text content.
    ". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
    The query execute without problem in database and in the ssis package doens't run because of the column
    CASE WHEN (CHARINDEX('stack trace', pl.ErrorDescription) > 0) Then
        SUBSTRING(pl.ErrorDescription, 0, CHARINDEX('stack trace', pl.ErrorDescription))
        ELSE
        pl.ErrorDescription
        END as ErrorDescription
    Any help to overcome the problem?
    Thanks

    Hi,
    It looks like that you must be trying to set the result of the query to some variable from the Execute SQL Task. If yes, make sure that the target variable is of the correct data type where XML string  can fit into. Considering that in SSIS, we have
    some limit for XML strings.
    Please let me know if it doesn't help.
    Thanks,
    Nimit

  • Custom parser for XML

    Hello forum,
    I want to put in iFS XML documents with binary content encoded in base64.
    I have created "PrintedDoc" base on "Document" with new attributes: Name, Pages, PeportName.
    I created test XML file and iFS parses it just fine.
    This is an example of XML file:
    <?xml version = '1.0' standalone = 'yes'?>
    <PrintedDoc>
    <Name> Angebot-Nr. 123 vom 12.06.2002.pdf </Name>
    <FolderPath> /printed/Angebote </FolderPath>
    <Pages> 3 </Pages>
    <Format RefType="name"> PDF </Format>
    <ReportName> Angebot </ReportName>
    <Content>AABC-+.....AABCD</Content>
    </PrintedDoc>
    Now I want to decode content back into binary format and store binary data. I have written java class for decoding. I will write a parser that decodes base64 content into binary data.
    My question: How I can register my parser for that xml document? I read about including namespace into document and registering custom XML parser, but this will give me the whole xml document as incoming data.
    I would appreciate if you share your experience or give some hints.
    TIA
    Alexandre

    Hi again,
    I'm trying to write XML pareser implementing XmlParserInterface. I have implemented parse methods and used IfsXmlParser.CreateDOM to get parsed XMLDocument.
    As far as I know, my xml parser should be instaneiated by IfsXmlParser, which in turn calls one of parse methods. The problem is that XmlParserInterface doesn't contain constructors to implement. For example, interface Parser has constructor with argument of type LibrarySession.
    How I can get current LibrarySession from my XML parser? Should I implement both interfaces Parser and XmlParserInterface?
    Thanks for any help,
    Alexandre.
    PS: are Java sources of iFS available somewhere? It would be helpful to get knowledge of how the things working. There is no documentation for creating XML parsers. I have only found about writing usual custom parsers in Developer Guide and a little in iFS API. But that is very scant. :(((

  • PL/SQL parser for 8.1.5

    Hi,
    Can anyone tell me a URL from where I can download the PL/SQL XML parser 1.0.1. -- OTN only has 1.0.2 which uses the later JDK, causing the "failure to resolve" errors.
    Thanks
    John

    Use the SQL scripts and xmlplsql.jar from PLSQL XML Parser 1.0.2 with the xmlparserv2.jar that's available in the ./lib directory of the XSQL Servlet 1.0.0.0 download.
    The latter is still the 2.0.2.7 XML Parser
    until the 1.0.1.0 release.

  • Parser for XML as output from DB..

    Hi Guys,
    Can some one tell me a parser which can take a query and gives the output as an XML format. And takes an XML file and puts the data into DB. pl. let me know from where i can download the parser. and if u have any sample code pl give me.
    Any help would be appreciated greatly.
    Thanks in advance.
    Anil([email protected]).

    Thanks alot Bernhard.
    I got it. But now i would like to know, can i specify the XML format to be generated(DTD kind of thing)when we make a query, like the query will be getting the data of two tables say master and child. so for each record of master there can be multiple childs. at that time i dont want the master data come along with all the childs(master data duplication should not be there). let me put like this. In the master tag there can/should be multiple child tags(sub tags). can this be done using the XSU or XDK ? In the same way can we insert data into two tables at a time. its like we will be taking the data from two tables do some operations reduce some data and then insert into two tables again. can this be achieved with xml file. And i would like to know how to generate one xml for one master record(including its child records, going to be join or sub query etc..) Am i clear on to my question ? If u have any sample data on this could u give me. once again thanks alot for the url.
    Any help would be appreciated greatly.
    Thanks in advance.
    Anil([email protected]).

  • PL/SQL Parsing of XML File

    Hi,
    I need to use PL/SQL to read from XML file and from what I understand, create a table in the db where the data from XML file will go.
    I'm pretty new to PL/SQL and XML...how do I get started?
    Am on 10g XE on local machine, but have access to dev 10g Enterprise.
    Thanks!

    Thanks,
    I also found useful material at :
    http://java.sun.com/webservices/jaxp/dist/1.1/docs/tutorial/sax/index.html

  • SAX Parser For XML

    Hello all,
    I am trying Parsing XML thorugh SAX. Were to get SJXP.jar and parser.jar files on sun site
    if any body have these files plz mail :[email protected]

    String buf = (new String(ch, start, length)).trim();
    if (thisElement != "root"){   
    if ((buf.length() == 0) && (thisElement !="") ){
    It run ok!
    Thanks 58871!
    Now, i want to export oracle table to xml file like :
    <?xml version="1.0" encoding="UTF-8"?>
    <root>
    <emp>
    <ename>aaa</ename>
    <sal>3000</sal>
    </emp>
    <emp>
    <ename>bbb</ename>
    <sal>5000</sal>
    </emp>
    </root>
    Can SAX export to xml format?
    Pham Thanh Tung

  • PLSQL parser for XML

    What is wrong with this?
    declare
    n xmlparser.DOMNode;
    n1 xmlparser.DOMNode;
    n2 xmlparser.DOMNode;
    e xmlparser.DOMElement;
    begin
    e := xmlparser.createElement (document,'TEST_ELEMENT');
    n1 := xmlparser.makeNode(e);
    n2 := xmlparser.appendChild(n,xmlparser.makeNode(e));
    creates a empty node
    <Location>
    <Country>US
    <TEST_ELEMENT/>
    </Country>
    </Location>
    Question : How can I create a Text Node under <TEST_ELEMENT>,
    example
    <TEST_ELEMENT>Test element comment node
    </TEST_ELEMENT>
    Thanks for your help.
    null

    sk (guest) wrote:
    : What is wrong with this?
    : declare
    : n xmlparser.DOMNode;
    : n1 xmlparser.DOMNode;
    : n2 xmlparser.DOMNode;
    : e xmlparser.DOMElement;
    : begin
    : e := xmlparser.createElement (document,'TEST_ELEMENT');
    : n1 := xmlparser.makeNode(e);
    : n2 := xmlparser.appendChild(n,xmlparser.makeNode(e));
    : creates a empty node
    : <Location>
    : <Country>US
    : <TEST_ELEMENT/>
    : </Country>
    : </Location>
    : Question : How can I create a Text Node under <TEST_ELEMENT>,
    : example
    : <TEST_ELEMENT>Test element comment node
    : </TEST_ELEMENT>
    : Thanks for your help.
    Use the createTextNode method to create a new text node. Then
    convert the DOMElement to a DOMNode using makeNode. Now, you can
    use appendChild to append the text node to the DOMElement.
    Oracle XML Team
    http://technet.oracle.com
    Oracle Technology Network
    null

  • Parser for XML

    Hi you all,
    I would just like to hear from you, what parser do you usually use to work with XML.
    JAXP or JDOM.
    THere so many choices...
    Many Thanks,
    MeTitus

    `hi
    DOM is mainly used if we have to build or alter the xml docs and sax if we have to only read the xml docs
    DOM is mainly prefered in the real world
    hope this helps

  • PL/SQL Code for XML

    Will you please provide a sample on how to generate XML file using PL/SQL ?

    There are many samples in the Samples directory of the XDK

  • Validate xml with PL/SQL Parser

    Hi,
    i have an xml DTD into a VARCHAR2 variable and an xml document
    into a CLOB, i'd like to know how to validate the xml with my
    DTD using PL/SQL API for xml.
    Sorry for my terrible english (i'm not english) :-)
    Tank you.

    Here's an example:
    set serveroutput on
    DECLARE
      p xmlparser.parser;
      d xmldom.DOMDocument;
      dtd xmldom.DOMDocumentType;
      v varchar2(32700);
      good clob;
      bad clob;
      xml_parse_error exception;
      pragma exception_init(xml_parse_error,-20100);
    BEGIN
      bad   := '<!DOCTYPE Department SYSTEM "test.dtd"><Deprtment/>';
      good  := '<!DOCTYPE Department
    SYSTEM "test.dtd"><Department/>';
      v := '<!ELEMENT Department EMPTY>';
      p := xmlparser.newParser;
      xmlparser.parseDTDBuffer(p,v,'Department');
      xmlparser.setDoctype(p,xmlparser.getDoctype(p));
      xmlparser.setValidationMode(p,TRUE);
      xmlparser.parseClob(p,good);
      xmlparser.parseClob(p,bad);
      xmlparser.freeParser (p);
    EXCEPTION
      WHEN xml_parse_error THEN
         DBMS_OUTPUT.PUT_LINE(sqlerrm);
         xmlparser.freeParser (p);
    END;

  • PL/SQL Parser engine

    Hi,
    I am developing a logging framework, where applications which are initiating PL/SQL transactions also log the same using our framework. The reason being, the application owner can then analyze data from these logs. I was wondering whether there is something in existence like the "General SQL Parser" for a linux based c++ component, so that we can parse the PL/SQL blocks and represent the data in a certain format.
    Are there any ORACLE libraries that I can use, which would work with PYTHON or any other scripting languages and parse the PL/SQLs albeit out of the scope of the ORACLE DB itself.
    Do let me know,
    cheers,
    jags

    Our logging framework is a generic c++ framework, where applications have a 2 stage approach
    1) Execute the SQL transaction to their DB host.
    2) The same SQL transaction is then logged to our framework (non DB), we then generate reports on these SQL transactions.
    We are already handling parsing the log data for the SQL commands but need something for the PL/SQL blocks.

  • Package for xml file insersion

    hi every body
    if any body know the link for the package of xml file insersion into oracle database. and also parser for xml file then plz tell me.
    my email address is " [email protected] "

    hi every body
    if any body know the link for the package of xml file insersion into oracle database. and also parser for xml file then plz tell me.
    my email address is " [email protected] "

  • SAX, incor. data for XML element, XML 1.1 doc (1.0 ok) in JRE 6 (JRE 5 ok)

    Hello,
    for some reason, the test case below fails when driven with Java 6. Looks like, when long string data is stored in a XML element, DocumentHandler's characters() method will be provided with incorrect data.
    With XML 1.0, parsing works fine in all my tests, Apache Xerces, JRE 5, JRE 6.
    With XML 1.1., parsing works fine with Apache Xerces, JRE5 but not with JRE6.
    I've checked it with latest JRE 6 update 4.
    Anyone else xperiencing such problems with XML1.1 parsing when using JAXP bundled with Java 6?
    I've tried to file a bug at bugdatabase, but for some reason I got no response for my issue - so I'm trying the forum now ;-)
    Thanx for comments
    Merten
    import java.io.StringReader;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.Attributes;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.DefaultHandler;
    import junit.framework.TestCase;
    import junit.framework.TestResult;
    import junit.framework.TestSuite;
    /** snippet to demonstrate problem in SAXParser */
    public class ProblemWithSAXParser extends TestCase
    public static void main(String[] args)
    TestResult result=junit.textui.TestRunner.run(suite());
    System.exit(result.wasSuccessful() ? 0 : 1);
    private static junit.framework.Test suite()
    final TestSuite ts=new TestSuite();
    ts.addTestSuite(ProblemWithSAXParser.class);
    return (ts);
    /** small DocumentHandler, just waiting for one and only XML element <c></c> */
    class MySAXDocumentHandler extends DefaultHandler
    boolean listening=false;
    public void startElement(final String uri, final String localName, final String qName, final Attributes attributes)
    throws SAXException
    System.out.println("startElement uri " + uri + " localName " + localName + " qName " + qName);
    if("c".equals(qName))
    listening=true;
    public void endElement(final String uri, final String localName, final String qName) throws SAXException
    System.out.println("endElement uri " + uri + " localName " + localName + " qName " + qName);
    if("c".equals(qName))
    listening=false;
    public void characters(final char ch[], final int start, final int length) throws SAXException
    if(listening)
    final String str=new String(ch, start, length);
    System.out.println("<c> element, start==" + start + " length==" + length + " ch.length==" + ch.length + " ch=="
    + str);
    sb.append(str);
    private final StringBuffer sb=new StringBuffer();
    /** return what I got for XML element <c></c> */
    public String toString()
    return (sb.toString());
    /** test an XML document with an element <c>, use XML 1.0 and XML 1.1 and some (more)
    * content in the XML element */
    public void testWithSunAndApache() throws Exception
    // test XML element content for <c> element
    final StringBuffer plain_str=new StringBuffer("");
    for(int i=0; i < 500; i++)
    plain_str.append("0123456789 This is some text ").append(i).append(". ");
    final String xml_orig=plain_str.toString();
    // SAX parsers, one Sun, one (original) Apache Xerces
    // accept that Apache Xerces is not in path ...
    final String prop_name="javax.xml.parsers.SAXParserFactory";
    final String prop_val_sun="com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl";
    final String prop_val_apache="org.apache.xerces.jaxp.SAXParserFactoryImpl";
    System.setProperty(prop_name, prop_val_sun);
    final SAXParser sax_sun=SAXParserFactory.newInstance().newSAXParser();
    System.out.println("SaxParser Sun= " + sax_sun);
    assertTrue(("" + sax_sun).indexOf("com.sun.") >= 0);
    System.setProperty(prop_name, prop_val_apache);
    SAXParser sax_apache;
    try
    sax_apache=SAXParserFactory.newInstance().newSAXParser();
    catch(final Throwable t)
    System.err.println("no Apache Xerces in path? " + t);
    sax_apache=null;
    System.out.println("SaxParser Apache= " + sax_apache);
    assertTrue(sax_apache==null || ("" + sax_apache).startsWith("org.apache."));
    // i==0: XML 1.0, i==1: XML 1.1
    for(int i=0; i <= 1; i++)
    assert i == 0 || i == 1;
    final String xml_version=(i == 0 ? "1.0" : "1.1");
    final StringBuffer sb=new StringBuffer("<?xml version=\"" + xml_version + "\" encoding=\"UTF-8\"?><c>");
    sb.append(xml_orig);
    sb.append("</c>");
    final String xml=sb.toString();
    // parse it!
    final StringReader string_reader_sun, string_reader_apache;
    string_reader_sun=new StringReader(xml);
    final InputSource input_source_sun=new InputSource(string_reader_sun);
    string_reader_apache=new StringReader(xml);
    final InputSource input_source_apache=new InputSource(string_reader_apache);
    final MySAXDocumentHandler my_handler_sun, my_handler_apache;
    my_handler_sun=new MySAXDocumentHandler();
    my_handler_apache=new MySAXDocumentHandler();
    sax_sun.parse(input_source_sun, my_handler_sun);
    if(sax_apache!=null)
    sax_apache.parse(input_source_apache, my_handler_apache);
    final String xml_sun=my_handler_sun.toString();
    final String xml_apache=my_handler_apache.toString();
    assertNotNull(xml_sun);
    assertNotNull(xml_apache);
    System.out.println("xml version " + xml_version);
    System.out.println("xml " + xml);
    System.out.println("xml_orig " + xml_orig);
    System.out.println("xml_sun " + xml_sun);
    System.out.println("xml_apache " + xml_apache);
    // test the data returned from DocumentHandler
    if(sax_apache!=null)
    assertEquals(xml_orig, xml_apache);
    assertEquals(xml_orig.length(), xml_sun.length()); // length seems to be okay
    assertEquals(xml_orig, xml_sun); // content seems to be not okay for XML 1.1
    }

    thanx, DrClap, haven't seen the "code" button for some reason, code is attached again
    The output of my test is like this for JRE6 (truncated)
    xml_sun 456789 This is is some text 0. 0123456789 This is some text 1.
    xml_apache 0123456789 This is some text 0. 0123456789 This is some text 1.
    Notice, xml_sun not only starts wrong ("0123" missing) - for some reason, the text there is not "This is some text" but "This is is some text" - very interesting in a way. I guess there's an issue with repeated text chunks ...
    So, the data in my XML element is kind of changed, the length of the string is okay but the characters are "misplaced" or so :-) I thought about a problem with StringBuffer first, but the StringBuffer works fine for Apache ... so I really think there's an issue with JRE 6's parser for XML 1.1
    Merten
    import java.io.StringReader;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.Attributes;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.DefaultHandler;
    import junit.framework.TestCase;
    import junit.framework.TestResult;
    import junit.framework.TestSuite;
    /** snippet to demonstrate problem in SAXParser */
    public class ProblemWithSAXParser extends TestCase
    public static void main(String[] args)
      TestResult result=junit.textui.TestRunner.run(suite());
      System.exit(result.wasSuccessful() ? 0 : 1);
    private static junit.framework.Test suite()
      final TestSuite ts=new TestSuite();
      ts.addTestSuite(ProblemWithSAXParser.class);
      return (ts);
    /** small DocumentHandler, just waiting for one and only XML element <c></c> */
    class MySAXDocumentHandler extends DefaultHandler
      boolean listening=false;
      public void startElement(final String uri, final String localName, final String qName, final Attributes attributes)
        throws SAXException
       System.out.println("startElement uri " + uri + " localName " + localName + " qName " + qName);
       if("c".equals(qName))
        listening=true;
      public void endElement(final String uri, final String localName, final String qName) throws SAXException
       System.out.println("endElement uri " + uri + " localName " + localName + " qName " + qName);
       if("c".equals(qName))
        listening=false;
      public void characters(final char ch[], final int start, final int length) throws SAXException
       if(listening)
        final String str=new String(ch, start, length);
        System.out.println("<c> element, start==" + start + " length==" + length + " ch.length==" + ch.length + " ch=="
          + str);
        sb.append(str);
      private final StringBuffer sb=new StringBuffer();
      /** return what I got for XML element <c></c> */
      public String toString()
       return (sb.toString());
    /** test an XML document with an element <c>, use XML 1.0 and XML 1.1 and some (more)
      * content in the XML element */
    public void testWithSunAndApache() throws Exception
      // test XML element content for <c> element
      final StringBuffer plain_str=new StringBuffer("");
      for(int i=0; i < 500; i++)
       plain_str.append("0123456789 This is some text ").append(i).append(". ");
      final String xml_orig=plain_str.toString();
      // SAX parsers, one Sun, one (original) Apache Xerces
      // accept that Apache Xerces is not in path ...
      final String prop_name="javax.xml.parsers.SAXParserFactory";
      final String prop_val_sun="com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl";
      final String prop_val_apache="org.apache.xerces.jaxp.SAXParserFactoryImpl";
      System.setProperty(prop_name, prop_val_sun);
      final SAXParser sax_sun=SAXParserFactory.newInstance().newSAXParser();
      System.out.println("SaxParser Sun= " + sax_sun);
      assertTrue(("" + sax_sun).indexOf("com.sun.") >= 0);
      System.setProperty(prop_name, prop_val_apache);
      SAXParser sax_apache;
      try
       sax_apache=SAXParserFactory.newInstance().newSAXParser();
      catch(final Throwable t)
       System.err.println("no Apache Xerces in path? " + t);
       sax_apache=null;
      System.out.println("SaxParser Apache= " + sax_apache);
      assertTrue(sax_apache==null || ("" + sax_apache).startsWith("org.apache."));
      // i==0: XML 1.0, i==1: XML 1.1
      for(int i=0; i <= 1; i++)
       assert i == 0 || i == 1;
       final String xml_version=(i == 0 ? "1.0" : "1.1");
       final StringBuffer sb=new StringBuffer("<?xml version=\"" + xml_version + "\" encoding=\"UTF-8\"?><c>");
       sb.append(xml_orig);
       sb.append("</c>");
       final String xml=sb.toString();
       // parse it!
       final StringReader string_reader_sun, string_reader_apache;
       string_reader_sun=new StringReader(xml);
       final InputSource input_source_sun=new InputSource(string_reader_sun);
       string_reader_apache=new StringReader(xml);
       final InputSource input_source_apache=new InputSource(string_reader_apache);
       final MySAXDocumentHandler my_handler_sun, my_handler_apache;
       my_handler_sun=new MySAXDocumentHandler();
       my_handler_apache=new MySAXDocumentHandler();
       sax_sun.parse(input_source_sun, my_handler_sun);
       if(sax_apache!=null)
        sax_apache.parse(input_source_apache, my_handler_apache);
       final String xml_sun=my_handler_sun.toString();
       final String xml_apache=my_handler_apache.toString();
       assertNotNull(xml_sun);
       assertNotNull(xml_apache);
       System.out.println("xml version " + xml_version);
       System.out.println("xml        " + xml);
       System.out.println("xml_orig   " + xml_orig);
       System.out.println("xml_sun    " + xml_sun);
       System.out.println("xml_apache " + xml_apache);
       // test the data returned from DocumentHandler
       if(sax_apache!=null)
        assertEquals(xml_orig, xml_apache);
       assertEquals(xml_orig.length(), xml_sun.length()); // length seems to be okay
       assertEquals(xml_orig, xml_sun); // content seems to be not okay for XML 1.1
    }

Maybe you are looking for