OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] XML too hard for programmers?

[ Lists Home | Date Index | Thread Index ]

Simon St.Laurent wrote:
> This isn't a new thread - sorry - but this time the claim comes from an
> unusual source, that infamous XML-critic Tim Bray:
> 
> http://tbray.org/ongoing/When/200x/2003/03/16/XML-Prog
> 
> "XML is a bouncing thriving five-year-old now, and yet I've been feeling
> unsatisfied with it, particularly in recent times. In particular in my
> capacity as a programmer...."
> 
> It's a page or two of reading, most of which reminds me that markup and
> programming are two different universes which both happen to involve
> computers.  Definitely worth reading.

Hmmm. A couple years after you think you and your friends have convinced all the 
Perl community to not use regex based parsers on XML you get Tim Bray to hit you 
on the back of the head with one. I guess it's fair though, because he makes sense.

In fact, there has been some work within the Perl community to address the 
problems that programmers evidently face when using the dominant 
SAX/DOM/XPath/XSLT combo. Parts of it may be interesting to this conversation, 
notably stuff done by Barrie Slaymaker. You may wish to take a look at EventPath 
as described and implemented here:

http://search.cpan.org/author/RBS/XML-Filter-Dispatcher-0.47/lib/XML/Filter/Dispatcher.pm
http://search.cpan.org/author/RBS/XML-Filter-Dispatcher-0.47/

It is basically a collection of utilities wrapped inside rules that match an XML 
stream using an XPath-like language (which is probably preferable to raw 
regexen, and has in fact similar functionality). They will do things such as 
maintain state for you or assist you doing so, in a way that is much simpler 
than SAX. You need to learn a new little language, but if you know XPath it's a 
five minute job. I don't think the docs do it full justice. He is also rumoured 
to have a pull parser with a nifty interface (a pull parser being close in idea 
to Tim's while loop), but I don't know if it's true or not.

As for adding syntax to Perl 6 it shouldn't be necessary. Built-in regexen is a 
bit weak so Perl 6 is going with built-in grammars, with rules that look a lot 
like methods and will likely support things like parameters and currying, and 
that will provide access to local parse trees. For ideas in that area, you may 
want to poke around:

   design document: http://www.perl.com/pub/a/2002/06/04/apo5.html
   for humans: http://www.perl.com/pub/a/2002/08/22/exegesis5.html

-- 
Robin Berjon <robin.berjon@expway.fr>
Research Engineer, Expway        http://expway.fr/
7FC0 6F5F D864 EFB8 08CE  8E74 58E6 D5DB 4889 2488





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS