[Home] [By Thread] [By Date] [Recent Entries]
> > 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
|

Cart



