W3C home > Mailing lists > Public > xmlschema-dev@w3.org > July 2004

RE: W3C Standards Inquiry

From: Michael Kay <mhk@mhk.me.uk>
Date: Wed, 14 Jul 2004 09:56:43 +0100
To: "'Ofir Daniel'" <ofir.daniel@amdocs.com>, <xmlschema-dev@w3.org>
Message-Id: <20040714093645.239BEA0F83@frink.w3.org>

> I would like to verify that the XSDs I have written are indeed aligned
> with W3C standards.

As a procedural question, I don't believe there is any way of getting a
definitive answer to that question. W3C has no process to certify a schema
as being valid, nor does it have a process to certify schema processors as
conforming with the standards. By asking the question on this list you will
get opinions from people who know the specifications very well, but they
will only be personal opinions.

> The reason I am refereeing this mail to use is due to the fact that
> according to our verification tool (XMLSPY 2004) the XSD is valid, but
> according to another tool (which is a member of W3C too), the 
> XSD isn't.

I suspect it is true that there is no single schema processor which
correctly enforces all the constraints defined in the schema specification.
It's probably a good strategy to assume that if any of the popular schema
processors rejects a schema, then it is probably invalid. Certainly the fact
that it gets through XML Spy (or any other product) is no proof of validity,
and the fact that a vendor is a member of W3C is no proof that their
products conform to W3C Recommendations.

> 1) Can a restriction element with base:int or base:double have a
> minLength | maxLength element? Or is it just for base:string.

There's a table showing which facets apply to which data types in XML Schema
Part 2, section 4.1.5. This shows that minLength and maxLength apply to six
of the primitive atomic data types, but not to numeric types.

> 2) Can a complexType contain an element which will contain another
> complexType ?

> 3) Do you have any regulations of redundancy (circulations) 
> between XSDs
> by using xsd:include or xsd:reference ? A scenario where 
> A.xsd points to
> B.xsd which points to C.xsd which points back to A.xsd

In general, the answer is that cyclic imports/includes are allowed. However,
one would want to see the question expressed in more specific terms before
giving such a simple answer.

Michael Kay
(a personal opinion!)
Received on Wednesday, 14 July 2004 05:37:25 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:15:22 UTC