- From: Paul Cotton <pcotton@microsoft.com>
- Date: Tue, 20 Aug 2002 13:14:41 -0400
- To: "Jeni Tennison" <jeni@jenitennison.com>
- Cc: <public-qt-comments@w3.org>
> I think that such an example would greatly illuminate the spec.
Would you like to supply such an example? I am sure the WGs would be
glad to consider such a submission.
/paulc
Paul Cotton, Microsoft Canada
17 Eleanor Drive, Nepean, Ontario K2E 6A3
Tel: (613) 225-5445 Fax: (425) 936-7329
<mailto:pcotton@microsoft.com>
> -----Original Message-----
> From: Jeni Tennison [mailto:jeni@jenitennison.com]
> Sent: Monday, August 19, 2002 6:42 PM
> To: public-qt-comments@w3.org
> Subject: Data Model WD: Appendix D
>
>
> Hi,
>
> (I seem to comment on this appendix in every draft, sorry!)
>
> There are a couple of problems with the schema in Appendix D of the
> Data Model WD.
>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> targetNamespace="http://www.example.com/PartSchema"
> xmlns="http://www.example.com/PartSchema"
> elementFormDefault="qualified">
> <xs:element name="part" type="part-type"/>
> <xs:complexType name="part-type">
> <xs:sequence>
> <xs:element name="mfg" type="xs:string"/>
> <xs:element name="price" type="xs:decimal"/>
> </xs:sequence>
> <xs:attribute name="name" type="part-name"/>
> </xs:complexType>
> <xs:simpleType name="part-name">
> <xs:restriction base="xsd:string">
> <xs:pattern value="[A-Z]{2}-\d{3}-[A-Z]*"/>
> </xs:restriction>
> </xs:simpleType>
> </xs:schema>
>
> First, in the part-name simple type definition, the xs:restriction
> element has a base attribute with the value 'xsd:string'. That should
> be 'xs:string', or you should add a namespace declaration associating
> the prefix 'xsd' with the XML Schema namespace.
>
> Second, I think that the pattern for the part-name type should be:
>
> [A-Z]{2}-\d{3}-[a-z]*
>
> At least, in the instance that you claim to be valid against this
> schema, the part-name is "NB-401-nutbolt" which doesn't match the
> pattern as currently specified.
>
> If you make those changes it validates according to Xerces-J, and by
> eye.
>
> There are also a couple of problems in the description of the data
> model generated from the instance and the schema.
>
> First, dm:type(A1) (the type of the name attribute) should be
>
> xf:QName-from-uri("http://www.example.com/PartSchema",
> "part-name")
>
> shouldn't it? Or was the invalidity on purpose? If it was, then
> surely dm:typed-value(A1) should be:
>
> dm:atomic-value("NB-401-nutbolt",
> xf:QName-from-uri("http://www.w3.org/2001/XMLSchema",
> "anySimpleType"))
>
> and dm:type(A1) should be:
>
> xf:QName-from-uri("http://www.w3.org/2001/XMLSchema",
> "anySimpleType")
>
> Second, dm:string-value(A2) (the string value of the
> xsi:schemaLocation attribute) seems to have a '\' in it? I'm not sure
> what that's doing there, or is it meant to indicate that there's an
> insignificant line break?
>
> Finally, in the picture, the schemaLocation attribute should probably
> be called xsi:schemaLocation, since the other qualified nodes use the
> prefix to indicate their namespace.
>
> As it stands, this example is fairly straight-forward. It would be
> great if this example could be turned into something that really
> demonstrated some of the stickier features of the data model, such as:
>
> - partial validity
> - union types
> - list types
> - lists of unions
> - unions of lists
> - whitespace normalisation of values
> - the effect of xml:base
> - anonymous types
> - a schema with more than one level in the type hierarchy
>
> I think that such an example would greatly illuminate the spec.
>
> Cheers,
>
> Jeni
> ---
> Jeni Tennison
> http://www.jenitennison.com/
Received on Tuesday, 20 August 2002 13:15:20 UTC