- From: Michael Kay <mike@saxonica.com>
- Date: Tue, 19 Dec 2006 14:57:29 -0000
- To: "'Fortuno, Adam'" <Adam_Fortuno@ghrsystems.com>, <xmlschema-dev@w3.org>
You want something like this:
<xs:element name="Foo">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="xs:token">
<xs:enumeration value="ABC" />
<xs:enumeration value="123" />
<xs:enumeration value="DEF" />
</xs:restriction>
</xs:simpleContent>
<xs:attribute name="_Code" type="xs:string"/>
</xs:complexType>
</xs:element>
ALternatively you can define the type of Foo as an extension of FooType
(extended by adding an attribute)
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: xmlschema-dev-request@w3.org
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of Fortuno, Adam
> Sent: 15 December 2006 19:26
> To: xmlschema-dev@w3.org
> Subject: Element Takes Enumerated List but has Attribute that
> Takes a String
>
>
> All,
>
> I'm trying to create the below structure
>
> <Foo _Code="XYZ">ABC</Foo>
>
> Where the element `Foo` takes a literal value from an
> enumerated list, and the attribute `_Code` takes a
> (xs:)string. I have tried a few different constructs based on
> research I've done. I can get the enumerated list for the
> element but not the attribute or vice versa.
>
> Any suggestions would be appreciated. Here is what I've tried
> (doesn't work).
>
> <xs:element name="Foo" type="FooType">
> <xs:complexType>
> <xs:attribute name="_Code" type="xs:string"/>
> </xs:complexType>
> </xs:element>
> <xs:simpleType name="FooType">
> <xs:restriction base="xs:token">
> <xs:enumeration value="ABC" />
> <xs:enumeration value="123" />
> <xs:enumeration value="DEF" />
> </xs:restriction>
> </xs:simpleType>
>
> Regards,
> Adam
>
>
Received on Tuesday, 19 December 2006 14:57:37 UTC