Lists Home |
Date Index |
Alan Gutierrez wrote:
>* Jeff Rafter <email@example.com> [2004-12-23 13:43]:
>>>While on the topic of SAX taming features in Amara, there is also
>>>amara.saxtools.xpattern_sax_state_machine, which I didn't even bother
>>>mentioning in the announcement (too much to cram in).
>>Can you expand on your expansion? As I was reading this I was thinking
>>that in the Java/C# world an interesting approach would be to keep a
>>pseudo DOM stack for the event hierarchy. Maybe something where you keep
>>everything at an ancestral level intact while parsing
>>So when the event stream reached /foo/bar2/baz2/text() you would have
>>the following in a DOM like structure:
>> bar1 (... no children)
>> baz1 (... no children, just the previous sibling and attrs)
>> baz2 (only the StartTag)
>>I am not sure that the preceding siblings would be very useful and have
>>more chances for pathological cases but when I construct mini-trees this
>>is the subset I find handy. It is useful when working with an editor to
>>understand the immediate context. Unfortunately by requiring the
>>previous siblings you have to maintain quite a bit more... the whole
>>preceding branch of the tree.
> I have a SAX library (in Java) that keeps the stack around, but
> not the preceeding siblings. It is quite useful.
> It is, actually, very useful to keep a stack around that has a
> hash table for each level of the stack, it allows for the
> devleopment of strategies that are themselves stateless.
> Adding the implied stack goes a long way to make SAX event
> processing a more practical solution for a lot of problems.
Yes. This is a useful technique I covered for Python in my article
"Location, Location, Location
I think that while useful this technique can still leave a lot of state
wrangling to the programmer, which is why Amara has several modules that
Uche Ogbuji Fourthought, Inc.
http://uche.ogbuji.net http://4Suite.org http://fourthought.com
Use CSS to display XML - http://www.ibm.com/developerworks/edu/x-dw-x-xmlcss-i.html
Full XML Indexes with Gnosis - http://www.xml.com/pub/a/2004/12/08/py-xml.html
Be humble, not imperial (in design) - http://www.adtmag.com/article.asp?id=10286
UBL 1.0 - http://www-106.ibm.com/developerworks/xml/library/x-think28.html
Use Universal Feed Parser to tame RSS - http://www.ibm.com/developerworks/xml/library/x-tipufp.html
Default and error handling in XSLT lookup tables - http://www.ibm.com/developerworks/xml/library/x-tiplook.html
A survey of XML standards - http://www-106.ibm.com/developerworks/xml/library/x-stand4/
The State of Python-XML in 2004 - http://www.xml.com/pub/a/2004/10/13/py-xml.html