Step 0: Define an s-expression representation for XML.
(tagname (@ attr "value" attr2 "value2") (tagname2) (tagname3 "data"))If the attributes are optional, then that requires an extra token (@) to distinguish between attributes and the first nested tag.
If the attributes are not optional, then that requires an extra token (nil) when there are no attributes specified.
Most XML documents I've used have more tags without attributes, so I opted for using @.
Since @ can't be a tag name, if the first thing in the list (after the tag name) is a list whose car is @ then it is the XML attributes for that tag. I dubbed this representation SML (S-expression Meta Language).
UPDATE: I came up with a simpler representation.
Step 1: convert XML to s-expressions.
This seems like
a job for Perl. It's great at manipulating data formats.
So I wrote
xml2sexp.pl
which works great.
But it seems like a hack because there might be some XML syntax that it doesn't handle. XSLT was designed for transforming XML so it's a good choice for this also. So of course, I did some Googling and found this xml2sexp.xsl, but it's not complete. It can't even convert itself. So I decided to write my own. Yikes! Now I'm back to writing XML, which I was trying to avoid! I can't think of a programming language that is more unpleasant than XML. But it was a chance to learn XSLT, so I wrote xml2sexp.xsl too.
Step 2: Convert SML back to XML.
Now I'm in the Lisp world, so I can use my Lisp of choice,
which happens to be
Arc at the moment. So I wrote an Arc library,
sml.arc,
to convert SML back to XML. There's also a function to pretty-print
the SML, since the SML created by the conversion from XML is
pretty ugly SML.
Adios, XML! I'll never need to deal with you again. I can just use SML whenever I need to work with XML files.
You may want to look at http://en.wikipedia.org/wiki/SXML
ReplyDeletehttp://docs.plt-scheme.org/xml/index.html
ReplyDeleteThank you.
ReplyDeleteSeriously,
thank you.
This is just what I needed to see.
I prefer XML over s-expression tbh, although great info.
ReplyDeleteI did find a good book/site for brushing up on your xml for those that don't like working with it too well!
XMl For Dummies Homepage! and
XML Dummies
not saying that only dummies should use it, lol!
Thanks for a sweet article,very informative.. we will sure be back for more.It is wonderful right here. good research. I've been searched this kind of information for quite a while. thanks
ReplyDeletewindows 7 key
Brilliant posting you have done great job, it’s so great helpful for me. And I am looking forward of this post thank you.
ReplyDeletesearch engine marketing melbourne
This comment has been removed by the author.
ReplyDeleteI Read it's blog comment ablut for xml.I began to wonder if I could just use s-expressions instead of having to deal with XML it's so great helpful for me. Best Regards.....Seo Company
ReplyDeleteWow, theres some nice links there - where do you find them all? I’m going to read all those through in detail and apply a few.. Thanks for sharing!
ReplyDeleteGerman silver
XML has a very important function and that is your site map construction. It`s all very well having readable and relevant content on your site, but your site map is like having the contents of your treasure chest stuck on the lid.
ReplyDeletehow to increase website traffic
Its really Very useful post.. I hope you will continue your same best work and we will get more informative post which can helpful to us. Thanks for this!!!
ReplyDeletejoomla extensions
I'm happy when reading through your site with up-to-date information! thanks alot and hope that you'll publish more site that are based on this website. joomla developers
ReplyDeleteGlad to visit this professional blog... I would love to learn more and more about technical and programming related things.. Great work!
ReplyDeleteAffordable web hosting service
Yeah it was very wonderful. I actually implement this myself. Thanks a lot for enjoying this beauty article with me. It is very interesting for me to read this blog.
ReplyDeletemarketing solutions
Also, having a high FICO rating and a perfect record as a consumer can regularly slice back various focuses off your home loan credit's advantage. In this way, it is exhorted that you tidy up your acknowledge report however much as could be expected and get your most astounding conceivable score before you apply for a home loan credit. www.usacheckcashingstore.com/san-diego
ReplyDeleteEventually, this permits you access to cash all the more rapidly. Since these organizations understand that you can basically apply somewhere else on the off chance that they don't answer to you, they will typically endeavor to make the procedure speedy, simple and get assets to you with little bother.
ReplyDeletecheck cashing near me san diego