Parse xdp/xfa file

Hi everyone,
I have to parse an XDP/XFA file in Java.
Two questions:
Can I use a standard xml parser?
Any advice on the parser to use in terms of performance?
Thanks in advance for your responses.
Regards,
Mirco

Hi Otto,
thanks for your response.
I describe you ourscenario in a simplified way hoping that it is a simple way.
Its an online scenario - WDJ (CE 7.11)+SAP IFbA. My form is a legacy form designed with Adobe Lifecycle 8.1.
When the user starts the application select the type of document he wants create (using checkboxes). This selection changes the layout dynamically using javascript. Then the user digitally signs the document.
If  I validate the signature, the signature panel I get the signature is  valid but I have a series of warnings concerning the layout elements  that have been deleted or whose properties have changed (by the script)
How can we avoid these warnings? Do we create a set of templates without scripts corresponding to each type of document? We would like avoid it because the possible combinations of the documents is very high.
So, our initial idea is to have a copy of the document without script for changing the xml tree dynamically depending on the presence or absence of values in the context WDJ. To do this we need a parser.
Do you have any advice for us? Any kind of help may be very important at this time.
Thanks for your attention and your time.
Regards,
Mirco

Similar Messages

  • EXPORT XFA error while writing XFA files

    Hello Experts,
    We are facing an error while exporting to PDF from BEx report.
    We are on EP7 SP14. BI on SP16.
    After the report is displayed and Export to PDF button is clicked, a new window opens which shows following:
    1. Error:
    Message: No message was provided.
    Stack trace: java.lang.NullPointerException
    at com.sap.ip.bi.export.model.layout.impl.Margins.<init>(Margins.java:32)
    at com.sap.ip.bi.export.model.layout.impl.CellLayout.<init>(CellLayout.java:48)
    at com.sap.ip.bi.export.model.layout.impl.CellLayout.dub(CellLayout.java:57)
    at com.sap.ip.bi.export.xfa.xftextensions.TableContentIterator.createCell(TableContentIterator.java:170)
    at com.sap.ip.bi.export.xfa.xftextensions.TableContentIterator.next(TableContentIterator.java:104)
    at com.sap.ip.bi.export.xfa.xftextensions.TableSubFormSet.writeXFD(TableSubFormSet.java:1189)
    at com.sap.ip.bi.export.xfa.core.Xft_subform.writeXFD(Xft_subform.java:1604)
    at com.sap.ip.bi.export.xfa.core.Xft_subform.writeXFD(Xft_subform.java:1604)
    at com.sap.ip.bi.export.xfa.core.Xft_template.writeXFD(Xft_template.java:216)
    at com.sap.ip.bi.export.xfa.core.Xft.writeXFD(Xft.java:62)
    at com.sap.ip.bi.export.xfa.impl.Document.writeWidthsAsXmlToStream(Document.java:294)
    at com.sap.ip.bi.export.xfa.widthcalc.WidthCalculator.<init>(WidthCalculator.java:55)
    at com.sap.ip.bi.export.xfa.impl.SizeCalculator.calc(SizeCalculator.java:96)
    at com.sap.ip.bi.export.impl.ExportController.calculateAndSetSizes(ExportController.java:626)
    at com.sap.ip.bi.export.impl.ExportController.doExportPrep(ExportController.java:405)
    at com.sap.ip.bi.export.impl.ExportController.convert(ExportController.java:325)
    at com.sap.ip.bi.export.controller.ExportResult.createExport(ExportResult.java:71)
    at com.sap.ip.bi.webapplications.pageexport.PageExportRenderingRootNode.createPDF(PageExportRenderingRootNode.java:593)
    at com.sap.ip.bi.webapplications.pageexport.PageExportRenderingRootNode.doExport(PageExportRenderingRootNode.java:132)
    at com.sap.ip.bi.webapplications.pageexport.PageExportRenderingRootNode.processRendering(PageExportRenderingRootNode.java:349)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.buildRenderingTree(Page.java:4494)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.processRenderingRootNode(Page.java:4568)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.processRendering(Page.java:4204)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.doProcessRequest(Page.java:4150)
    at com.sap.ip.bi.webapplications.runtime.impl.Page._processRequest(Page.java:2948)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.processRequest(Page.java:2794)
    at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.doProcessRequest(Controller.java:994)
    at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller._processRequest(Controller.java:883)
    at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.processRequest(Controller.java:860)
    at com.sap.ip.bi.webapplications.runtime.jsp.portal.services.BIRuntimeService._handleRequest(BIRuntimeService.java:359)
    at com.sap.ip.bi.webapplications.runtime.jsp.portal.services.BIRuntimeService.handleRequest(BIRuntimeService.java:276)
    at com.sap.ip.bi.webapplications.runtime.jsp.portal.components.LauncherComponent.doContent(LauncherComponent.java:24)
    at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
    at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
    at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
    at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
    at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645)
    at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
    at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
    at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
    at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:524)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:407)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
    at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
    at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
    at
    com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java
    :33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    Message: EXPORT XFA error while writing XFA files
    Stack trace: com.sap.ip.bi.base.exception.BIBaseRuntimeException: EXPORT XFA error while writing XFA files
    at com.sap.ip.bi.export.xfa.impl.Document.writeWidthsAsXmlToStream(Document.java:311)
    at com.sap.ip.bi.export.xfa.widthcalc.WidthCalculator.<init>(WidthCalculator.java:55)
    at com.sap.ip.bi.export.xfa.impl.SizeCalculator.calc(SizeCalculator.java:96)
    at com.sap.ip.bi.export.impl.ExportController.calculateAndSetSizes(ExportController.java:626)
    at com.sap.ip.bi.export.impl.ExportController.doExportPrep(ExportController.java:405)
    at com.sap.ip.bi.export.impl.ExportController.convert(ExportController.java:325)
    at com.sap.ip.bi.export.controller.ExportResult.createExport(ExportResult.java:71)
    at com.sap.ip.bi.webapplications.pageexport.PageExportRenderingRootNode.createPDF(PageExportRenderingRootNode.java:593)
    at com.sap.ip.bi.webapplications.pageexport.PageExportRenderingRootNode.doExport(PageExportRenderingRootNode.java:132)
    at com.sap.ip.bi.webapplications.pageexport.PageExportRenderingRootNode.processRendering(PageExportRenderingRootNode.java:349)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.buildRenderingTree(Page.java:4494)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.processRenderingRootNode(Page.java:4568)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.processRendering(Page.java:4204)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.doProcessRequest(Page.java:4150)
    at com.sap.ip.bi.webapplications.runtime.impl.Page._processRequest(Page.java:2948)
    at com.sap.ip.bi.webapplications.runtime.impl.Page.processRequest(Page.java:2794)
    at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.doProcessRequest(Controller.java:994)
    at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller._processRequest(Controller.java:883)
    at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.processRequest(Controller.java:860)
    at com.sap.ip.bi.webapplications.runtime.jsp.portal.services.BIRuntimeService._handleRequest(BIRuntimeService.java:359)
    at com.sap.ip.bi.webapplications.runtime.jsp.portal.services.BIRuntimeService.handleRequest(BIRuntimeService.java:276)
    at com.sap.ip.bi.webapplications.runtime.jsp.portal.components.LauncherComponent.doContent(LauncherComponent.java:24)
    at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
    at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
    at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
    at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
    at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645)
    at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
    at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
    at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
    at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
    at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:524)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:407)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
    at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
    at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
    at
    com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java
    :33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    Caused by: java.lang.NullPointerException
    at com.sap.ip.bi.export.model.layout.impl.Margins.<init>(Margins.java:32)
    at com.sap.ip.bi.export.model.layout.impl.CellLayout.<init>(CellLayout.java:48)
    at com.sap.ip.bi.export.model.layout.impl.CellLayout.dub(CellLayout.java:57)
    at com.sap.ip.bi.export.xfa.xftextensions.TableContentIterator.createCell(TableContentIterator.java:170)
    at com.sap.ip.bi.export.xfa.xftextensions.TableContentIterator.next(TableContentIterator.java:104)
    at com.sap.ip.bi.export.xfa.xftextensions.TableSubFormSet.writeXFD(TableSubFormSet.java:1189)
    at com.sap.ip.bi.export.xfa.core.Xft_subform.writeXFD(Xft_subform.java:1604)
    at com.sap.ip.bi.export.xfa.core.Xft_subform.writeXFD(Xft_subform.java:1604)
    at com.sap.ip.bi.export.xfa.core.Xft_template.writeXFD(Xft_template.java:216)
    at com.sap.ip.bi.export.xfa.core.Xft.writeXFD(Xft.java:62)
    at com.sap.ip.bi.export.xfa.impl.Document.writeWidthsAsXmlToStream(Document.java:294)
    2. Message:
    No metadata is available for "DISABLE_NAVIGATION":
    <parameterList>
      <param name="BI_COMMAND_TYPE" value="OPEN_DIALOG_DISABLE_NAVIGATION"/>
      <param name="TARGET_DIALOG_REF" value="DISABLE_NAVIGATION"/>
    </parameterList>
    In this window, complete screen of report is displayed as an image instead of PDF.
    Please let me know if anybody faced similar issue earlier.
    It was working perfect earlier, but suddenly error started.
    regards
    Kedar Kulkarni

    No proper findings, but issue resolved.
    Problem i found that we got a domain change and service values were not refreshed until we apply new patch.
    So when we applied patch level 6 on BI WEBAPP& BI BASE S URL for ADS got refreshed and we faced the issue.
    After resetting the URL to new domain problem got resolved.
    Regards
    Kedar Kulkarni

  • How to parse a HTML file using HTML parser in J2SE?

    I want to parse an HTML file using HTML parser. Can any body help me by providing a sample code to parse the HTML file?
    Thanks nad Cheers,
    Amaresh

    What HTML parser and what does "parsing" mean to you?

  • Parsing error in file C:\Program Files (x86)\HP\D​igital Imaging\bi​n\hpqscloc​\1033-xml

    Spoiler (Highlight to read)
    I have a HP Photosmart Premium C310a All-In-One I can not open solution center get the message I wrote as a subjekt.I´ve tried a lot of methods I´m 75 years old and I´m tired of this problem!    I´ve got 2 computers one HPdv5009 with W.XP Home Edition and it works free from problem The solution center opens up without any problem but on the other HP dv7 with W.7 Home Premium 64 Solution center did not like my order to open up! Parsing error in file etc. That is the answer I got!
     Please Help Me anybody!
    This question was solved.
    View Solution.

    Hello-
    I have included a link where the issue has been resolved. Look for the file that is in grreen_apple's post. (attachment)
    http://h30434.www3.hp.com/t5/Scanning-Faxing-and-C​opying/Parsing-error-in-file-c-Program-Files-HP-Di​...
    Also, remember a click on the Kudos star to the left is a quick "Thanks" for a helpful post.
    Please select the "Accept as Solution" button on the post that best answers your question.
    I appreciate your input !
    Thank You,
    Donald

  • Parsing error in file C:\Program Files (x86)\HP\Digital Imaging\bin\hpqscloc\1033.xml

    The HP Solution Centre has disappeared from my toolbar and we I attempt to open it with the program file I receive the above error

    Hi ... I have the same kind of error message:
    Parsing error in file C:\Program Files (x86)\HP\Digital Imaging\bin\hpqscloc\1033.xml
    Have been searching for a solution, using different sort of key words, no luck so far.
    Anyone here? Many thanks in advance.

  • Can someone help me with a problem of parsing an XML file?

    Hello,
    I'm having some problems parsing an xml file. I get a SAXNotSupportedException when setting a property value.
    Here is the piece of code where I have the problem:
    SAXParserFactory spf = SAXParserFactory.newInstance();
    spf.setNamespaceAware(true);
    SAXParser saxParser = spf.newSAXParser();
    XMLReader xmlReader = saxParser.getXMLReader();
    DefaultHandler defHandler = new DefaultHandler();
    xmlReader.setProperty("http://xml.org/sax/properties/lexical-handler", defHandler);
    and the log is:
    Problem with the parser org.xml.sax.SAXNotSupportedException: PAR012 For propertyID "http://xml.org/sax/properties/lexical-handler", the value "org.xml.sax.helpers.DefaultHandler@4ff4f74a" cannot be cast to LexicalHandler.
    http://xml.org/sax/properties/lexical-handler org.xml.sax.helpers.DefaultHandler@4ff4f74a LexicalHandler
    I've been working on this problem but I can't find the error.
    Does anyone have an idea of what to do to solve it?
    Thanx in advance,
    M@G

    before deciding which XML technology to use, you should see if your application fit in the category below:
    use SAX:
    1. The XML file is rather large (30 or 40+ MB)
    2. I don't need the xml document in memory. I will parse the document and store the data in my own object.
    use DOM or JDOM
    1. The XML file is relatively small (less than 30 MB) or I can increase the runtime memory for larger xml file.
    2. I will need to walk up and down the xml document tree severals time.
    3. My application is in Java and it's not going to be rewritten in C++, etc (use JDOM)
    NOTE:
    JDOM is rather easier to use (for Java developer), but it's not an www.org.com standardlized xml parser.
    personally, i like JDOM for traversing the DOM.

  • Parsing of xml file in oracle stored procedure on linux server

    We have an XML file in the "/database/stats/dev/xml1/" path and tried to parse the file using the below code :
    p := xmlparser.newParser;
    xmlparser.setValidationMode(p, FALSE);
    -- xmlparser.setErrorLog(p, errfile);
    xmlparser.setBaseDir(p, dir);
    xmlparser.parse(p, inpfile);
    doc := xmlparser.getDocument(p);
    xmlparser.freeParser(p);
    The above procedure is throwing below mentioned exception at "xmlparser.parse(p, inpfile);".
    SQLCODE: ORA-31001
    SQLERRM: ORA-31001: Invalid resource handle or path name "/xml1.dtd"
    The xml file contains the following line, which is giving an error, while parsing the xml file.
    <!DOCTYPE CCIOrder SYSTEM "xml1.dtd">
    Directory Structure:
    OWNER DIRECTORY_NAME DIRECTORY_PATH
    SYS XML1 /database/stats/dev/xml1

    you'll need to use server-side code to check the xml file names in that folder, return that list to flash and display the list to the user.
    or, if you can get by presenting a hard-coded list of xml files, you won't need any server-side coding.

  • How to Parse an XML file using SAXParser in java.

    Hi all
    Am a bit new to XML files and have no idea about SAXParsers ... Now my problem is to parse this XML file below
    <?xml version="1.0" encoding="UTF-8"?>
    <sc:memory_segmentation xmlns:sc="sc_memory_segmentation.xsd">
       <sc:architecture name="MPC55xx"></sc:architecture>
       <sc:derivative name=""></sc:derivative>
       <sc:configuration name=""></sc:configuration>
       <sc:memory name="Internal ROM" type="ROM">
          <sc:area-list>
             <sc:area name="Bootmanager" type="BOOTMANAGER">
                 <sc:segment-list>
                   <sc:segment name="ROM page 1">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                 </sc:segment-list>
             </sc:area>
             <sc:area name="Bootloader SWE" type="BOOTLOADER">
                 <sc:segment-list>
                   <sc:segment name="ROM page 2">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                   <sc:segment name="ROM page 3">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                </sc:segment-list>
             </sc:area>
             <sc:area name="Application SWE 1" type="APPLICATION">
                <sc:segment-list>
                   <sc:segment name="ROM page 4">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                   <sc:segment name="ROM page 5">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                   <sc:segment name="ROM page 6">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                   <sc:segment name="ROM page 7">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                </sc:segment-list>
             </sc:area>
             <sc:area name="Application SWE 2" type="APPLICATION">
                <sc:segment-list>
                   <sc:segment name="ROM page 8">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                </sc:segment-list>
             </sc:area>
             <sc:area name="Application SWE 3" type="APPLICATION">
                <sc:segment-list>
                   <sc:segment name="ROM page 9">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                </sc:segment-list>
             </sc:area>
             <sc:area name="Application SWE 4" type="APPLICATION">
                <sc:segment-list>
                   <sc:segment name="ROM page 10">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                </sc:segment-list>
             </sc:area>
          </sc:area-list>
       </sc:memory>
       <sc:memory name="Internal RAM" type="RAM">
          <sc:area-list>
             <sc:area name="RAM" type="RAM">
                <sc:segment-list>
                   <sc:segment name="RAM page 1">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                   <sc:segment name="RAM page 2">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                   <sc:segment name="RAM page 3">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                   <sc:segment name="RAM page 4">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                   <sc:segment name="RAM page 5">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                </sc:segment-list>
             </sc:area>
          </sc:area-list>
       </sc:memory>
       <sc:memory name="Internal EEPROM" type="EEPROM">
          <sc:area-list>
             <sc:area name="EEPROM" type="EEPROM">
                <sc:segment-list>
                   <sc:segment name="EEPROM page 1">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                   <sc:segment name="EEPROM page 2">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                   <sc:segment name="EEPROM page 3">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                   <sc:segment name="EEPROM page 4">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                   <sc:segment name="EEPROM page 5">
                      <sc:start></sc:start>
                      <sc:end></sc:end>
                   </sc:segment>
                </sc:segment-list>
             </sc:area>
          </sc:area-list>
       </sc:memory>
    </sc:memory_segmentation> And from this file I need to make 3 Hashtables out of it one for ROM , RAM and EEPROM containg Segment information i.e. Segment start and end addresses and Area type of the segment....
    If anyone could at least guide me with the basic commands and structure of the parser it would be really really great ...
    Thanks a lot
    Anisha

    Normally if you have no idea about X, the first thing you should do is google "X tutorial". You will find plenty of them out there. And the advantage is, they are better written than whatever we spend two minutes throwing together here. Not to mention that it saves us the two minutes.
    But if you have specific questions with your SAX parser when you get it going, then ask them here. Actually, ask them in the XML forum here, not this one.

  • Parsing an XML file

    I've written a program which is partly responsible for parsing an XML file that can be found on the web. I appear to be accessing the XML file correctly, but when I try to parse it I am running into a problem. I try to create a List object that contains all of the children of the root element. The code looks like this:
    Document doc = parser.build(xmlFile);
    Element root = doc.getRootElement();
    List rootChildren = root.getChildren();But I get an error that say that "the type List is ambiguous". I am importing java.util.*. I am trying to do this exactly like a few examples I found on the web, but I can't seem to get past this issue. What do I need to keep Eclipse from telling me that List is not an ambiguous type.

    Maybe you haveimport java.util.*;
    import java.awt.*;Both packages contains a List class.
    In that case, the compiler doesn't know which one you're talking about.
    If you don't need the java.awt.List class here, try not to import it.
    If you need it, use the fully qualified class name in your code.

  • Parsing an xml file using xerces DOM  parser

    Hi
    I want to parse a simple xml file using DOM parser.
    The file is
    <Item>
         <SubItem>
              <title>SubItem0</title>
              <attr1>0</attr1>
              <attr2>0</attr2>
              <attr3>0</attr3>
         </SubItem>
         <SubItem>
              <title>SubItem1</title>
              <attr1>1</attr1>
              <attr2>0</attr2>
              <attr3>0</attr3>
         </SubItem>
         <SubItem>
              <title>SubItem2</title>
              <attr1>1</attr1>
              <attr2>1</attr2>
              <attr3>0</attr3>
              <SubItem>
                   <title>SubItem20</title>
                   <attr1>2</attr1>
                   <attr2>1</attr2>
                   <attr3>0</attr3>
              </SubItem>
              <SubItem>
                   <title>SubItem21</title>
                   <attr1>1</attr1>
                   <attr2>1</attr2>
                   <attr3>0</attr3>
              </SubItem>
         </SubItem>
    </Item>
    I just want to parse this file and want to store the values in desired datastructures,
    I am trying using DOM parser, since it gives a tree structure, which is ok in this case.
    public void init()
              InputReader ir     =new InputReader("Habsys");
              Document      doc     =ir.read("Habitat");
              System.out.println(doc);
              traverse(doc);
    private void traverse(Document idoc)
              NodeList lchildren=idoc.getElementsByTagName("SubItem");
              for(int i=0;i<lchildren.getLength();i++)
                   String lgstr=lchildren.item(i).getNodeName();
                   if(lgstr.equals("SubItem"))
                        traverse(lchildren.item(i));
    private void traverse (Node node) {
    int type = node.getNodeType();
    if (type == Node.ELEMENT_NODE)
    System.out.println ("Name :"+node.getNodeName());
    if(!node.hasChildNodes())
    System.out.println ("Value :"+node.getNodeValue());
    NodeList children = node.getChildNodes();
    if (children != null) {
    for (int i=0; i< children.getLength(); i++)
    traverse (children.item(i));
    But I am not getting required results, a lot of values I am getting as null
    Could anybody tell me how to retrieve the data from the xml file, I simply want to read data and store it in data structures. For eg, for tag Subitem with title as ' SubItem1' has attr1 as '1', attr2 as'0' and attr3 as '0'.
    Thanks
    Gaurav

    Check This Sample Code....
    public void amethod(){
    DocumentBuilderFactory dbf = null;
    DocumentBuilder docBuilder = null;
    Document doc = null;
    try{
         dbf = DocumentBuilderFactory.newInstance();
         db = dbf.newDocumentBuilder();
         doc = db.parse(New File("path/to/your/file"));
         Node root = doc.getDocumentElement();
         System.out.println("Root Node = " + root.getNodeName());
         readNode(root);
    }catch(FactoryConfigurationError fce){ fce.printStackTrace();
    }catch(ParserConfigurationException pce){  pce.printStackTrace();
    }catch(IOException ioe){  ioe.printStackTrace();
    }catch(SAXException saxe){  saxe.printStackTrace();
    private void readNode(Node node) {
    System.out.println("Current Node = " + node.getNodeName());
    readAttributes(node);
    readChildren(node);
    private void readAttributes(Node node) {
    if (!node.hasAttributes())
         return;
    System.out.println("Attributes:");
    NamedNodeMap attrNodes = node.getAttributes();
    for (int i=0; i<attrNodes.getLength(); i++) {
    Attr attr = (Attr)attrNodes.item(i);
    System.out.println(attr.getNodeName() + " => " + attr.getNodeValue());
    private void readChildren(Node node) {
    if (!node.hasChildNodes())
         return;
    System.out.println("Value/s:");
    NodeList childNodes = node.getChildNodes();
    for (int i=0; i<childNodes.getLength(); i++) {
    Node child = (Node)childNodes.item(i);
    if (child.getNodeType() == Node.ELEMENT_NODE) {
    readNode(child);
    continue;
    if (child.getNodeType() == Node.TEXT_NODE) {
    if (child.getNodeValue()!=null)
    System.out.println(child.getNodeValue());

  • Parse exisitng xml file and recreate another xml file with different struct

    Is it possible in java using dom parser to parse an exisiting xml file and recreate a new xml file from data obtained by parsing old xml file.
    I checked on old forum threads and everywhere either parsing xml file has been explained or creating new xml file from scratch has been shown.
    Any examples/guidance will be appreciated....

    The general process is:
    Document dom1 = ... // the parsed document
    Document dom2 = ... // new document constructed on the fly
    Node nD1 = ... // some random node found in dom1
    // copy the node from dom1 and associate with dom2
    Node nD2 = dom2.importNode(nD1, true);
    // ... treat nD2 as a node which can now be inserted into dom2 ...
    Node otherD2 =  ... // some other node already in dom2
    otherD2.appendChild(nD2);Note, in this example the nD1 node is copied (including any sub-nodes) into a new node, nD2. You can alternately move the node from one Document to another using Document.adoptNode(), however this may fail (see the javadoc).

  • Parsing a XML file using Jdom-Problem.

    Hi all,
    I am reposting it as I was told to format the code and send it again.
    I am trying to parse a xml file using a jdom java code.This code works fine if I remove xmlns attribute in the root element. (I get the expected result) .If the "xmlns" attribute is put in the xml as it should be then the parsing and retrieving returns null. Please tell me how to fix this issue.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Xml
    <process name="CreateKBEntryService" targetNamespace="http://serena.com/CreateKBEntryService" suppressJoinFailure="yes" xmlns:tns="http://serena.com/CreateKBEntryService" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:nsxml0="http://localhost:8080/axis/services/CreateKBEntryService" xmlns:nsxml1="http://DefaultNamespace" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    <partnerLinks>
    <partnerLink name="client" partnerLinkType="tns:CreateKBEntryService" myRole="CreateKBEntryServiceProvider"/>
    <partnerLink name="CreateKBEntryPartnerLink" partnerLinkType="nsxml0:CreateKBEntryLink" partnerRole="CreateKBEntryProvider"/>
    </partnerLinks>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
    Java:
    import java.io.*;
    import java.util.*;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.input.SAXBuilder;
    public class sample1 {
    public static void main(String[] args) throws Exception {
    // create a XML parser and read the XML file
    SAXBuilder oBuilder = new SAXBuilder();
    Document oDoc = oBuilder.build(new File("**xml file location**"));
    Element root = oDoc.getRootElement();
    System.out.println(root.getName());
    String tgtns= root.getAttributeValue("targetNamespace");
    System.out.println("tgt ns "+ tgtns);
    List list= root.getChildren("partnerLinks");
    Iterator it1= list.iterator();
    System.out.println("Iterator 1 - "+list.size());
    while(it1.hasNext()){
    Element partnerlinks = (Element)it1.next();
    List list2= partnerlinks.getChildren("partnerLink");
    System.out.println("iterator 2 - "+list2.size());
    }~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Result:
    Without Xmlns in xml file(Expected and correct output)
    process
    tgt ns http://serena.com/CreateKBEntryService
    Iterator 1 - 1//expected and correct result that comes when I remove xmlns attribute from xml
    iterator 2 - 2
    Result with xmlns:
    process
    tgt ns http://serena.com/CreateKBEntryService
    Iterator 1 - 0 //instead of 0 should return 1

    LOL
    This is what you get for working 12 hours straight....
    I changed:
    xmlObject["mydoc"]["modelglue"]["event-handlers"]["event-handler"][i].xmlAttrib utes["name"]<br>
    to:
    #mydoc["modelglue"]["event-handlers"]["event-handler"][i].xmlAttrib utes["name"]#<br>
    xmlObject is the name of my xml object in memory, and then you reference from the root of the xml doc down the chain.
    Sorry for the inconvenience,
    Rich

  • How to parse a XML file

    I am a new learner to XML & JAVA,I dont't know how to parse the XML file using JAXP,Who can tell me,Who can write an Example?
    thx
    Best Regards.

    Using the SAXParser in JAXP the parsing of the XML file is event driven.
    Instantiate the parser:
    SAXParserFactory factory = SAXParserFactory.newInstance();
    SAXParser parser = factory.newSAXParser();
    InputSource is = new InputSource(new FileReader(theXML));call the parse method:
    parser.parse(is, this);The following events are fired as the parser works through the XML public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws org.xml.sax.SAXException
    public void endElement(String namespaceURI, String localName, String qName) throws org.xml.sax.SAXException
    characters(char[] ch, int start, int length)etc.
    You write what you want within each of these sections to handle the structure of your data. Keep in mind SAX is useful only when you know the structure of your XML.

  • Can Document Builder parse an XML file from a URL?

    Warning: Java newbie here...
    My problem is that I am able to parse an XML file if it is copied into my project, but not if it is a full URL. Here is what I got so far, that works.
    import java.io.*;
    import java.net.*;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    try {
        File file = new File("path/to/file.xml");
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document doc = db.parse(file);
        doc.getDocumentElement().normalize();
        NodeList nodeLst = doc.getElementsByTagName("Names");
        for (int s = 0; s < nodeLst.getLength(); s++) {
            Node parentNode = nodeLst.item(s);
            if (parentNode.getNodeType() == Node.ELEMENT_NODE) {
                Element parentElmnt = (Element) parentNode;
                NodeList nameElmntLst = parentElmnt.getElementsByTagName("Name");
                //etc.
    } catch (Exception e){
        e.printStackTrace();
    }So building off of this I have tried to parse an input stream like this:
    URL url = new URL("http://example.com/file.xml");
    InputStream is = url.getInputStream();
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document doc = db.parse(is);which gives me the following error
    [Fatal Error] :-1:-1: Premature end of file.
    LOG: HME receiver connected
    org.xml.sax.SAXParseException: Premature end of file.
    I also even tried to write the file locally like this:
    URL url = new URL("http://example.com/file.xml");
    HttpURLConnection urlcon = (HttpURLConnection) url.openConnection();
    urlcon.connect();
    InputStream is = urlcon.getInputStream();
    File file = new File("path/to/file.xml");
    OutputStream out = new FileOutputStream(file);
    byte buf[] = new byte[1024];
    int len;
    while((len=is.read(buf))>0)
        out.write(buf,0,len);
    out.close();
    is.close();
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document doc = db.parse(file);This gives the same error.
    If anyone can point me in the right direction I would forever thankful. I've tried search Google and the Sun forums, but haven't quite found the solution. I think it is because I need to try something else completely. Thank you for reading.
    ~~~~ Jeremy

    jmose wrote:
    If I copy the page, it works as shown in the first code block. In the third codeblock the file is never even created, so I cannot tell if that works or not.So: having the parser access the URL fails, and having some other Java code access the URL also fails in the identical way? That suggests the problem is simply accessing the URL via Java code. Presumably when you downloaded the data from the URL, you used a browser to do it and not wget or something like that?

  • [SOLVED] Parsing simple config files in pure bash

    Hi everyone,
    I'd like to implement a bash function to parse a simple config file for a script I've wrote. The conifg file contains different sections for different scenarios. Here's an example how it should look like:
    # configuration file
    # global settings
    global {
    DATE_PREFIX="-I"
    SSHFS_OPTS="-C"
    EXT_FULL="full"
    EXT_DIFF="diff"
    EXT_CATALOGUE="catalogue"
    DAR_OPTS="-v -m 256 -y -s 600M -D"
    DAR_NOCOMPR="-Z '*.gz' -Z '*.bz2' -Z '*.zip' -Z '*.png'"
    # system settings
    system {
    DAR_OPTS="-v -m 256 -y -s 200M -D"
    It contains some settings which are global for the whole script and special settings groups which can be used to overwrite global settings.
    The function to parse this config file looks as follows:
    #!/bin/sh
    CONFIG="/home/chi/.daruprc"
    function readconf() {
    match=0
    while read line; do
    # skip comments
    [[ ${line:0:1} == "#" ]] && continue
    # still no match? lets check again
    if [ $match == 0 ]; then
    # do we have an open tag ?
    if [[ ${line:$((${#line}-1))} == "{" ]]; then
    # strip "{"
    group=${line:0:$((${#line}-1))}
    # do we have a match ?
    if [[ ${group} -eq $1 ]]; then
    match=1
    continue
    fi
    continue
    fi
    # found close tag but still no match - continue
    elif [[ ${line:0} == "}" && $match == 0 ]]; then
    continue
    # found close tag after config was read - exit loop
    elif [[ ${line:0} == "}" && $match == 1 ]]; then
    break
    # got a config line return it
    else
    echo $line
    fi
    done < "$CONFIG"
    for line in $(readconf "system"); do
    echo $line
    done
    As you can see I try to just echo the lines at the moment. And here's the problem: It seems I have some " escape issues, if I run it I get the following output:
    ./parseconfig.sh
    DATE_PREFIX="-I"
    SSHFS_OPTS="-C"
    EXT_FULL="full"
    EXT_DIFF="diff"
    EXT_CATALOGUE="catalogue"
    DAR_OPTS="-v
    -m
    256
    -y
    -s
    600M
    -D"
    DAR_NOCOMPR="-Z
    '*.gz'
    -Z
    '*.bz2'
    -Z
    '*.zip'
    -Z
    '*.png'"
    As you can see there are way to much newlines - which leads to problems when I try to use "eval" to initialize the variables.
    I am sure I am missing something simple here, however I am looking for a solution for a few days now - maybe one of the bash gurus on this board can enlighten me ;-).
    Thanks in advance
    PS.: I am trying to do this in pure bash because the script also needs to run on embedded machines with very low memory like my router on which I don't have sed or awk or the like. I also know that I could for example just use different config files to circumvent the whole parsing - but I am just curious if this could work the way I like ;-).
    Last edited by chimeric (2007-11-04 23:20:58)

    chimeric wrote:
    Hi MrWeatherbee,
    well yes, but I want to assign (eval) these lines to get variables out of them. Since the while loop is trapped in its' own subshell I need to return the lines into the parent one to be able to make these variables "visible" in the script itself.
    Right. But I was trying to show you that the way you were going about it wouldn't work at a very fundamental level.
    Without changing too much code just for a quick and dirty demo,
    change:
    # got a config line return it
    else
    echo $line
    fi
    done < "$CONFIG"
    # got a config line return it
    else
    line_array=( "${line_array[@]}" "$line" )
    fi
    done < "$CONFIG"
    numarrayelements=${#line_array[@]}
    and then in the main program code, do this:
    readconf "system"
    for index in $( seq $numarrayelements ); do
    line=${line_array[(($index-1))]}
    echo $line
    done
    Using an array to collect the good lines from the function allows you to reuse them later for whatever purpose. Although other ways exist, you certainly don't want to do what you originally did.
    Edit:
    I posted the code with an incorrectly referenced variable and had to fix it.
    Last edited by MrWeatherbee (2007-11-04 22:46:34)

Maybe you are looking for

  • Firefox crashes on start, even after complete reinstallation. No add-ons.

    Every time I open FF, it completely freezes within 5 seconds. I've uninstalled & reinstalled, I've removed FF & all traces of its data using Revo uninstaller, then reinstalled, and still get the same results. I've seen where malware could cause this

  • HT1719 Can I sync my apple iPod shuffle to a i apple iPad mini???

    Can I sync my wife iPod shuffle to a iPad min. ( which I am thinking of buying for Xmas)???

  • Help! My iPhone won't turn on :'(

    I was uploading to Facebook and left my phone to complete the upload, when i went  to check on it, the iPhone seemed to have turned it's self off? i've tried the on/off button, plugged into the mains to recharge. I've tried to plug it in to iTunes bu

  • VAT compliant

    Hi, I want Some Urgent help from all, Problem is my Clint was not applied any notes regarding VAT,Now they wanted to go for VAT Compliant.so i want list of SAP notes related to VAT(CIN),pls give me list in sequence wise. Thanks in advance, Raghu [ema

  • Regular expression on words with % wildcard

    Hi, I've got some processing working using regular expression where I need to process words e.g. regexp_replace('word1 word2','(\w+)','myprefix{\1}') - results in - 'myprefixword1 myprefixword2' However, if I'm presented with this; '%word0 word1% wo%