I need help using a SAX parser

Hello,
I have a class that goes out to the web and retrieves an xml document w/o ever writing it to disk. I like to parse that object using SAX and a class that extends HandlerBase. Can any one show me how to parse an xml document that lives in memory rather than in a file? I've found many examples, but all of them assume you are reading from a file system. Any help is greatly appreciated.
Here is the jist of my code :
// Class 1 makes a request to another server based on some variable data. I've created a messenger object that handles all of the communications and returns the data in a DataInputStream
XMLMessage xml = new XMLMessage();
xml.createRequest(args[0],args[1],args[2]);
XMLMessenger messenger = new XMLMessenger(xml.getDoc());
DataInputStream dis = messenger.transferDocument();
ResponseObj resp = new ResponseObj();
resp.read(dis);
System.out.println(resp.getvalue1() + "*" + resp.getvalue2()+ "*");
// Class 2 is the ResponseObj and I want to use something similar to this read method, but
// I can't get it to work with a data stream, instead of a string that represents a file.
public void read(String filename) throws java.lang.Exception {
Class c = Class.forName("com.ibm.xml.parser.SAXDriver");
     org.xml.sax.Parser parser = (org.xml.sax.Parser)c.newInstance();
     parser.setDocumentHandler(this);
     parser.parse(filename);

Thanks for you help. I've modified my read() method to work like this :
org.xml.sax.Parser parser = new com.ibm.xml.parser.SAXDriver();
parser.setDocumentHandler(this);
InputSource is = new InputSource(dis);
parser.parse(is);
This makes sense, but I'm still not getting any thing returned from the startElement(),characters(), or endElement() methods. It reports no errors, it just doesn't happen. Do you have any suggestions on how to debug this? I'm stumped, but really need to get this working.

Similar Messages

  • Need help using Regex to parse street addresses

    Let me start off by stating three things:
    I suck at regex,
    I've googled this and didn't come up with an answer, and
    I'm on ColdFusion 10
    I have a form with an autocomplete input that allows a user to enter street addresses (either in full like "123 Main St, Mayberry" or in part like "123 Main St" or "Main St" or "Main St, Mayberry".  I need to tell if the user has provided a street number or not at the beginning of the value they enter into the input.  I'm trying to test the input value with this code:
    <cfif ReFind("^([0-9]{1-5})",q)>
         <!--- address starts with a number --->
    <cfelse>
         <!--- address doesn't start with a number --->
    </cfelse>
    q is the input value being passed into my code from the autocomplete function.
    x should be either 0 (if the input value doesn't start with a number) or a positive integer (if the input value does start with a number).
    Basically, I just need to know if the input value starts with one to five digits.
    I suppose I could just do something like:
    <cfif Val(q)>
    Am I better off using a regex, and if so, what am I doing wrong with the one I've tried?
    -Carl V.

    Oh man do I feel stupid!  I read the Adobe docs several times, and understood I needed a comma there, but I had a brain fart when I actually typed my code.  Thanks for the minor *headslap*!
    I had tried it without the parantheses before, and had added them when trying to troubleshoot.  I'll remove them from my working code.
    And I will check out your blog series on Regex.
    -Carl V.

  • Encoding error using Oracle SAX Parser, please help

    Hi, All,
    I have problem while I am trying to parse an XML file using Oracle SAX Parser.
    The following is from the trace file:
    java.io.UTFDataFormatException: Invalid UTF8 encoding.
    java.io.UTFDataFormatException: Invalid UTF8 encoding.
    at java.lang.Throwable.&lt;init&gt;(Compiled Code)
    at java.lang.Exception.&lt;init&gt;(Compiled Code)
    at java.io.IOException.&lt;init&gt;(Compiled Code)
    at java.io.UTFDataFormatException.&lt;init&gt;(Compiled Code)
    at oracle.xml.parser.v2.XMLUTF8Reader.checkUTF8Byte(Compiled Code)
    at oracle.xml.parser.v2.XMLUTF8Reader.readUTF8Char(Compiled Code)
    at oracle.xml.parser.v2.XMLUTF8Reader.fillBuffer(Compiled Code)
    at oracle.xml.parser.v2.XMLByteReader.saveBuffer(Compiled Code)
    at oracle.xml.parser.v2.XMLReader.fillBuffer(Compiled Code)
    at oracle.xml.parser.v2.XMLReader.tryRead(Compiled Code)
    at oracle.xml.parser.v2.XMLReader.scanXMLDecl(Compiled Code)
    at oracle.xml.parser.v2.XMLReader.pushXMLReader(Compiled Code)
    at oracle.xml.parser.v2.XMLReader.pushXMLReader(Compiled Code)
    at oracle.xml.parser.v2.XMLParser.parse(Compiled Code)
    at data_loader.main(Compiled Code)
    The XML file is a pure ascii text file, with encoding set to UTF-8.
    I can parse the file correctly on NT, but I got problem when I ran the code on a SUN solaris 2.6 machine.
    The parser version is 9.0.2.
    Thanks in advance.
    Peter

    You are right, I modified the codes and got it to work on Oracle
    But when I did your suggestion:
    <cftransaction>
      <cfstoredproc ...>
      <cfquery>
        SELECT ...
      </cfquery>
    </cftransaction>
    I got the same error as before which is:
    Error Executing Database Query.
    [Macromedia][Oracle JDBC Driver]Unhandled sql type
    But this time it points to the CF callling the str proc using cfprocparam
    Here is how I call the str. proc:
         <CFTRANSACTION>   
              <cfstoredproc procedure="MyReport" datasource="#Trim(application.dsn)#" returncode="True">  
                  <cfprocparam type="In" cfsqltype="CF_SQL_VARCHAR" variable="ins_name" value="#Trim(session.instname)#">
                  <cfprocparam type="In" cfsqltype="CF_SQL_VARCHAR" variable="aca_year" value="#Trim(ayr)#"> <------- POINT TO THIS LINE
              </cfstoredproc>
         </CFTRANSACTION>

  • Using the SAX parser to split up a document to be processed by a DOMParser

    I need to process a potentially large document which could prove too large to be read into memory at once by the DOM parser. The document would look something like..
    (sorry about the formatting - can't use tabs!)
    <Root>
    <Parent>
    <Child>
    <Blah.....................
    </Blah>
    </Child>
    </Parent>
    <Parent>
    <Child.......
    </Child>
    </Parent>
    etc...
    etc...
    </Root>
    The number of Parent elements could potentially be in the thousands. What I would like to do would be to use the SAX parser to read the document and when a Parent element is encountered, write the parent element and all its children to a stream in order that an input source can be created. The input source can then be parsed by a DOM parser. Once complete, the next Parent element encountered by the SAX parser could be passed to the DOM parser and so on until all of the Parent elements have been processed.
    This way I can combine the ease of parsing the document using the DOM parser without having to worry about the overhead on memory.
    Does anyone have any ideas as to the best approach? I could use the SAX parser for the whole thing but the XML is quite complex and lends itself to DOM parsing much more conveniently.

    Can you read the file line by line:
    start the reading at <child>
    pause reading at </child>
    copy the string to a var
    wrap it with respective tags (<?xml<doctype etc...) and parse
    proceed to the next <child>xx</child>
    and repeat till you hit the closing of the file...
    - Ravi

  • Validating xml file against a specific schema using jaxp sax parser

    Hi,
    I would like to validate a soap xml given below
    <?xml version="1.0" encoding="UTF-8"?>
    <Envelope>
         <Body>
              <name>pavan</name>
              <number>123</number>
         </Body>
    </Envelope>
    to validate against the schema of soap from url "http://www.w3.org/2003/05/soap-envelope". I dont want to have this namespace in the xml. How can I validate against the specified schema using jaxp sax parser?
    Please help.
    Thanks,
    T.Pavan kumar

    Any one, please help.

  • I need helping using iAds in my application.

    I need helping using iAds in my application. I currently am not using any storyboards. I am using Sprite builder for my UI.
    I attatched an image ot show all the different file name I have.
    Everyone is being used & they all work fully.
    The "iAdViewController.h & .m" files are just example codes I looked up and was messing with so that my iAd can work.

    I wouldn't even be able to use the Mathscript node in an executable? 
    What I am trying to do is make a user configurable data stream. 
    They tell me how many bytes are in the stream and what parameters they
    want to be put in to it.  Currently I have to make vi's that are
    called dynamicaly to make the parameters.   Then recompile
    the code and send it to them.  This is somewhat of how the config
    file is set up so I know how to make the data.
    Data_Type  foo
    Bytes 30
    parameter_name        
    function           
       byte#          format
    sync              
    foo_sync            
    29               int
    time                              
    foo_time             
    1,2,3,4       double
    If I can't use MathScript to allow the user to make there own functions
    is there another way that I might be able to do this so I do not have
    to recompile the code atleast?  Were I might just be able to make
    the new function and send that to them.
    Any Idea would be great.

  • Re: Beginner needs help using a array of class objects, and quick

    Dear Cynthiaw,
    I just read your Beginner needs help using a array of class objects, and quick of Dec 7, 2006 9:25 PM . I really like your nice example.
    I also want to put a question on the forum and display the source code of my classe in a pretty way as you did : with colors, indentation, ... But how ? In html, I assume. How did you generate the html code of your three classes ? By help of your IDE ? NetBeans ? References ?
    I already posted my question with six source code classes ... in text mode --> Awful : See "Polymorphism did you say ?"
    Is there a way to discard and replace a post (with html source code) in the Sun forum ?
    Thanks for your help.
    Chavada

    chavada wrote:
    Dear Cynthiaw,
    I just read your Beginner needs help using a array of class objects, and quick of Dec 7, 2006 9:25 PM . I really like your nice example.You think she's still around almost a year later?
    I also want to put a question on the forum and display the source code of my classe in a pretty way as you did : with colors, indentation, ... But how ?Just use [code] and [/code] around it, or use the CODE button
    [code]
    public class Foo() {
      * This is the bar method
      public void bar() {
        // do stuff
    }[/code]

  • HT5622 i need help using the icloud it is not making any since to me can some one call me and help me with it please don't try to help me through email i need to talk and listen i don't understand instruction by reading

    i need help using the icloud it is not making any since to me can some one call me and help me with it please don't try to help me through email i need to talk and listen i don't understand instruction by reading.
    <Phone Number Edited by Host>

    You aren't addressing anyone from Apple here.  This is a user forum.
    You might want to call a neaby Apple store to see if they have a free class you could attend.

  • Trying to use XML SAX parser with JDK2 ...

    Hi,
    I'm pretty new to Java.
    I'm trying to write and use java sample using XML SAX parser. I try with XP and XML4J.
    Each time I compile it give me a error message like
    "SAX01.java:23: unreported exception java.lang.Exception; must be caught or declared to be
    thrown
    (new SAX01()).countBooks();
    ^
    Note: SAX01.java uses or overrides a deprecated API.
    Note: Recompile with -deprecation for details.
    1 error"
    For what I found, it seems that "deprecated" mean usage of old classes or methods. What should I do ?
    Wait for the XML parser to be rewrite ? ....
    Thank's
    Constant

    "SAX01.java:23: unreported exception
    java.lang.Exception; must be caught or declared to be
    thrown
    (new SAX01()).countBooks();
    ^Do this
    public static void main(String[] args) throws Exception {
    or do this
         try
                       first part of expression?(new SAX0()).countBooks();
         catch(Exception ex)     
              System.out.println("problem "+ ex);
    Note: SAX01.java uses or overrides a deprecated API.
    Note: Recompile with -deprecation for details.
    1 error"deprecation is just a warning if there are no errors elsewhere in your program it should compile fine, but if you want to find out how to change it do this:
    javac YourClassName.java -deprecation
    then look in the docs for an alternative.

  • Need help using dbms_scheduler to submit an immediate job on the database

    Hi. I need help using dbms_scheduler to submit an immediate job on the database. Essentially I want to issue a one-time call to an Oracle Stored Procedure - this procedure will then send an email. I've never used dbms_scheduler before, but here's what I have so far.
    So my Program is a stored database procedure named 'TTMS.dropperVacationConflict_Notify', but my problem is that I need to pass 3 parameter values to this job each time I run it. This is what I can't figure out. The procedure expects an 'Id' as number(5), begin_dt as a date, and end_dt as a date.
    How do I pass these values when I run my job? Can anyone help?
    begin
        dbms_scheduler.create_program(program_name=> 'PROG_DROPVACCONFLICTS_NOTIFY',
         program_type=> 'STORED_PROCEDURE',
         program_action=> 'TTMS.dropperVacationConflict_Notify',
         number_of_arguments => 3,
         enabled=>true,
         comments=> 'Procedure to notify PCM of a Dropper Vacation Conflict. Pass in Dropper Id, Begin_dt, and End_dt');
    end;
    begin
        dbms_scheduler.create_schedule
        (schedule_name=> 'INTERVAL_EVERY5_MINUTES',
         start_date=> trunc(sysdate)+18/24,
         repeat_interval => 'freq=MINUTELY;interval=5',
         end_date => null
         comments=> 'Runtime: Every day all 5 minutes, forever'
    end;
    begin
        dbms_scheduler.create_job
        (job_name => 'JOB_DROPVACCONFLICTS_NOTIFY',
         program_name => 'PROG_DROPVACCONFLICTS_NOTIFY',
         schedule_name => 'INTERVAL_EVERY5_MINUTES',
         enabled => true,
         auto_drop => true,
         comments => 'Job to notify PCM of Dropper Vacation Conflicts'
    end;
    /And I use this to execute the job as needed...
    begin
        dbms_scheduler.run_job('JOB_DROPVACCONFLICTS_NOTIFY',true);
    end;
    /

    Duplicate Post
    Need help using dbms_scheduler to submit an immediate job on the database

  • Using the SAX Parser

    As I reported in this thread: Carriage Returns in XSLT output I am trying to produce a text output file with each line terminating in cr-lf (using the output from ViewObject.writeXML() passed through the XSLProcessor.processXSL() method to apply a XSLT stylesheet transformation to it), but the cr characters in the stylesheet are being converted to nl characters, so I am ending up with two nl characters at the end of each line.
    I found a 2002 query (here: http://www.xslt.com/html/xsl-list/2002-04/msg00193.html) by someone with the same problem, and a reply by Steve Muench explaining it and stating that the Oracle SAX parser does not have the same problem.
    So my question now is - does the SAX parser still retain cr characters (or is it too now converting them to nl) and if it does, how do I make XSLProcessor.processXSL() use it rather than the default XML parser? Can I do it from within my code, or does it need to be set in some sort of environment variable? We are on version 9.0.5.2 of JDeveloper(10g)

    Repost

  • Need help using Apple Remote Desktop for remote family members

    I am new to ARD and need help. I know there are solutions to do what I am trying to do through LogMeIn and Teamviewer - but I have LogMein right now and the free edtition is going away and I think Teamviewer will do the same sooner or later. I have remote desktop but hadnt used it, so I thought it would be a good thing to implement so I wont have to worry about paying fees for services like LogMein or teamviewer down the road.  Long story short I need to be able to remote help friends and family members with their macs and using applications, mostly through screen sharing and control and file sharing. All of the folks id like to help have home ( not business style ) internet service whith DHCP and non-static IP's.  I have set this up for myselft to test it and I can be at work and search my homes IP address and I can see all the macs with ARD on them and it all works perfectly.  I have a mac mini running Lion Server so the ports are forwarded to that server at my home - this is the only think I can think of that is making my home work and my friends not.  But when I try to help my friends and family after I type in their IP and it scans it sees their computer - ( it shows a grayed out icon and their IP ) but nothing else.  I cannot control or screen share. It says it cannot verify.  I helped my friends put the ARD client ( most up to date client ) on their macs as well.  I was hoping that using ARD would mean not haivng to set up my friends and family's routers for port fowarding and all those details.  Is there anything I can do using ARD to be able to type in my friends IP address have it scan and then see all their MACS at their home and pick the one that needs attention/ help, without port forwarding or heavy set up ?  I guess the root question here is how or what is best way to set up ARD to be used to help people remotley when they are all home users as well, no port forwarding, no static-IP, that kinda thing.
    Any help is appreciated - Im trying to use ARD and not a 3rd party app since im afraid even if they are free now they wont stay that way. Please let me know throughts and sugesstions ;p)

    I poked around a bit and the file seems to be:
    /Library/Application Support/Macromedia/mms.cfg
    I'd like to get some confirmation from Adobe that this is the correct file to push, though (it seems like it as it only contains this):
    AutoUpdateDisable=0
    SilentAutoUpdateEnable=1

  • Need help using 1440x1080 footage in a SD 4:3 timeline

    Hi Folks,
    I need to use some AVCHD footage in a normal SD 4:3 timeline destined for a dvd. I'm trying to figure out the best workflow. The client provided a usb hard drive with some files extracted from a Sony hdr-sr5. I know the first problem is ingesting these files. I'm on a PPC G5 so I know using the L&T window isn't an option. I have experimented with using Toast to convert the files to ProRes 422 and that seems to work to some degree. I'm probably not doing it correctly because the footage shows up in FCP looking somewhat squished down and with letterbox bars above and below. In Toast the files indicate that they are h.264 1440x1080. When viewing in the Toast Video Player they get 'expanded' to 1920x1080. So I'm not sure why the footage gets letterboxed when converted to ProRes. So I guess that's the first part of the problem.
    The second issue is that I just need to use the center crop of the image in a SD timeline. It's just talking head stuff so there's no problem cropping down. But I'm just not sure I understand the correct procedure for doing that once I have the footage ingested in the proper format.
    I could definitely use some guidance here as the whole AVCHD thing is new to me.
    Thanks,
    Chris

    Can't help with your first question, but create an sd 4:3 timeline. Drop your hd footage into it. It will come in letterboxed. In the motion tab, remove any distortion, scale and position to your liking

  • Need Help using WRT54GL as Wireless Bridge for Xbox

    Hi.
    I need help configuring my WRT54GL as a wireless bridge for my xbox.
    I have a Billion BiPAC 7404VGO currently in service as my main router/modem. i.e. I have my ADSL connection and PC connected to this. I also connect to this with a laptop.
    I have an original xbox at the other end of the house (cat5 NOT an option).
    Basically I want to connect my xbox to the rest of network. I have a WRT54GL I can use for this. I just dont know how to set it up.
    The WRT54GL has Firmware Version: v4.30.7 (out of the box).
    My Wireless network is using WPA.
    I have a VPN setup through to work via the Billion.
    The idea is to stream media from my PC to the xbox (media centre).
    Any help would be HUGELY appreciated.
    Thanks in advance.
    Katman

    A wireless router is a device which requires its own wired internet connection. A wireless router is not a wireless access point like the Linksys WAPs. A wireless router does not connect wireless to other wireless routers/APs with standard Linksys firmware. With Linksys firmware you need a WAP54G or similar. The WAPs support wireless bridging and repeater mode.
    If you already have a WRT54GL then you have to install a 3rd party firmware which adds wireless bridging capabilities. Read the wikipedia article on "WRT54G" for information about which WRT models support 3rd party firmware and an overview of projects and links.
    Remember, however, that you may brick your router if you install a 3rd party firmware incorrectly and you probably void the warranty if you install 3rd party firmware (it is even possible to find out after you restore the original Linksys firmware if you don't clear the NVRAM before).

  • Need help using WEB module in Lightroom 2 for .mac/mobile me accounts

    Hello,
    I need help in finding the Server path information for Lightroom 2.  I am trying to use the Web module of Lightroom and build a website and instead of going through another hosting service, I want to use my Mobile ME account, can't I do that?
    I have the user name and password obviously but what is the server path, protocol, path?
    Help please!
    Thanks
    Ray

    For those Mac Users using iWeb, MobileMe, and Lightroom 2, here are step-by-step instructions on how to create a web gallery in Lightroom, upload the gallery to MobileMe, and finally, how to link the uploaded files to the wesite you created in iWeb.
    1. In the Lightroom Library module, create a collection of photos you want to display in your web gallery.  For illustration purposes, we will call your collection Sunsets.  Once created, it will be listed under Collections in the left panel of Lightroom.
    2. Switch to the Lightroom Web module and select the Sunsets collection (from the panel on the left of the screen.)
    3. Chose whichever template you like (from the list of Templates in the left panel).
    4. Fine tune the appearance of the gallery using the controls in the right hand panel of Lightroom 2.
    5. When you are satisfied with the gallery’s appearance, use your keyboard to type Command-S.  That will save your template settings (give it a unique name when saving).
    6. Open up Finder on your Mac.  Inside your username folder, create a new folder… I'll call it Web Files.  (You can choose any name you like, and locate the file anywhere on your Mac HD.)  You have just created the folder username/Web Files.
    7. Back in the Lightroom Web module, chose Export, at the bottom of the right panel, and export your gallery to the folder you just made (e.g. export to username/Web Files).  By doing so, you will have created /username/Web Files/Sunsets.
    8. Once again open Finder on your Mac.  Go to /username/Web Files/Sunsets and you will see 3 files in the Sunsets folder: bin, index.html, and resources.
    9. Open a second Finder window and in it, click on your iDisk icon.  You will soon see all of the files on your iDisk.
    10. In iDisk, click on the folder called /Web.  You will now see the /Sites folder inside the /Web folder.  I.e., /Web/Sites.
    11. Drag the Sunsets file from your Mac HD to the /Sites folder on your iDisk.  E.g, drag Sunsets from /username/Web Files/Sunsets on your Mac HD to the /Sites folder in iDisk /Web/Sites.  The Sunsets folder (and the three files it contains) will now upload to your iDisk on MobileMe.
    12. Open iWeb on your Mac. Add a new page to your website.  Call it “Galleries,” or anything you like. (You can also use an existing page if you wish.)
    13.  On that “Galleries” web page (or on an existing web page), create a picture icon, or a word, or a symbol, or anything else that you will activate as a hyperlink to your iDisk web files - specifically, you will link it to the Sunsets folder you just uploaded to iDisk.
    14. Activate the hyperlink in iWeb’s Inspector.  In the URL box, type:
    http://web.me.com/username/Sunsets  (Don’t forget to substitute your name for “username” and the name of your gallery for “Sunsets.”)
    15. Save your website in iWeb, and then publish your site.
    You will NOT see your gallery in iWeb – you will see only the link to the gallery that you uploaded to iDisk..  To view your gallery, either make hyperlinks active, using the Inspector in iWeb and click on he link to the gallery, or visit your website on the internet.  If you want to edit your gallery, you will have to do that in Lightroom… then repeat steps 7 – 11.  You cannot edit your gallery in iWeb, but you can use iWeb to change the appearance of the link to your gallery, or to change it’s location within your website.

Maybe you are looking for

  • What are the best dimensions to allow for iPad 3 Retina for full-page landscape images?

    What are the best dimensions to allow for iPad 3 Retina for full-page landscape images? I read an article and cannot find it that said something about trying to make it 2million pixels and JPG to keep it small, but what exactly should the dimensions

  • Flat file upload error message

    Hi Friends I have designed an infocube and when i try to load data after selecting the option of flat file upload, i get the following error message," You have no authorization for basic types(activity 03)". Please clarify what it means. regards kris

  • Connecting iBook 14" G4 to apple 20" display

    Is it possible to connect an ibook 14" G4 to an Apple 20" display? If so what connecting wire do I need? A mini DVI to DVI does not work. Thanks for your help...

  • Constraint Prob -Please help

    Can we check default value while adding constraint in oracle9i like below example is in SQL and doing that. ALTER TABLE dbo.AdjustmentReasons WITH NOCHECK ADD CONSTRAINT DF_AdjustmentReasons_IAdjustmentType DEFAULT (0) FOR IAdjustmentType, CONSTRAINT

  • I can't install the creative cloud I just purchased.

    It will not finish the downloads.  They stop at 42%