[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Really Understood W3C Schema Complex Types?
- From: Kohsuke KAWAGUCHI <firstname.lastname@example.org>
- To: Don Smith <email@example.com>, firstname.lastname@example.org
- Date: Thu, 06 Sep 2001 16:57:37 -0700
> I denied, and still deny, that
> complex types are so complicated people ought not try to understand them
> when they use them.
Since this is a subjective issue, I don't think I can convince you
otherwise. That said,
> The assertion "people don't know that using X produces the side
> effect Y" is no basis for criticism of the technology represented by X; it
> is a criticism of their knowledge of X.
I don't think so. If my car manufacturer swaps the gas pedal and the
brake pedal, then I can reasonably say that that car is badly designed
and therefore hard to use.
I think the similar reasoning applies to the complex type.
Of course educating the schema authors is a nice solution to this
problem, but I've never claimed that this problem has no solution at all;
all I've claimed was that there is a problem.
> Since I can't be sure what the type of "annotation" is, I can't be sure what
> the type "repeating.derived" is supposed to be doing, relative to what
> "repeating" is doing. (Was this a typo? Did you mean to restrict
> "repeating"?) You say that whatever it's doing isn't allowed by W3C schemas,
> so I'm not following your thinking.
Yes, It was supposed to be a restriction. Sorry for the bad example. I
wrote a fixed example in a separate mail which I sent couple of days ago.
> I've included below some schema types that provide what you are asking for,
> but I can only presume that you will consider this a breaking of the type
> system. You'll have to explain to me why this is a breaking of the type, or
> whatever other objections you have to it.
I consider it a breaking of the type hierarchy because your example
doesn't have type relationship between "repeating" (zero or more
repetition of the list class) and "notSameRepeating" (one or more
repetition of the list class but the first one must be A).
Since every valid sequence of "notSameRepeating" is a valid sequence of
"repeating", I think it is reasonable that I want to derive
"notSameRepeating" from "repeating" by restriction.