SAX parser problem (very odd)

Hi,
I�m trying to parse a XML file using SAX, it worked fine until i test with a larger file(about 12MB), in the characters() implementation, i�m trying to load the value into an object, but the object that comes with the characters()(the value of the element) comes wrong, i mean it comes but comes with less bytes.
explanation:
I make a System.out with the values of the offset and the length of the values of the elements, and most of the values became fine except some values that came with a byte less:
value : blabla , offset : 456 , length : 6
value : blabl , offset : 6662 , length : 5
anyone knows what the hell is going on in this class...
PS: i�ve extend the Class DefaultHandler of org.xml.sax.helpers.DefaultHandler;
PS2: the XML file it�s fine!! The values are OK!!!

From the documentation for the characters method of org.xml.sax.ContentHandler:
"SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks..."

Similar Messages

  • 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

  • Sax parser problem

    hi,
    i am assuming the problem is with sax parser but i cant be sure. I am parsing a xml file (about 1.4MB) with some data in it. the parser i have created reads the xml file correctly for the most part but when at some point the
    "public void characters(char buf[], int offset, int len) throws SAXException"
    function stops working correctly....i.e it doesnt fully read read the data between the "<start>" and "</start>" element. say it reads about 100 id's correctly---for 101 ID it does this. This is just an example. Since, the problem might be with how :
    "public void characters(char buf[], int offset, int len) throws SAXException"
    function is reading the data i was wondering if anybody else had encountered this problem or please let me know if i need to change something in the code: here's a part of the code :
    Bascially i have created three classes to enter data into three mysql tables and as i parse the data i fill up the columns by matching the column header with the tagName.
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.*;
    import java.io.*;
    import java.util.ArrayList;
    import java.lang.Object;
    import org.xml.sax.*;
    import org.xml.sax.helpers.DefaultHandler;
    import java.util.*;
    import javax.xml.parsers.SAXParserFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.parsers.SAXParser;
    public class Echo03 extends DefaultHandler
    StringBuffer textBuffer;
    int issuedValue, prodValue;
    OrdHeader header = new OrdHeader();
    OrdDetail detail = new OrdDetail();
    Member memInfo = new Member();
    //new addition to store the dynamic value of the products
    TestOrdheader prod = new TestOrdheader();
    int counter;
    String tag, newTag;
    SetValue setVal = new SetValue();
    String test;
    public static void main(String argv[])
    if (argv.length != 1) {
    System.err.println("Usage: cmd filename");
    System.exit(1);
    // Use an instance of ourselves as the SAX event handler
    DefaultHandler handler = new Echo03();
    // Use the default (non-validating) parser
    SAXParserFactory factory = SAXParserFactory.newInstance();
    try {
    // Set up output stream
    out = new OutputStreamWriter(System.out, "UTF8");
    // Parse the input
    SAXParser saxParser = factory.newSAXParser();
    saxParser.parse( new File(argv[0]), handler);
    } catch (Throwable t) {
    t.printStackTrace();
    System.exit(0);
    static private Writer out;
    private String indentString = " "; // Amount to indent
    private int indentLevel = 0;
    //===========================================================
    // SAX DocumentHandler methods
    //===========================================================
    public void startDocument()
    throws SAXException
    nl();
    nl();
    emit("START DOCUMENT");
    nl();
    emit("<?xml version='1.0' encoding='UTF-8'?>");
    header.assign();
    public void endDocument()
    throws SAXException
    nl(); emit("END DOCUMENT");
    try {
    nl();
    out.flush();
    } catch (IOException e) {
    throw new SAXException("I/O error", e);
    public void startElement(String namespaceURI,
    String lName, // local name
    String qName, // qualified name
    Attributes attrs)
    throws SAXException
    indentLevel++;
    nl(); //emit("ELEMENT: ");
    String eName = lName; // element name
    if ("".equals(eName)) eName = qName; // namespaceAware = false
    if (qName.equals("Billing")){
    issuedValue = 1;
    }else if (qName.equals("Shipping")){
    issuedValue = 2;
    }else if (qName.equals("ShippingTotal")){
    issuedValue = 3;
    //check to see if "Product" is the name of the element thats coming next
    if (qName.equals("Product")){
    if (issuedValue != 3){
    prodValue = 1;
    prod.addCounter();
    }else{
    prodValue = 0;
    tag = eName;
    if (attrs != null) {
    for (int i = 0; i < attrs.getLength(); i++) {
    String aName = attrs.getLocalName(i); // Attr name
    if ("".equals(aName)) aName = attrs.getQName(i);
    nl();
    emit(" ATTR: ");
    emit(aName);
    emit("\t\"");
    emit(attrs.getValue(i));
    emit("\"");
    if (attrs.getLength() > 0) nl();
    public void endElement(String namespaceURI,
    String sName, // simple name
    String qName // qualified name
    throws SAXException
    nl();
    String eName = sName; // element name
    if ("".equals(eName)){
    eName = qName; // not namespaceAware
    if ("Order".equals(eName)){          
    //enter into database
         databaseEnter();
    textBuffer = null;
    indentLevel--;
    public void characters(char buf[], int offset, int len)
    throws SAXException
    nl();
    try {
    String s = new String(buf, offset, len);
    if (!s.trim().equals("")){
    settag(tag, s);
    s = null;
    }catch (NullPointerException E){
    System.out.println("Null pointer Exception:"+E);
    //===========================================================
    // Utility Methods ...
    //===========================================================
    // Wrap I/O exceptions in SAX exceptions, to
    // suit handler signature requirements
    private void emit(String s)
    throws SAXException
    try {
    out.write(s);
    out.flush();
    } catch (IOException e) {
    throw new SAXException("I/O error", e);
    // Start a new line
    // and indent the next line appropriately
    private void nl()
    throws SAXException
    String lineEnd = System.getProperty("line.separator");
    try {
    out.write(lineEnd);
    for (int i=0; i < indentLevel; i++) out.write(indentString);
    } catch (IOException e) {
    throw new SAXException("I/O error", e);
    ===================================================================
    ///User defined methods
    ===================================================================
    private String strsplit(String splitstr){
    String delimiter = new String("=");
    String[] value = splitstr.split(delimiter);
    value[1] = value[1].replace(':', ' ');
    return value[1];
    public void settag(String tag, String s){         
    String pp_transid = null, pp_respmsg = null,pp_authid = null, pp_avs = null, pp_avszip = null;
    if ((tag.equals("OrderDate")) || (tag.equals("OrderProcessingInfo"))){
    if (tag.equals("OrderDate")){
    StringTokenizer st = new StringTokenizer(s);
    String orddate = st.nextToken();
    String ordtime = st.nextToken();
    header.put("ordDate", orddate);
    header.put("ordTime", ordtime);
    }else if (tag.equals("OrderProcessingInfo")){
    StringTokenizer st1 = new StringTokenizer(s);
    int tokenCount = 1;
    while (tokenCount <= st1.countTokens()){
    switch(tokenCount){
    case 1:
    String extra = st1.nextToken();
    break;
    case 2:
    String Opp_transid = st1.nextToken();
    pp_transid = strsplit(Opp_transid);
    break;
    case 3:
    String Opp_respmsg = st1.nextToken();
    pp_respmsg = strsplit(Opp_respmsg);
    break;
    case 4:
    String Opp_authid = st1.nextToken();
    pp_authid = strsplit(Opp_authid);
    break;
    case 5:
    String Opp_avs = st1.nextToken();
    pp_avs = strsplit(Opp_avs);
    break;
    case 6:
    String Opp_avszip = st1.nextToken();
    pp_avszip = strsplit(Opp_avszip);
    break;
    tokenCount++;
    header.put("pp_transid", pp_transid);
    header.put("pp_respmsg", pp_respmsg);
    header.put("pp_authid", pp_authid);
    header.put("pp_avs", pp_avs);
    header.put("pp_avszip", pp_avszip);
    }else{
    newTag = new String(setVal.set_name(tag, issuedValue));
    header.put(newTag, s);
    //detail.put(newTag, s);
    prod.put(newTag, s);
    memInfo.put(newTag,s);
    //Check to see-- if we should add this product to the database or not
    boolean check = prod.checkValid(newTag, prodValue);
    if (check){
    prod.addValues(s);
    setVal.clearMod();
    ==================================================================
    Here's the error that i get:
    java.util.NoSuchElementException
    at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:691)
    at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
    at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:281)
    at Echo03.main(Echo03.java:47)

    I haven't gone through your code but I also had a similar error....and the exception in my was because of an "&" instead of the entity reference & in one of the element values. I use a non-validating parser but if you use a validating one then this might not be the reason for your exception.

  • SAX parsing problem

    Thanks for reading this msg!
    I am using SAX parsing XML , everthing is looks OK but only one I don't get it, one element out put is being splited but all other no problem even same data...
    XML element :
    <item> RO(contains 160 FT)</item>
    after parsing the data is like this: 'RO(c', 'ontains 160 FT)'
    Thanks for your help!

    This is a FAQ, search the forums or look at the API documentation
    http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/ContentHandler.html#characters(char[],%20int,%20int)
    Pete

  • Sax parser problem plz help

    hi !!!!!!!!!!!!
    Im using a SAX parser to parse an xml file im successful in doing it i got tit parse after parising i want the value of a particular tag for example i have a tag as
    <filtername>datasource</filtername>
    i want datasource after parsing the xml and without using DOM concept how do i do it please help

    hi i have a parser for start parsing and for start element
    when im doing this i get the complete xml parsed after the xml is parsed how do i get it i still could not get how to soak the characters .....
    private void startParsing()
              try
                   InputStream instream = getClass().getClassLoader().getResourceAsStream(contextFile);
                   InputSource in = new InputSource(instream);
                   SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
                   XMLReader reader = parser.getXMLReader();
                   reader.setContentHandler(this);
                   reader.parse(in);
              catch(ParserConfigurationException pce)
                   System.out.println(pce);
              catch(SAXException se)
                   System.out.println(se);
              catch(IOException ie)
                   System.out.println(ie);
         public void startElement(String uri,String localName,String qName,Attributes attributes)
              System.out.format("uri : %s localName %s qName %s %n",uri,localName,qName);
    so now i have an attribut but i need content of the opening and closingtag like
    attribute is name
    <name>jack</name>
    im successfull in getting name but now i want jill ....

  • Weird (well for me anyway) SAX parsing problem

    Hi,
    I have to use SAX to parse huge XML files (the biggest is around 8Gb; genomic data) and input into MySQL. I get an IndexOutOfBoundException when I try to parse a perfectly valid string of an element after a few thousands entries.
    Let's say that my string is "G/T". I use split("/") to get the string array and get item[0] and item[1]. The error comes up always when I try to read item[1]. What is the weird part is that if I take out the already read part of the file, it is read perfectly up until a few thousand elements againn with the same error.
    Any insights would be gladly appreciated
    Sylvain Foisy, Ph. D.
    Bio-informatician
    Inflammgen.org
    Montreal Cardiology Institute
    Montreal,Qc

    Hi,
    In the characters() method from DefaultHandler, it seems that every once in a while the string returned is not read in full by the parser. The string returned for this element can only be someting like "G/T". When the parser breaks, I get that "G/" string instead. The logic of the parser goes like this:
    -look for tag OBSERVED;
    -when found, get the string attached to it (something like "G/T");
    -split in two chars: G and T
    -assigned the chars to variables.
    I know that the problem comes from the parser not getting the whole string, just part of it therefore my IndexOutOfBoundException.
    I am looking for a way to for the parser to get the whole string.
    A+
    Sylvain Foisy, Ph. D.
    Bio-informatician
    Inflammgen.org
    Montreal Cardiology Institute
    Montreal,Qc

  • Dictionary problems - very odd

    Problem is on a 6303i
    There is an elderly lady in her 70's who lives in the same building as me.
    The woman is wheelchair bound. Long story short, while she was on her way to the shop, some piece of trash stole her phone from her.
    I had a couple of spare phones. One of which was a 6303i Classic.
    She loves it, as it is simple, has a decent size display, and most importantly, the keys are spaced apart from each other.
    She loves doing crossword puzzles, so I tried installed a dictionary for her.
    For some reason when the application opens, it appears to load correctly, but there is no cursor visible on the screen. Obviously one needs the cursor in order to place it in the "search box" of the application, and then start entering the word one is looking for.
    So for example, say one is searching for the meaning of a word - say the word is "hat".  
    One presses the "h" key (bearing in mind there is no cursor visible & thus you are unable to type the word in the serch box) the words beginning with the letter "h" start appearing.
    Then you enter the letter "a", and so words beginning with the letters "h" & "a" start to appear.
    However, without the use of the search box, one has no idea (or record) as to what letters one has already entered.
    I have tried 3 different dictionary applications on this phone, all have the same problem.
    I load the identical applications onto an ancient and battered 6300 I had lying in a drawer, and all the dictionary applications work as they should. One can move the cursor into the search box, and as one enters the letters of a word in the search box they appear in the search box as they should do.
    The 6303i Classic I gave to her was unused & brand new. It is stock standard with no 3rd party applications at all and functions flawlessly in every area. The problem is related to dictionary applications only.
    What puzzles me, is that the same dictionary apps all work perfectly on the old battered 6300.
    The firmware version on her phone is:
    V 09.83
    21-09-10
    RM-638
    On the old trashed 6300, the version is:
    V 07.21
    05-11-08
    RM-217
    I have attached a screenshot of a similar application which displays the application, with text entered into the search box (the way it is supposed to work).
    Any assistance would be appreciated in helping solve this issue for this lady.
    Solved!
    Go to Solution.
    Attachments:
    dictionary screenshot.jpg ‏42 KB

    See that you have posted elsewhere concerning this issue. Not a solution but installing this application upon my 3720 Classic which is similar Series 40 6th Edition (Initial release) to 6303i and it works perfectly as per screenshot below. I did notice that JAVA application is 1.2MB in size and as some devices have issues if in excess of 1MB might have expected older 6300 to have had such issues but that not the case.
    Happy to have helped forum in a small way with a Support Ratio = 37.0

  • Very Odd WiFi connection problems - plus crashes

    Since Firefox 2.0.0.9 crashed yesterday, I have had very odd problems with my WiFi (Earthlink through an Apple Airport). Network Diagnostics says everything is okay, but Safari can no longer connect to the internet, and after Firefox crashes I can not even send Apple an error report. Yet I can get online with Firefox, as I am now.
    The problem apparently started EITHER when I upgraded to the latest Firefox or when I tried to place an order at <http://www.senacases.com/> (or both). After Firefox crashed multiple times while trying to place an order at <http://www.senacases.com/>, I opened Safari, which would not connect.
    I ran Network Diagnostics which said everything is fine. But Firefox continually crashes trying to place an order at <http://www.senacases.com/>, Safari continues not connecting, Network Diagnostics continues to say everything is fine, and now I can't file an Apple Error Report and trying to connect to some of the library services at Notre Dame (something I have always been able to do before), makes Firefox crash.
    The only other possible symptom I have noticed is that I could not connect to a Late Show video this morning. Otherwise, I can browse the web in Firefox, I can pick up my email with Entourage, etc.
    How do I fix this?

    PS: I once had a similar problem that was fixed by a simple restart.
    I have restarted numerous times now, with no change. My MacBook was off over night.

  • Problem in parsing an XML using SAX parser

    Hai All,
    I have got a problem in parsing an XML using SAX parser.
    I have an XML (sample below) which need to be parsed
    <line-items>
    <item num="1">
         <part-number>PN1234</part-number>
         <quantity uom="ea">10</quantity>
         <lpn>LPN1060</lpn>
         <reference num="1">Line ref 1</reference>
         <reference num="2">Line ref 2</reference>
         <reference num="3">Line ref 3</reference>
    </item>
    <item num="2">
         <part-number>PN1527</part-number>
         <quantity uom="lbs">5</quantity>
         <lpn>LPN2152</lpn>
         <reference num="1">Line ref 1</reference>
         <reference num="2">Line ref 2</reference>
         <reference num="3">Line ref 3</reference>
    </item>
    <item num="n">
    </item>
    </line-items>
    There can be any number of items( 1 to n). I need to parse these
    item values using SAX parser and invoke a stored procedure for
    each item with its
    values(partnumber,qty,lpn,refnum1,refnum2,refnum3).
    Suppose if there are 100 items, i need to invoke the stored
    procedure sp1() 100 times for each item.
    I need to invoke the stored procedure in endDocument() method of
    SAX event handler and not in endelement() method.
    What is the best way to store those values and invoke the stored
    procedure in enddocument() method.
    Any help would br greatly appreciated.
    Thanks in advance
    Pooja.

    VO or ValueObject is a trendy new name for Beans.
    So just create an item class with variables for each of the sub elements.
    <item>
    <part-number>PN1234</part-number>
    <quantity uom="ea">10</quantity>
    <lpn>LPN1060</lpn>
    <reference num="1">Line ref 1</reference>
    <reference num="2">Line ref 2</reference>
    <reference num="3">Line ref 3</reference>
    </item>
    public class ItemVO
    String partNumber;
    int quantity;
    String quantityType;
    String lpn;
    List references = new ArrayList();
    * @return Returns the lpn.
    public String getLpn()
    return this.lpn;
    * @param lpn The lpn to set.
    public void setLpn(String lpn)
    this.lpn = lpn;
    * @return Returns the partNumber.
    public String getPartNumber()
    return this.partNumber;
    * @param partNumber The partNumber to set.
    public void setPartNumber(String partNumber)
    this.partNumber = partNumber;
    * @return Returns the quantity.
    public int getQuantity()
    return this.quantity;
    * @param quantity The quantity to set.
    public void setQuantity(int quantity)
    this.quantity = quantity;
    * @return Returns the quantityType.
    public String getQuantityType()
    return this.quantityType;
    * @param quantityType The quantityType to set.
    public void setQuantityType(String quantityType)
    this.quantityType = quantityType;
    * @return Returns the references.
    public List getReferences()
    return this.references;
    * @param references The references to set.
    public void setReferences(List references)
    this.references = references;

  • Problem in using SAX parser.

    Hai All,
    I have got a problem in using SAX parser.
    My XML looks like this:
    <authorizer>
    <first-name>HP</first-name>
    <last-name>Services</last-name>
    <phone>800-22-1984</phone>
    </authorizer>
    <destination>
    <first-name>John</first-name>
    <last-name>Doe</last-name>
    <company>John Doe Enterprises, Inc.</company>
    <department>Manufacturing</department>
    <phone>800-555-1234</phone>
    <address>
    <street-one>1654 Peachtree Str</street-one>
    <street-two>Suite Y</street-two>
    <city>Atlanta</city>
    <province>GA</province>
    <country>US</country>
    <postal-code>30326</postal-code>
    </address>
    </destination>
    my part of SAX parser code is:
    public void startElement (String name, AttributeList attrs)
    throws SAXException
    accumulator.setLength(0);
    public void characters (char buf [], int offset, int len)
    throws SAXException
    accumulator.append(buf, offset, len);
    public void endElement (String name)
    throws SAXException
    if (name.equals("first-name") )
    firstname=accumulator.toString().trim();
    if (name.equals("last-name"))
    lastname=accumulator.toString().trim();
    My problem is that i have to store the values of first-name and last-name.
    but i have that in both
    <authorizer> </authorizer> Tag and
    <destination> </destination>
    I need to retrive authorizer's firstname,lastname and
    destination's firstname and lastname.
    what i mean is i need to store authorizerFirstName,authorizerLastName
    destinationFirstname and destinationLastname.
    Pls let me know how to do that.
    Thanks in advance.
    Pooja.

    hi pooja,
    I think you are using DataHandler for parsing. Its deprecated. try using contentHandler . You can get the value of the element at the beginning. say for example
    <firstname>sdfs</firstname>
    the startElement will be firstname
    the next method that it invokes will be characters method which has the text associated with the element. I am sending a sample code for your problem. try using it .
    boolean m_boolinAuth = false;
    boolean m_boolinDest = false;
    boolean m_bAuthFName = false;
    boolean m_bAuthLName = false;
    public void startElement(String namespaceURI, String elementName, String qName, Attributes atts)
    //does the logic for startElement
    if(qName.equals("Authorization"))
    m_boolinAuth = true;
    m_boolinDest = false;
    else if(qName.equals("Destination"))
    m_boolinDest = true;
    m_boolinAuth = false;
    if(qName.equals("firstname"))
    m_bFirstName = true;
    if(qName.equals("lastname"))
    m_bLastName = true;
    public void characters(char[] ch, int start, int length)
    //does the logic for characters.
    String str = new String(ch,start,length);
    if(m_bFirstName)
    if(m_boolinAuth)
    m_strAuthFirstName =str;
    else if(m_boolinDest)
    m_strDestFirstName = str;
    m_bFirstName = false;
    if(m_bLastName)
    //same as first name case;
    }

  • SAX Parser and special character problem

    Hi,
    Could anyone help with the following problem?
    Background:
    1. Using a SAX Parser (Oracle Implementation) to read XML from a CLOB, convert this XML to another format to be inserted in the database.
    2. Due to performance issues we parse the input stream from the CLOB.
    3. For same reason, we are not using XSL.
    This is the problem we face:
    1. Values of some of the tags in the XML have special characters (Ex: &, <, >).
    2. While using the SAX Parser, the element handler function for the SAX Parser is called by the frame work with the value of these tags broken up with each of these characters being treated as a tag delimiter.
    Ex: <Description>SomeText_A & SomeText_B</Description>
    is treated as SomeText_A in first call to the handler; SomeText_B in the second call.
    The handler function does not get to see the "&" character.
    Thus, the final conversion is
    Say, <Description> is to be converted to <FreeText>
    we, get <FreeText>SomeText_A</FreeText>
    <FreeText>SomeText_B</FreeText>
    We tried using &; but it then breaks it up into SomeText_A, & and SomeText_B.
    How can we get the whole value for the <Description> tag in the characters() function in the SAXParser so that we can convert it to <FreeText>SomeText_A & SomeText_B</FreeText>.
    Thanks in advance..
    Chirdeep.

    We already tried that..looks like the line where I mentioned that it converted the entity referece characters to an ampersand..
    "We tried using <entity reference for &> but it then breaks it up into SomeText_A, & and SomeText_B."
    null

  • Problem with sax parser

    Hello..
    I have the following problem. When I parse an xml document with blank spaces and numbers with decimals, its sometimes comes out as one string and sometimes as two, for example "First A" sometimes comes out as "First" and "A" and sometimes as "First A", which is how its stored in the xml file. Same with numbers like 19.20. Im enclosing a little of my code..
    public void characters(char buf[], int offset, int len)
    throws SAXException
    if (textBuffer != null) {
    SaveString = ""+textBuffer;
    if(i>-1)
    numbers = SaveString;
    Whats wrong and how do I fix it.
    Best Regards Dan
    PS I have more code, in data and out data if needed.Ds

    Hello,
    I do not know if this is your problem, yet please find hereafter an excerpt of the SAX API:
    public void characters(char[] ch,
                           int start,
                           int length)
                    throws SAXException
    ... SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks;...
    ... Note that some parsers will report whitespace in element content using the ignorableWhitespace method rather than this one (validating parsers must do so)...
    In other words, I am afraid that your issue is the "standard behaviour" of a SAX parser.
    I hope it helps.

  • A very odd OS problem

    I've encountered a very odd problem with a computer at work. It's a G4 733 mhz, running os 9.1.0, and at my insistence, my boss has agreed to let me install os X, but only on an external drive. Right now this thing has all kinds of weird going on. First off, it never remembers the startup disk, it always starts up with a question mark for a minute before finding the internal os 9.1 disk. (This is an old problem, not a result of my attempt to install os x.) It starts up off the tiger disk fine, but it won't recognize the firewire disk as the start up disk. (In OS 9's startup disk control panel it will see the the folder, and it lets you select it, but it always reverts to the internal drive with OS 9 on restart. Same thing when selecting it with the startup disk options from the OS X Install Disk.) To make things weirder, holding down option on startup lets me see the CD System folder, and the OS 9 System folder, but not the firewire drive. I hooked the same drive up to my laptop, and booted up off the drive fine. I tried giving the PRAM a zap just for fun , and then it didn't see anything till I started up off the CD and told it to startup in OS 9. My mind is boggled, anyone have any idea what this is a symptem of?

    Hi, Geoff -
    OS 9.1 can be used as Classic with OSX, although OS 9.2.x provides better compatibility in that mode.
    However, the original OS 9.1 installs (whether from a CD or the result of a download update) have an issue - the version of Startup Disk control panel that comes with OS 9.1 and earlier can not recognize OSX as a viable Boot OS, hence will not make it available for selection. The solution for that is to update the OS to 9.2.x, or at least update just that control panel. There is a specific download available for just the control panel -
    Startup Disk 9.2.1 Document and Software
    There may be another problem. You stated -
        I hooked the same drive up to my laptop, and booted up off the drive fine.
    That would indicate that the install of the OS on the firewire drive may have been done when it was connected to the laptop. If that was the case, it may not be suitable to boot a different model, such as your G4/733.
    Most OS installs are specific to the hardware of the machine whose boot OS is running the installer. There is a way to do a universal (boot any Mac) install of OS 9.x, but I don't know if there is a way to do that with OSX.
        To make things weirder, holding down option on startup lets me see the CD System folder, and the OS 9 System folder, but not the firewire drive.
    Booting up using Startup Manager (which is what appears when you hold down the Option key during boot) will display only those OS's valid for that particular machine, and only one OS per volume (volume = an unpartitioned drive or disk, or the partition of a partitioned drive or disk).
    Sometimes Startup Manager does not 'see' all bootable volumes immediately; clicking the Rescan button (the round arrow) will make it recheck all buses for a bootable volume.
    First off, it never remembers the startup disk, it always starts up with a question mark for a minute before finding the internal os 9.1 disk.
    This could be indicative of a weak or dead internal battery. Since your G4/733 is running a version of OS 9.1 it must be a Digital Audio model (the G4/733 QuickSilver models originally came with OS 9.2, and can not use any version of OS 9.1); this means it is about 5 years old now, which is about all that can be expected from an internal battery even if the Mac is left connected to live power when it is shut down.
    When the battery is too weak or dead the Mac will not remember PRAM settings between boots or restarts, and may have difficulty booting to some drives (particularly to external ones).
    Suggest you replace that battery - you can get one at places like Radio Shack for about US$15, cheaper on-line.

  • I've a problem with errors message in the sax parser

    Hello,
    I'm quite new to Java.
    I'm trying to create a SAX parser for my XML file, with a XML schema.
    When my pars run a XML file, the following mistakes go out:
    1)org.sax.SAXParseException:s4s-elt-must-match: the content of 'restriction' must match (annotation?,.....)
    2)org.sax.SAXParseException: src-ct.0.1:Complex Type Definition Rappresentation Error for type..... Element 'sequence' is invalid,misplaced or occurs to often
    but I don't understand where I must go in the schema to correct.
    Many thanks!

    Hi,
    Perhaps it would help if you post your XML file.

  • XDK for C - SAX Parser Memory Problem

    Hi,
    I'm using the SAX Parser with custom Callbacks with XDK for C - version : Oracle XML Parser 9.2.0.6.0.
    i'm parsing a single large XML file using the custom callbacks.
    The issue i'm facing that the SAX Parser does not release any memory till complete parsing is over for the whole document(until xmlterm is called). This causes the parser to fail with LPX-00002 : OUT OF MEMORY error before the document parsing is complete.
    I tried using custom memory callbacks but what i noticed is that the parser does not invoke the free Memory callback untill xmlterm is invoked.
    If anybody has found an alternative to allow memory to be freed while SAX parsing is going on pls help me too.
    Regards,
    Vineet Mago

    Can you send the test case?

Maybe you are looking for

  • Create a New DB in Oracle 10g Express

    Dear experts I have downloaded and installed oracle 10g express on windows 2000 Professional System. Now i would like to create a database called AcmeInc and in that database object i want to create tables and relationship. Can anyone please tell how

  • On certain websites, e.g. Craigslist, some portions of the window overlay other portions. How do I fix this?

    Most websites view correctly, however there are a few which show portions of site overlaying other portions. E.g., on Craigslist, when I view a category page such as "for sale-auto parts", the heading "auto parts" is partially over the "search for" b

  • Installing Int  Pio DVR-110 Drive -recognition/bootability ?s

    Visiting mother in WY. Her CD has not worked in long tiime. I hooked up Firewire DC ext. drive to boot from for maintenance, etc., but now want to iinstall Tiger and iLife 6 etc. . I'm on vacation and nervous about the installation. Can anyone direct

  • Java.sql.SQLException: Exhausted ResultsetError Code: 17011

    Hello, I have a class that is mapped to one table with all properties mapped directly to fields. Sometimes during execution of a named query that uses 2 date parameters for the given date range and returns about 1000 records, it fails with Internal E

  • ZfS Sites is empty

    Hello All: Late last week I had to rebuild our main ZfS 7.0 sp1 server running OES sp3. The rebuild went fine and ZfS installed without problems. But I think I have some issues with some the old DS objects. I had left all DS objects alone as I was un