Lee's and Gavin's comments all deserve close attention. They do a better
job of arguing than I do. But I like to flame anyway:
A few of Lee's points that I'd like to highlight:
Case sensitivity (normalized case is lower case). Reading any Unicode
case rules is a good argument for this, as he notes.
merging ATTLISTs (This has been needed for a decade, I don't see why we
shoule keep on waiting; let's do it!)
The only point I'd differ with Lee on is the preprocessor idea. I prefer
my late-binding solution to entities in attribute values; we lose a whole
class of possible bugs, and the preprocessing part of the lexical analyzer
only needs two modes: In-tag (between <>) and out-of-tag (everywhere else).
This is the same as the CPP being able to not expand macros in strings,
limited knowledge of the embedded language to make things work nicely.
Gavin's point about metadata is important; we should not reinvent wheels
in an oval shape and then fix the suspension on the car. However, the SGML
traditionalists have a point as to the potential unavailability of
metadata. Given that, we need some hacks for character encoding. I think
that channel-dependent metadata should always take precedence over "hack
metadata". That means that people can do what they need to, but will be
under some pressure to do things right. That should be the philosophy of
RE delenda est.
David Durand firstname.lastname@example.org \ david@dynamicDiagrams.com
Boston University Computer Science \ Sr. Analyst
http://www.cs.bu.edu/students/grads/dgd/ \ Dynamic Diagrams
MAPA: mapping for the WWW \__________________________