> > An XML schema defines rules for a class of XML documents.
> >
> Under that definition, doesn't XSD fail? It defines rules for a
> namespace not a class of documents.
Well, I wasn't intending it as a rigorous definition, but I think it's
defensible.
I don't know why you think XSD defines rules for a namespace. A (XSD) schema
defines rules for a set of named elements and attributes. In the concrete
syntax the rules are organized by namespace, but they aren't confined to a
single namespace.
It's true that XSD (intentionally) doesn't treat the document as the primary
unit of validation. But it still describes rules for a class of documents,
namely those rooted at one of the elements defined in the schema.
Anyway, I wasn't really talking about XSD or about any schema language in
particular. I was just arguing against the thesis that variety is good; in
my view it is a necessary evil caused by the inadequacies of the currently
available languages, starting with DTDs.
Michael Kay