# xslt compact syntax mockup number one # shell-style comments (of course) # turtle/sparql style namespace declarations prefix html: # idea is we have an inventory of reserved words which if you need to # you can override with % just like haml. other than that the first # thing on the line is treated like an element name # abridged template syntax? template#name html:foo 100 { # params only appear at the beginning of a template, maybe this? $$ { hurr: "durr" } # abridged command elements of course (this would be xsl:for-each) each html:bar { # do we do it like haml? i'm not a fan of semantic indentation, # but something like this might be okay: p all subsequent tokens become a text node; p next element on same line p 'quotes optional; eg for if you want to include a literal semicolon' # i'm much more partial to something like this p id: 'foo', class: $var { child element } # automatically determine between xsl:if and xsl:choose; xpath # functions pass through, of course if position() mod 2 { # this could be a way to apply templates with a mode apply#odd . } else { apply#even . param: 'val', other:param { something more elaborate } } } }