Xerces-J Parser Problems

Hi, im knew to Java and r currently studying XML. I installed the Java 2 SDK - which went fine & the book told me to install Xerces-J Parser. I followed instructions, i.e setting classpath and path in autoexec.bat, but when i want to test it - it says NoClassDefFoundError...
The book told me to change to xerces directory and then typing in java sax.SAXCount data/personal.xml - v.
Also, the book uses Xerces-1_2_3 & im using Xerces-1_4_4. Can i just ignore this & continue or will i have problems with other stuff as well?
Any suggestions will be greatly appreciated.

Never mind - fixed it myself :)

Similar Messages

  • Xerces C++ Parser Library

    Hello everybody. I want to learn two simple issues. If you answer, it will be very nice of you.
    1) I try to develop an application on a Sun workstation having a sparc processor. It runs SunOS 5.9. The IDE that I use is Sun ONE Studio 4 update 1 Enterprise Edition for Java (Build 020923) IDE/1
    spec=1.43.3.1 impl=020923. I use C++ programming language (with the relevant Compiler Collection of Sun). In order to parse XML files, I plan to use Xerces C++ Parser Library. Apache web site says that this library has been developed with Forte C++ Version 6 Update 2 on Solaris 2.7. Will I encounter any incompatibility problems?
    2) Which distribution of Xerces-C++ must I download? Binary or source...
    3) Apache web site ( http://xml.apache.org/xerces-c/build-winunix.html#UNIX ) says that "Xerces-C++ uses GNU tools like Autoconf and GNU Make to build the system." These tools are used to generate a Makefile to build a XML parser executable. But, Sun One Studio already has a tool to build Makefile. Do I really need to use those GNU tools?
    4) I've tried to build a Makefile for Xerces C++ applications. During building Makefile in "Directories to search for include files" window, I've added the directories which reside under /include/xercesc. In "Libraries (filenames and directories) to link with" window, I've added the files residing under lib directory which are libxerces-c.so, libxerces-c.so.25 and libxerces-c.so.25.0. But, at compile time I encounter errors, since I couldn't include the relevant .hpp files successfully.
    Thanks in advance & Regards

    The error message file lpxus.msg has a detailed explanation:
    00252, 00000, "invalid entity replacement-text nesting"
    // *Cause: Markup included from an entity must nest/group properly, that
    // is, open/close markup must occur within the same entity.
    // For example,
    // <!DOCTYPE doc [ <!ENTITY e "</foo><foo>"> ]>
    // <doc><foo>&e;</foo></doc>
    // Is invalid since foo's start-tag occurs in the top-level
    // document, but the close-tag is provided by the "e" entity.
    // Both start and end must be provided by the same source.
    // *Action: Stay away from tricky nonsense such as the above, it's
    // not permitted.
    null

  • Is it possible to configure CF10 or CF11 to use Xerces XML parser instead of Saxon XML parser?

    Could anyone tell me if it is possible to configure CF10 or CF 11 to use the older Xerces XML parser instead of the Saxon XML parser.
    I am in the process of migrating a website from CF8 to CF11. Several sections rely on XML transformation, which no longer work in CF11. After investigating the problem it seems to be that the Saxon Parser is more strict, causing these errors.

    Well I guess Parsers would be better solution. As u said u need to insert node at specific location.
    so now u have to decide which parser u need to choose according to u r requirmnet. DOM or SAX maily.
    Both has adv and di-advs.
    ...yogesh

  • WIJ 20002 xml Parser Problem - Rich Client

    Hi,
    I have a problem with the rich client on a new installation:
    Business Objects Enterprise XI 3.1 SP3 on Windows 2008 Standard.
    If I connect with the rich client "import document"is disabled.
    if I try to create a new document from the rich client it returns the error below (I used the rich client on two workstations):
    WIJ 20002
    Version: null
    Analisi dello stack:
    java.lang.RuntimeException: java.lang.RuntimeException: XML parser problem:
    XMLJaxpParser.parse(): Element type "ABOUT_Patentnumbers" must be followed by either attribute specification, ">" or "/>".
    at com.businessobjects.wp.xml.jaxp.XMLJaxpParser.parse (Unknown Source)
    at.com.businessobjects.webi.richclient.XMLviaOccaRC.getServerConfiguration (Unknown Source)
    Have you any solution?

    The fixpack 3.5 client resolves the problem.

  • Report query parsing problem

    I didn't find any report of this problem...
    Using APEX 3.0.1.00.07, I have a report of type "SQL Query (PL/SQL function body returning SQL query)" with the "Use Generic Column Names (parse query at runtime only)" radio button selected.
    When the region source contains the string "ORDER BY" in any form that I've tried (even in a comment), attempting to save the region fails with "Your query can't include an "ORDER BY" clause when having column heading sorting enabled."
    I do indeed have column sorting enabled on certain columns, but I don't see how that is relevant under these circumstances since the query produced at runtime does not have an ORDER BY clause.
    Am I overlooking something or is this a parsing problem?
    Rodney

    Rodney,
    It's just checking for order by being included in your query, and if so and you have column heading sorting enabled, it's raising this error because you can't have both (even if it's commented out).
    Regards,
    Marc

  • SAX parser problem in JDK1.5

    I have parse the xml file using SAX in jdk1.5 environment. During the parsing, it missed the some text content.
    for example
    <employeeid>
    <empid>1001</empid>
    <empid>1002</empid>
    </employeeid>
    If i have parse the above xml file using SAX in jdk1.5 environment. The output is
    1001
    100
    during the parsing , SAX parser misses digit of 2.
    if i have parse the above xml file using SAX in jdk1.4 environment , it is working fine.
    what is the problem in jdk1.5
    please help
    bala

    What I expect the problem to be was discussed recently in a topic titled "SAX Parser Problems" that was started on March 14 at 6:59 AM by JackoBS.
    Read that and see if it fixes your problem. If so, it is not a JDK1.5 problem, but a user error.
    Dave Patterson

  • XML parser Problem in Oracle 9iAS

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

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

  • Parsing Problems? ImageIcon and BufferedImage

    Hi to everyone
    Could I ask if I will to send ImageIcon with BufferedImage as its arguement. Then what should I receieve from the server? ImageIcon only or ImageIcon with BufferedImage as its arugement?
    Any help will be appreciated. Thank You.

    I am sending ImageIcon over to the server, hence the server will receive as ImageIcon.
    However, when I want to pass the ImageIcon which being parse to Image, this step is ok. Lastly when I want to parse the Image to BufferedImage image, I am encountering parsing problems, hence could u advise me further.
    The error message "Receiving failed: java.lang.ClassCastException"
    Any help will be appreciated. Thank You.
         public void getImage()
              //Object input = null;
            Image images = null;
              try{
                   imgIcon = (ImageIcon)oin.readObject();
                   System.out.println("Icon Width: "+imgIcon.getIconWidth());
                   while((images = imgIcon.getImage()) != null)
                        System.out.println("Images Width: "+Image.getWidth(images));
                        BufferedImage bimage = (BufferedImage)images; // PROBLEM LIES HERE
                        System.out.println("Bimage Width: "+bimage.getWidth());
                        ImageServerConnection.writeImage(bimage, "happy.jpg");
                        //String fname = "joalicia";
                        //create an new folder to store those sent images.
                        //File f = new File ("c:\\Sweet", fname);
                        //create(f);
              }catch(Exception e){
                   System.err.println("Receiving failed: "+ e);
         }

  • Xerces SAX parser don`t initialize a characters array

    Xerces SAX parser don`t initialize a characters array from characters() method in DefaultHandler.
    I use jdk 1.5.12.
    For value "22-11-2009" variables start=1991, length=9.
    Result: "22-11-200"

    My handler:
    package com.epam.xmltask.parsers;
    import com.epam.xmltask.model.Category;
    import com.epam.xmltask.model.Goods;
    import com.epam.xmltask.model.Products;
    import com.epam.xmltask.model.Subcategory;
    import com.epam.xmltask.utils.Constants;
    import com.epam.xmltask.utils.DateConverter;
    import java.text.ParseException;
    import java.util.Date;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.Attributes;
    import org.xml.sax.ErrorHandler;
    import org.xml.sax.SAXException;
    import org.xml.sax.SAXParseException;
    import org.xml.sax.helpers.DefaultHandler;
    public class SAXProductsParser extends DefaultHandler implements IProductsParser {
        private Logger logger = null;
        private SAXParser parser = null;
        private ErrorHandler errorHandler = null;
        private Products products = null;
        private Category category = null;
        private Subcategory subcategory = null;
        private Goods goods = null;
        private String currentField = Constants.EMPTY_STRING;
        protected Logger getLogger() {
            if (logger == null) {
                logger = Logger.getLogger(SAXProductsParser.class.getName());
            return logger;
        protected SAXParser getParser() throws Exception {
            if (parser == null) {
                try {
                    SAXParserFactory parserFactory = SAXParserFactory.newInstance();
                    parserFactory.setNamespaceAware(true);
                    parserFactory.setValidating(true);
                    parser = parserFactory.newSAXParser();
                    parser.setProperty(Constants.SCHEMA_LANGUAGE, Constants.XML_SCHEMA);
                } catch (Exception ex) {
                    getLogger().log(Level.SEVERE, null, ex);
                    throw ex;
            return parser;
        public ErrorHandler getErrorHandler() {
            if (errorHandler == null) {
                errorHandler = new ProductsErrorHandler();
            return errorHandler;
        public Products getProducts(String uri) throws Exception {
            try {
                products = new Products();
                getParser().parse(uri, this);
                return products;
            } catch (Exception ex) {
                getLogger().log(Level.SEVERE, null, ex);
                throw ex;
        @Override
        public void startElement(String uri, String localName,
                String qName, Attributes attributes) {
            if (Constants.CATEGORY.equals(qName)) {
                String name = attributes.getValue(Constants.NAME);
                category = new Category(name);
            } else if (Constants.SUBCATEGORY.equals(qName)) {
                String name = attributes.getValue(Constants.NAME);
                subcategory = new Subcategory(name);
            } else if (Constants.GOODS.equals(qName)) {
                String name = attributes.getValue(Constants.NAME);
                goods = new Goods(name);
            } else if (Constants.NOT_IN_STOCK.equals(qName)) {
                goods.setIsInStock(false);
            } else {
                currentField = qName;
        @Override
        public void endElement(String uri, String localName, String qName) {
            if (Constants.CATEGORY.equals(qName)) {
                products.addCategory(category);
                category = null;
            } else if (Constants.SUBCATEGORY.equals(qName)) {
                category.addSubcategory(subcategory);
                subcategory = null;
            } else if (Constants.GOODS.equals(qName)) {
                subcategory.addGoods(goods);
                goods = null;
            } else {
                currentField = Constants.EMPTY_STRING;
        @Override
        public void characters(char[] chars, int start, int length) throws SAXException {
            String field = new String(chars, start, length).trim();
            if (goods != null) {
                if (Constants.PRODUSER.equals(currentField)) {
                    goods.setProducer(field);
                } else if (Constants.MODEL.equals(currentField)) {
                    goods.setModel(field);
                } else if (Constants.DATE_OF_ISSUE.equals(currentField)) {
                    Date date = null;
                    try {
                        date = DateConverter.getConvertedDate(field);
                    } catch (ParseException ex) {
                        getLogger().log(Level.SEVERE, null, ex);
                        throw new SAXException(ex);
                    goods.setDateOfIssue(date);
                } else if (Constants.COLOR.equals(currentField)) {
                    goods.setColor(field);
                } else if (Constants.PRICE.equals(currentField)) {
                    Float price = Float.valueOf(field);
                    goods.setPrice(price);
        @Override
        public void error(SAXParseException ex) throws SAXException {
            getErrorHandler().error(ex);
        @Override
        public void fatalError(SAXParseException ex) throws SAXException {
            getErrorHandler().fatalError(ex);
        @Override
        public void warning(SAXParseException ex) throws SAXException {
            getErrorHandler().warning(ex);
    }

  • Need Some help on Xerces c Parser installation

    Hi,
    I have downloaded Binary distribution of Xerces c parser for Solaris.Here we need to set the below path for the installation :
    export LD_LIBRARY_PATH=$XERCESCROOT/lib:$LD_LIBRARY_PATH (on Solaris, Linux)
    But there is no $XERCESCROOT in the extracted folder.SO do we need to define it?If so how to define it?
    With Regards,
    Karanth

    Hi
    When  you try to install crystal reports server XI R2, then you need to install designer additionally.
    By default we wont get developer version with crystal server.
    We need to get  a developer version and install it on the server machine.
    Here is the link to down load crystal reports XI R2 with trial version for 30 days.
    http://www.businessobjects.com/forms/datasave2.asp?c=cr_sp2
    If you have the valid license key then you can get the entire product.
    Also you can go with Server installation rather then client installation.
    In server installation you will get all  repository items will be installed like cmc,ccm,businessview manger, etc.
    Regards,
    Naveen.

  • PML parsing problem: Unexpected end of element

    Hi everybody,
    I'm trying to use Sun's PML-parser (com.sun.autoid.pmlcore.pmlparser.PmlParser) to create an XML file and
    then parse it again. So my source looks like that:
    Create:
         PmlParser pmlParser = new PmlParser();
         ObjectFactory objFactory = pmlParser.getPMLObjectFactory();
         sensor = objFactory.createSensor();
         IdentifierType idType = objFactory.createIdentifierType();
         idType.setValue("urn:epc:id:gid:1.700.1");
         sensor.setID(idType);
         String xml = pmlParser.marshal(sensor);
         // and then write to file
    Parse:
         PmlParser pmlParser = new PmlParser();
         Sensor sensor = pmlParser.unmarshalPML(new File(fileName));
    That is pretty much straight from Sun's developer guide (817-7897-10.pdf).
    The problem is that I always get an exception when trying to "unmarshalPML" the file:
         javax.xml.bind.UnmarshalException: Unexpected end of element {}:ID
         at com.sun.autoid.epcis.xml.impl.runtime.SAXUnmarshallerHandlerImpl.handleEvent(SAXUnmarshallerHandlerImpl.java:551)
         at com.sun.autoid.epcis.xml.impl.runtime.AbstractUnmarshallingEventHandlerImpl.reportError(AbstractUnmarshallingEventHandlerImpl.java:148)
         at com.sun.autoid.epcis.xml.impl.runtime.AbstractUnmarshallingEventHandlerImpl.reportError(AbstractUnmarshallingEventHandlerImpl.java:145)
         at com.sun.autoid.epcis.xml.impl.runtime.AbstractUnmarshallingEventHandlerImpl.unexpectedLeaveElement(AbstractUnmarshallingEventHandlerImpl.java:162)
         at com.sun.autoid.epcis.xml.impl.runtime.AbstractUnmarshallingEventHandlerImpl.leaveElement(AbstractUnmarshallingEventHandlerImpl.java:72)
         at com.sun.autoid.pmlcore.pml.impl.IDImpl$Unmarshaller.leaveElement(IDImpl.java:229)
         at com.sun.autoid.epcis.xml.impl.runtime.AbstractUnmarshallingEventHandlerImpl.revertToParentFromLeaveElement(AbstractUnmarshallingEventHandlerImpl.java:343)
         at com.sun.autoid.pmlcore.pml.impl.IdentifierTypeImpl$Unmarshaller.leaveElement(IdentifierTypeImpl.java:341)          at com.sun.autoid.epcis.xml.impl.runtime.SAXUnmarshallerHandlerImpl.endElement(SAXUnmarshallerHandlerImpl.java:146)
         at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
    Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
         at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
         at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
         at com.sun.autoid.epcis.xml.impl.runtime.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:142)
         at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:131)
         at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:136)
         at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:145)
         at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:163)
         at com.sun.autoid.util.XmlParser.unmarshal(XmlParser.java:55)
         at com.sun.autoid.pmlcore.pmlparser.PmlParser.unmarshalPML(PmlParser.java:47)
         at DOMgui4_PML.xmlToTinyDB.procQuery(xmlToTinyDB.java:58)
         at DOMgui4_PML.Server.createConnection(Server.java:68)
         at DOMgui4_PML.xmlToTinyDB.main(xmlToTinyDB.java:117)
    This occurs with any XML/PML file I try, even with those given in the "PML_Core_Specification_v1.0.pdf" as
    examples. I really don't know what the problem is, maybe anybody has an idea..?
    Thanks a lot,
    DocEW

    i have installed Sun Rfid Software but pml-util.jar
    is not included.
    Where can I find it?
    please help me

  • Xerces SAXParser validation problems

    I'm using the Xerces 2 beta 3 SAXParser to validate an XML document but
    it does not seem to raise a SAXParseException even though my XML is not valid.
    Say I have the following DTD, example.dtd:
    <?xml version='1.0' encoding='UTF-8' ?>
    <!ELEMENT a (b)>
    <!ELEMENT b (c)>
    <!ELEMENT c (#PCDATA)>
    Now, I have a well-formed XML document that is not valid because it clearly violates
    the DTD above:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE class SYSTEM "example.dtd">
    <a>
    <c>Hello</c>
    </a>
    It is my understanding that the SAXParser validation should catch this invalid XML.
    Why does it not raise any Exceptions?
    From what I understood the only valid documents should contain 0 or more of the
    following XML statements:
    <c>Hello</c>
    OR
    <b>
    <c>Hello</c>
    </b
    OR
    <a>
    <b>
    <c>Hello</c>
    </b>
    </a>
    Also, note that if I forget a tag, the parser behaves as expected and raises a SAXParseException that reads
    'The element type "a" must be terminated by the matching end-tag "</a>'
    i.e. <c>Hello
    The only reason I mention this is to show that validation is set to true on the SAXParser.
    Any help would be greatly appreciated. Thanks in advance.
    KL

    The problem I am have does not seem to be with the value of the
    http://xml.org/sax/features/validation feature. I printed the value out after I set it and it is indeed set to true.
    I was reading more about the feature (see below) and am now thinking the validation might not occur because the grammar might not be read in by the parser.
    When that say "grammar" I assume they mean the DTD in my case. When they say "the document must specify a grammar," I assume that mean that my XML document must state the DTD to use in the DOCTYPE statement.
    My XML document looks kind of like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE class SYSTEM "example.dtd" [
    <!ENTITY % entities SYSTEM "7670Entities2.0.xml">
    %entities;
    ]>
    <a>
    <b>
    <c>Hello</c>
    </b>
    </a>
    So have I specified the grammar correctly? Is there anyway to print out anything that will show that the grammar has indeed been read in?
    http://xml.org/sax/features/validation
    True:
    Validate the document.
    False:
    Do not validate the document.
    Default:
    false
    Access:
    (parsing) read-only; (not parsing) read-write;
    Note:
    If this feature is set to true, the document must specify a
    grammar. If this feature is set to false, the document may
    specify a grammar and that grammar will be parsed but
    no validation of the document contents will be performed.

  • XML parsing problem

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

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

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

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

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

  • XML Parser Problem

    am using XML parser for PL/SQL in Oracle9i Enterprise Edition Release 9.0.1.1.1
    When i run the sample xml program, i get error which is as follows. While compiling no errors. But while executing it reports error as given below.
    SQL> execute domsample('c:\xml', 'family.xml', 'errors.txt');
    begin domsample('c:\xml', 'family.xml', 'errors.txt'); end;
    ORA-20100: Error occurred while parsing: No such file or directory
    ORA-06512: at "COMMODITYBACKCONNECT.XMLPARSER", line 22
    ORA-06512: at "COMMODITYBACKCONNECT.XMLPARSER", line 79
    ORA-06512: at "COMMODITYBACKCONNECT.DOMSAMPLE", line 80
    ORA-06512: at line 1
    What need to be done to rectify the above problem.
    when i do the following validation check
    SQL>
    SQL> select substr(dbms_java.longname(object_name),1,30) as class, status
    2 from all_objects
    3 where object_type = 'JAVA CLASS'
    4 and object_name = dbms_java.shortname('oracle/xml/parser/v2/DOMParser')
    5 ;
    CLASS STATUS
    oracle/xml/parser/v2/DOMParser VALID
    oracle/xml/parser/v2/DOMParser VALID
    Please advice to how remove the following error:
    ORA-20100: Error occurred while parsing: No such file or directory

    Found the solution on metalink. There is a file under /$ORACLE_HOME/javavm/install/init_security.sql
    which needs to be run under username where you are installing xml parser.
    This step is not in readme.txt file provided as a part of download from the OTN website.

Maybe you are looking for

  • How do I upload photos from my PC to a share a album

    how do I upload photos from my PC to a share a album?

  • N:1 mapping problem with incoming NULL value

    Dear experts, i have a problem mapping an incoming Idoc to XML file. Here's the situation: 1) Structure of inbound Idoc     ZTST00     ZTST01 Structure: FIELDNAME, FIELDVALUE. Values: FIELDNAME = "Z1", FIELDVALUE = "4";     ZTST01 Structure: FIELDNAM

  • Customizing Documentation from Solution Manager

    Morning, We made project customizing via Solution Manager, and our customer would like to have a report or customizing documentation from SM. How to generate this document via Solution Manager Thank You in advance DP

  • Delete distribution point in specific package

    I need to delete already assign distribution points for specific package. Basically need to remove distribution point and add different distribution point to selected package . since sms_distributionPoint status property read only I cant change it to

  • What are the following tablespaces / datafiles?

    I have the following tablespaces and corresponding datafiles ... hoping someone can help me identify the application for it. Or what was the previous DBA doing? tablespace / datafile CONSTANT_GROW_INDEXES / SCM_CGIND.DBF etc .. DEPENDENCY_INDEXES / S