[
Lists Home |
Date Index |
Thread Index
]
> > There would be no advantage in having Xerces-specific RELAX
> NG support.
>
> I think Matthew means that Jing (or some other RELAX NG
> validator) should be
> contributed to Xerces with an XNI API so that everyone who
> uses Xerces gets it.
> I think that is an excellent idea.
Thanks Rick, that's exactly what I meant. I am also curious about two other
issues:
1) I read Jame's comments
(http://www.thaiopensource.com/relaxng/design.html) on attribute defaulting
being a special case of a transformation that hasn't earned its privileged
status in DTDs and XSD. I *really* like the approach of getting all the junk
(mostly DTD legacy stuff) out of the schema language. This is clearly the
biggest strength of the XML approach in general (as compared to SGML, HyTime
and the like, which threw in not just the kitchen sink but the stove and
refrigerator too), and to see it reflected in RELAX NG is very positive. (I
bring this up because I think that the need for attributing and the like
would contradict Jame's assertion that validation can occur after and
independently of SAX event generation.)
But... from a marketing perspective, I imagine that folks expect RELAX NG to
offer features that they have come to depend on in DTDs, if not the more
arcane features of XSD. To me this implies two things:
a) A set of examples showing how to do attribute and element defaulting in
different scenarios, as well as (preferably) a couple of examples of how
RELAX NG can do cool transformations that XSD can't in a clean and
consistent way.
b) Hooks to tie an XSLT stylesheet for this purpose directly into the
parsing process. I imagine being able to feed Xerces-J a schema, a
stylesheet and an instance and getting either intelligent error messages
about invalid content of the intance or a SAX event stream. I should think
that the psychological effect of presenting a "whole solution" to developers
that walks and talks like standard Xerces-J but supports RELAX NG with a
whole bunch of capabilities not provided by XSD would be a major advantage
in "selling" developers on RELAX NG, especially if its "in the box" when
they download Xerces.
2) The implications for inheritance. I really believe that we want parsers
to support inheritance natively so that they can interpret instances
polymorphically (e.g. automatically presenting a Foo to someone who doesn't
understand MyFoo). I know a lot of people do not agree with this. I need to
write a position paper or something on this...
Matt
|