seXml: a very dirty little dialect
secretGeek .:dot Nuts about dot Net:.
home .: about .: sign up .: sitemap .: secretGeek RSS

seXml: a very dirty little dialect

I was viewing the source code of a website (as you do) and happened upon some of this guff:

A little more scanning showed me:

And I soon learned that the ".dwt" file extension indicates use of a "Dream Weaver Template". Probably a common practice, given the popularity of Dream Weaver.

Interesting, because the format used is identical to a dirty little sub-language I invented one dirty weekend, called 'seXml'.

(Read on, for the truth about seXml)

Ahh seXml!

I'd invented it, fallen in love with it and forgotten it, all in the space of a few hours, in about 2003.

The idea of seXml, (the 'special embeddable, eXtensible markup language') was that it would differ from XML in three chief ways.

Firstly, by default, elements would begin with '<!-- ' instead of '<' and end with ' --!>' instead of '>'.

Secondly, a document doesn't need to have a root element. If no root element is detected, then the body of the document would be embedded inside <!-- seXml --><!-- /seXml --> tags before further parsing.

Third, some very liberal rules allow you to embed a message anywhere in the document that defines different strings to use instead of '<!-- ' and ' --!>'. For example you might way elements to start with '/*** ' and end with ' ***/' so that you can turn a valid C++ document into a valid seXml document.

You can even en-Mesh a valid seXml document in and around a valid XML document. Hence, seXml can be a nice way of documenting XML.

The original idea for seXml was for content editing purposes (as seen in the dream weaver templates). But I soon saw that it could be used to en-mesh meaninful data inside practically any languages.

Because of its strong XML lineage, a seXml parser is really just a pre-parser for XML. You could write your own seXml parser in an afternoon, if only there was a complete spec written for it.

Okay this concludes a week of xml esoterica. An older idea on similar lines, was XPL, but the W3C failed to recognise that one too. Oh well.





'Tim BL' on Fri, 10 Feb 2006 04:40:54 GMT, sez:

Damn! I wish you had brought this to my attention sooner.



'leon' on Fri, 10 Feb 2006 04:43:13 GMT, sez:

I don't know which fact is more astounding. the fact that Tim Berners Lee left a comment on my blog.

Or the fact that he has the same IP address as one of the regular commenters at this site ;-).




name


website (optional)


enter the word:
 

comment (HTML not allowed)


All viewpoints welcome. But the right to delete any post for any reason is reserved. Don't make me do it. Comments may be republished, emailed to your loved ones or printed and used as toilet paper. Who reads this legal bit anyhow?

TimeSnapper is a life analysis system that stores and plays-back your computer use. It makes timesheet recording a breeze, helps you recover lost work and shows you how to sharpen your act.

TimeSnapper won last year's Developer Competition at Larkware.com, and is used by over 10,000 people.

Articles

Do they store the code for TFS in TFS? Do they store the code for TFS in TFS?
Sudden TimeSnapper Discount! Sudden TimeSnapper Discount!
How Can Microsoft Beat Google? How Can Microsoft Beat Google?
TimeSnapper 3.1: Attack of the the Red/Green Stripes TimeSnapper 3.1: Attack of the the Red/Green Stripes
21 tools used in our MicroISV 21 tools used in our MicroISV
Lost Treasures of the DOS World: tree! Lost Treasures of the DOS World: tree!
The Virtual Machine Machine and the Virtual Virtual Machine The Virtual Machine Machine and the Virtual Virtual Machine
Should Linq To Sql Go Should Linq To Sql Go "Open Source"?
Redux: New Synchronisation Idea Overlooked By Microsoft Redux: New Synchronisation Idea Overlooked By Microsoft
New Synchronisation Idea Overlooked By Microsoft Live team New Synchronisation Idea Overlooked By Microsoft Live team
Visual Studio UX Taskforce, Office UX Taskforce... etc. Visual Studio UX Taskforce, Office UX Taskforce... etc.
How to be Jeff Atwood How to be Jeff Atwood

Archives .: secretGeek :: Complete Archives :.
25 steps for building a Micro-ISV 25 steps for building a Micro-ISV
3 minute guides -- babysteps in new technologies: powershell, JSON, watir, F# 3 Minute Guide Series
Top 10 SecretGeek articles Top 10 SecretGeek articles

Downloads

TimeSnapper -- Automated Screenshot Journal TimeSnapper.com    
Version 3.1: instant productivity profiles

ShinyPower (help with Powershell) ShinyPower
Now at CodePlex

Next Action NextAction
Managing the top of your mind



[powered by Google] 


Thai Erawan, Brisbane Restaurant, delicious thai food in paddington Thai Erawan, Brisbane Restaurant
World's Simplest Code Generator (html edition) World's Simplest Code Generator
Gradient Maker -- a tool for making background images that blend from one colour to another. Forget photoshop, this is the bomb. Gradient Maker
How to be depressed How to be depressed
You are not inadequate.



Recommended Reading

The Best Software Writing I
The Business Of Software (Eric Sink)

Recommended blogs

Jeff Atwood
Reginald Braithwaite
Joseph Cooney
Phil Haack
Scott Hanselman
Julia Lerman
Joel Pobar
Eric Sink
Joel Spolsky
Des Traynor

Aggregated Links

programming.reddit.com
dzone
dot net kicks

Human Link Machines

interesting finds
a continuous learner's weblog
arjan's world
n links today
new and notable
morning coffee
learning .net
weekly link post
(my del.icio.us account)

LinkedIn profile
 
home .: about .: sign up .: sitemap .: secretGeek RSS .: © Leon Bambrick 2003 .: privacy

home .: about .: sign up .: sitemap .: RSS .: © Leon Bambrick 2003 .: privacy