[
Lists Home |
Date Index |
Thread Index
]
----- Original Message From: "Elliotte Harold" > Pete Cordell wrote:
> You're mixing syntax and semantics. Handling <<<<< properly is a syntax
> issue. It is a well-formedness error. Handling <p>This is
> <strong>very</strong> important</p> when the schema says mixed content is
> not allowed is a very different issue that requires a different response.
>
> regardless, mixed content is not as uncommon or unexpected as many people
> think. It is not an accident. It is not bad form. It is not something to
> be avoided. It is the very natural way to express many extremely common
> constructs when modeling information, including so-called data-oriented
> applications (as if any information content were not data). Excluding
> mixed content from a schema language is like excluding a reverse from a
> car's transmission. 99% of the time you might drive in forward mode, but
> not having the reverse gear when you need it will leave your car (or
> application) stuck in a dead end it can't be extricated from without a tow
> truck.
Well, I'm afraid I still disagree. Whether it's a well-formedness error, or
a higher layer semantic error, it's still an error in that domain. If an
application domain never needs a particular construct (and that condition
might be circular in argument [1], but that's a separate issue), why does a
language specifying syntaxes for that domain require the ability to specify
that construct? X86 processors support BCD arithmetic - that used to be
core functionality! - , but neither Java, C#, C, or C++ support it natively.
That said, I would like to make it clear that I'm not arguing against
supporting mixed. More that if I had to choose between mixed and xsi:nil,
I'd probably go with xsi:nil. (although having both would be the best).
Which is really just to emphasise what's core and what's not is quite
difficult. Maybe a true core would be useless to anyone, and only after
suitable add ons would a profile become useful. Maybe its all too
complicated!
Pete.
[1] e.g. this specification language does not support X, because X is never
used, because the specification language does not support X!
--
=============================================
Pete Cordell
Tech-Know-Ware Ltd
for XML to C++ data binding visit
http://www.tech-know-ware.com/lmx
(or http://www.xml2cpp.com)
=============================================
|