- From: Henry S. Thompson <ht@cogsci.ed.ac.uk>
- Date: 21 Jun 2001 10:36:10 +0100
- To: vdv@dyomedea.com
- Cc: xmlschema-dev@w3.org
Eric van der Vlist <vdv@dyomedea.com> writes:
> Eddie Robertsson wrote:
> >
> > Not really. To achieve what you try to do you first need to create a global
> > simpleType for your base type like this:
>
> You can do it like this, however, instead of extending a global
> simpleType that you have created, you can also restrict the xs:string
> like David was trying to do:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> elementFormDefault="qualified">
> <xs:element name="Test">
> <xs:complexType>
> <xs:simpleContent>
> <xs:restriction base="xs:string">
> <xs:enumeration value="hello world"/>
> <xs:enumeration value="this is me"/>
> <xs:attribute name="myAtt" type="xs:string" use="required"/>
> </xs:restriction>
> </xs:simpleContent>
> </xs:complexType>
> </xs:element>
> </xs:schema>
>
> (the xs:attribute needs to be inside the xs:restrict and not outside
> xs:simpleContent as David had written).
Sorry, that's not allowed. Within <simpleContent>, if the base is a
simple type, the derivation must be by extension, see [1]:
"2 If the <simpleContent> alternative is chosen, the type definition
·resolved· to by the ·actual value· of the base [attribute] must be
either a complex type definition whose {content type} is a simple
type definition or, only if the <extension> alternative is also
chosen, a simple type definition;"
ht
[1] http://www.w3.org/TR/xmlschema-1/#src-ct
--
Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
W3C Fellow 1999--2001, part-time member of W3C Team
2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
URL: http://www.ltg.ed.ac.uk/~ht/
Received on Thursday, 21 June 2001 05:36:12 UTC