Lists Home |
Date Index |
Leigh Dodds wrote:
> Instead I think it suggests that our approach to writing *schemas* isn't
> flexible enough to deal with documents containing an arbitrary mix of
> namespaces. I should state up front I don't have any answers here,
> I'm just interested in a general discussion.
> The majority of schemas that I've seen assume a fixed set of
> elements. These elements may come from zero, one or more namespaces.
> The schema is "closed". They're designed to validate a particular
> class of documents.
> Some schemas are "open", i.e. they allow "unknown" elements to be
> used in the document, and these usually in fairly fixed places (cf: XSD
> ANY, XHTML DTD Modularization). However these schemas still seem
> to be designed to validate _documents_. They validate the document,
> and ignore sections of it, or as with modularization defer to other
> schema/dtd modules.
> Yet the scenario you're discussing is one which seems like it could
> become increasingly common: we have a mixed namespace document
> for which there is no schema. You're asking, how can I validate
> these documents? Is there a heuristic for combining together several
> schemas to achieve this goal?
> To do this you need to define schemas not only to be open, but also
> to be easily fragmented so that portions of it can be applied. I can
> imagine doing this with a schematron schema (only apply certain
> but not with a DTD. I also assume there's a way to do this with RELAX NG
> and XSD. You then need to apply these fragments to the document to
> validate it.
> RDDL only enters this picture as a way to associate a schema, or
> fragment thereof with a Namespace URL. Doing something with those
> fragments, assuming they're available is something for the validator.
Yes, exactly. If I created any confusion with my statement regarding RDDL
support in XSV, my apologies. It is ONLY a mechanism to locate an XML Schema
given a namespace URI. A you have said: what one does once the schema is
located is ENTIRELY up to the validator/client.