[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: SAX: towards a solution
David Megginson wrote: > > James Clark writes: > > > I don't think using java.util.Dictionary is a good idea: > > > > 1. JDK 1.2 provides a new Map interface which replaces Dictionary. > > > > 2. java.util.Dictionary is an abstract base class not an interface. > > > > 3. java.util.dictionary is weakly typed: it doesn't enforce the > > requirement that keys be strings, and it requires values to be cast to > > strings. > > > > I think it would be much better to have an Attributes interface and also > > a convenience adapter class that provides a Dictionary implementation in > > terms of that interface. > > I would like to avoid java.util.Map to keep SAX applet-friendly (it > will be years before most browsers deployed support even 1.1). I agree. We should have an interface specifically for Attributes and implementations of Map and Dictonary on top of that. > I > agree that Dictionary is far less than ideal -- what do you imagine > the attributes interface looking like? /** * An XmlAttributeSet is a set of named attributes each * with a string value. * Both specified and defaulted values are included * and are not distinguished. * Implied attributes are not included. * The XML processor is free to modify the AttributeSet after the * application returns from startElement. * The application can use clone to make a copy of the AttributeSet * which will not be modified by the XML processor. */ public interface XmlAttributeSet extends Cloneable { /** * Return the value of the attribute with this name, or null is the * set does not include an attribute. */ String get(String name); /** * Return the number of attributes in the set. */ int getSize(); /** * Get the name of the i-th attribute, where i is greater than or * equal to 0 and less than the number of attributes in the set. * The order of the attributes is not defined. */ String getName(int i); /** * Get the value of the i-th attribute, where i is greater than or * equal to 0 and less than the number of attributes in the set. */ String getValue(int i); } You could use an Iterator or Enumeration instead of getSize/getName/getValue, but I think it would probably be more complicated and less efficient. James xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@i... the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|