[
Lists Home |
Date Index |
Thread Index
]
michael.h.kay@ntlworld.com (Michael Kay) writes:
>Layering. There is already far too much interaction between the
>physical and logical layers of XML, e.g. the rule that tags in an
>external entity must be well-balanced. It would ideally be possible to
>do all the lexical processing without any interaction with the syntax
>processing. The fact that namespaces are not even part of the XML
>syntax, but a semantic layer on top, would compound the problem even
>further.
Because there is already far too much interaction between the layers,
it's actually not that difficult to implement namespace-qualified entity
names once you've taken control of doing your own entity processing.
I've done some experiments with this in Ripper, and it's about ten lines
of code to make the change. (Philosophically, it hurts, but it's
actually easier to deal with than QNames in content.)
The problem isn't that namespace-qualifying entity names is difficult;
the problem is that no one wants to open the XML monolith. Everything
seems to have go below (UTF-8+names) or on top of (element/att
namespaces) that box.
If we hadn't encouraged developers to create monolithic boxes, these
kinds of changes would be easy. Instead, the XML monolith dominates,
and we don't seem to trust ourselves or our supposed partners to make
changes.
For more along these lines, see:
http://www.mulberrytech.com/Extreme/Proceedings/html/2003/StLaurent01/
EML2003StLaurent01.html (PDF, article)
http://simonstl.com/articles/halfparse/ (HTML, presentation)
http://simonstl.com/articles/halfparse-smil/ (SMIL, Playmobil)
|