Hendrik Boom wrote on 6/27/20 8:33 AM:
But in section 4. Appendix there is one bit of pervasive confusion: you present several 
differences, but do not make it clear which way the difference goes.  When you say, for 
example, "The SXML keyword symbols may be lowercase", do you mean that SXML 
itseld allows this to be done to its keywords, or that it does not but that xexpr allows 
its SXML keywords to be lower case?

Thank you.  I didn't phrase that well.  In section "Appendix: SXML/xexp", that bulleted list is describing "SXML/xexp", relative to canonical SXML.

That first bulletpoint is something on which I think SXML was ambiguous.  (Some Scheme readers or symbol tables forced or disregarded case, but others thankfully didn't.  Although, IIRC, Oleg's code was consistent in how it used case, the ambiguity of the case of the symbols in SXML presented portability problems when other people wrote code, especially if they interpreted it differently, and exercised their preferences, then you tried to combine their code.  Many Scheme programmers emphasized personal preference, and we can imagine that a small language with powerful linguistic extension, and a convention of writing one's own interpreter, might attract rugged individualists.)  "SXML/xexp" tried to mitigate that in a portable way, by saying both all-uppercase and all-lowercase were supported, and that no other mixing of case was permitted.

From this, and from the general drift of your sxml-intro, I surmise that the intent is for Racket to become fully SXML compliant, and new software should be written for SXML, not xexpr, if at all possible.

There's no policy that I know of.

I think switching would be better overall, but switching is a lot of work.  And, in a sense, there's less focus in practice on XML and HTML than there used to be, so less reason than before to invest in switching.  I suspect any switch won't happen wholesale, but telling people about the separate `sxml` package might result in some future projects choosing to use SXML.  I don't know how much activity future projects will be.

When I first started with Scheme, I was actually lucky in my timing, in avoiding fragmenting the XML/HTML representations even worse. The first Scheme code I wrote was an HTML parser, and, initially, I made my own obvious s-expression encoding of HTML, which turned out to be very similar to Racket's `xexpr`.  But I quickly saw Oleg's XML work, and so reworked my code to emit SXML, so that the fancy XML tools could also be used with real-world HTML.   The switch to SXML was trivial for me then, but the switch would've been hard for Racket (aka PLT Scheme), by the time SXML became a de facto standard for the Scheme community.

Finally, I seem to remember that one of the tools mentioned somewhere for 
handling xml turned out not to be findable.  I don't know any more if it was 
mentioned in your document or elsewhere, but it might be worth checking that 
the ones you mention are still available.

Are you thinking of Jim Bender's `sxml-match`?  I need to fix that dead link (can't release a new version at the moment), probably to point to the PLaneT package that the text mentions. http://planet.racket-lang.org/display.ss?package=sxml-match.plt&owner=jim

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/9fa1be59-64af-c3dd-9f3f-d49cf693a0d8%40neilvandyke.org.

Reply via email to