Just a few small comments:
As usual, I favor the XML-style syntax.
I'm not sure that the user-defined tokens add enough benefit. In any
case, "!" is a valid identifier start character, so the format you give
conflicts with SRFI 108.
The standard XML names of character entities
(as opposed to the *built-in* names) can be found at
<http://www.w3.org/2003/entities/2007/w3centities-f.ent>. This is the
result of consolidating MathML, HTML, and ISO sets. The names for [ ] { }
are lbrack, rbrack, lbrace, rbrace, and I suggest these be required.
The other names in this list, at least the ones that only represent a
single codepoint, should be recommended to implementers.
I think the full Scheme expressions (template processing) are appropriate.
I would leave the formats and i18n for a later SRFI. Reordering arguments
is an i18n requirement even if there is no format string; in any case, R7RS
will almost certainly standardize format combinators instead of strings.
--
John Cowan http://ccil.org/~cowan xxxxxx@ccil.org
We want more school houses and less jails; more books and less arsenals;
more learning and less vice; more constant work and less crime; more
leisure and less greed; more justice and less revenge; in fact, more of
the opportunities to cultivate our better natures. --Samuel Gompers