[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: parsing XML using regular expressions
"Simon St.Laurent" wrote: > > We have occasional battles here about the wisdom of using > non-XML-parser-based tools to process XML, and regular expressions always > seem to come up. > > I've got a reader question that sort of ties into a (non-regex-based) Java > project I'm working on, about the viability of regex and other text-based > processing for XML work. > > Has anyone written a generic XML parser, even a somewhat broken one, that's > built on regular expressions? I remember hearing of something a long while > ago, but I can't find it. I am the author of the TclXML Open Source XML parser(s) for the Tcl/Tk scripting language. TclXML now provides wrappers for parsers such as Expat and (soon) Xerces-C, but it also includes a 100% Pure Tcl (tm) XML parser. TclXML aims to be a compliant XML processor, and is close to achieving that goal. See http://www.zveno.com/ for further information and pointers to the source code. The Tcl parser is just a big regular expression engine. My characterisation of using REs for parsing XML is that it is like performing brain surgery with a chainsaw: you get the job done, but you have to scrape lots of important bits off the wall and put tham back in where they belong. TclXML uses an RE to chop up the input string and then iteratively filters the pieces. Attribute values are handled by another RE, as well as other constructs such as entity references and the various declarations. Some characters are allowed in XML that throw a spanner in the works of REs. Some are obvious, such as CDATA sections and comments. Others are more subtle, such as '>' in an attribute value. Handling the edge conditions is hard work, but building a compliant XML parser using REs is certainly do-able. Cheers, Steve Ball -- Steve Ball | Swish XML Editor | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Steve.Ball@z... +-----------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099
|
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
|