Brion, The only problem with that approach is that while I'm currently only testing with xerces and sun I'd like to be able to support any other parser (SAX1 or SAX2) which I might encounter. I should have mentioned this. Thanks for taking the time to reply.
-Jason --- "Swanson, Brion" <[EMAIL PROTECTED]> wrote: > Don't you already have ties to one (or both) of > Xerces and/or Sun? What's > the complication in adding a single method that > creates a Attributes > instance and populates it with the information from > the AttributeList class? > Stick to the interface as much as possible and only > use AttributesImpl to > create the initial Attributes instance. > > Brion Swanson > > -----Original Message----- > From: Jason Rizer [mailto:[EMAIL PROTECTED] > Sent: Tuesday, June 19, 2001 12:17 PM > To: [EMAIL PROTECTED] > Subject: Is there any implementation nuetral way to > create an > Attributes? > > > Hello. I have an SAX Parsing application which I'm > trying to get to work with both xerces and the sun > parser which comes with jaxp1.01. The problem is > that > the sun parser is an SAX1 implementation. As a > result > the class which handles the call back methods must > implement both DocumentHandler (SAX1) and > ContentHandler (SAX2). This isn't so bad really > except that I've run into a problem with > startElement( > ). The signatures differ in the two interfaces so > I've got to implement both versions which are: > > startElement(String, org.xml.sax.AttributeList) - > SAX2 > > startElement(String, String, String, > org.xml.sax.Attributes) - SAX2 > > My application doesn't care about the extra SAX2 > parameters so I don't have a logical problem. I've > currently got things working by including all of the > same code in each version of startElement( ), but > all > of this code duplication is not very appealing to > say > the least. I'd like to do something like this: > > public void > startElement(String name, AttributeList atts) > { > // delegate this to the SAX2 version > startElement( (String) null, (String) null, name, > atts); > } > > but the problem is the AttributeList, Attributes > mismatch. If I could find an implmentation nuetral > way to instantiate an object which implements > Attributes I could go attribute by attribute and > convert my AttributeList to an Attributes and then I > could call the SAX2 version of startElement( ) and > save myself the code duplication. I apologize for > the > long-winded post. Thanks in advance for any > suggestions. > > -Jason > > __________________________________________________ > Do You Yahoo!? > Spot the hottest trends in music, movies, and more. > http://buzz.yahoo.com/ > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > __________________________________________________ Do You Yahoo!? Spot the hottest trends in music, movies, and more. http://buzz.yahoo.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
