Lists Home |
Date Index |
Elliotte Harold writes:
> You seem to have thrown out the boundary white space here. Is this
> representation capable of handling mixed content in a natural way? i.e.
> is this syntactically correct?
> (tag (@ (attr1 "value1") (attr2 "value2"))
> (nested "Text node")
> "More text"
> "Hmm, what should we do about
> line breaks?"
Yes, your example is syntactically correct. Undeed, SXML handles mixed
content fluently. Your example corresponds to the following XML:
<tag attr1="value1" attr2="value2">
<nested>Text node</nested>More text<empty/>Hmm, what should we do about
> Also important: is the encoding for this representation some form of
In SXML, the text enclosed in double quotes is the Scheme datatype "string".
All popular Scheme compilers (in particular, Bigloo, Gambit and Chicken)
provide Unicode support. And of course strings can contain line breaks.
XML elements, attributes, etc. are represented in SXML with the Scheme
datatype "list". Scheme nested lists (i.e. a list containing another list as
its member) provide a natural representation for a hierarchical structure of
SXML is formally specified as the representation of of XML Information Set
as Scheme nested lists.