[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Common event-based parser API
Tim and I have taken some of the gritty details of our discussion offline, and we have not yet managed to agree on how to return character data; however, I do agree that attributes should be returned somehow in the startElement() event rather than passed as separate events, so I'd like to propose this: startElement(XmlParser p, String elname, java.util.Dictionary attributes) Note the use of the Dictionary abstract base class here. Hashtable is derived from Dictionary, as is my Trie class that I released a couple of years ago. There are a couple of advantages to this approach: 1) It can be implemented efficiently, without requiring allocation of a hash table: you could return anything derived from java.util.Dictionary, including a simple sequential lookup in an array of attributes. 2) It makes the users' work much easier, since they can just use /** * Handle the start of an element. */ startElement (XmlParser p, String elname, Dictionary attributes) { String id = (String)attributes.get("id"); String role = (String)attributes.get("role"); [...] } (instead of) /** * Handle the start of an element. */ startElement (XmlParser p, String elname, Attribute attributes[]) { String id = null; String role = null; for (int i = 0; i < attributes.length; i++) { if (attributes[i].getName().equals("id")) { id = attributes[i].getValue(); } else if (attributes[i].getName().equals("role")) { role = attributes[i].getValue(); } } [...] } Comments? All the best, David -- David Megginson ak117@f... Microstar Software Ltd. dmeggins@m... http://home.sprynet.com/sprynet/dmeggins/ 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
|