[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XML parsing memory overhead concerns
> When I get to the handler, I'd like to write this: > > void PointHandler(XML::Element &elem, Point *point) > { > // "pull" a chunk of element data, but it'll automatically > // stop when it gets to the end of the element (it stops > // when it sees </Point>) > char buf[40]; > elem.GetData(buf, sizeof(buf)); > sscanf(buf, "%dx%d", &point->x, &point->y); > } > > For some reason I couldn't figure out how to make this work, because > with expat I might have hit the element but not necessary gotten to the > character data handler. I remembered why I couldn't get this part to work. Suppose (using expat) I get to the <Point> element. So far I can build the tree down to this point, so when I see <Point> I look in the handler list for that subtree and call the callback for the Point element. Now in PointHandler, the code wants to pull the element data. I can't go back into expat and parse some more at this point, getting called back with expat's CharacterData handler, fill my buffer, and fall back out to PointHandler. But this brings up a question: does expat buffer the entire character data itself? If it does, perhaps I could delay the call to PointHandler until after the expat character data handler has been called. I can save a copy of that pointer away in my Element list, and only call the user code when I see the end element tag. Does this sound workable? -- Paul Miller - stele@f... 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/ and on CD-ROM/ISBN 981-02-3594-1 To unsubscribe, mailto:majordomo@i... the following message; unsubscribe 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
|