[
Lists Home |
Date Index |
Thread Index
]
Hi,
On Fri, 2005-11-18 at 12:07 -0700, russ@weststreetconsulting.com wrote:
> Henry, thanks for the speedy response. I've tried your suggestion, but
> XML Spy will not validate it. It claims that the schema might be valid
> as a part of another schema, but not standalone. As standalone, the
> <xs:attribute> element is unexpected. I think there is something
> basic that I'm missing here. I've reprinted the revised definition
> below.
>From the schema for schemata:
<xs:group name="complexTypeModel">
<xs:choice>
<xs:element ref="xs:simpleContent"/>
<xs:element ref="xs:complexContent"/>
<xs:sequence>
<xs:group ref="xs:typeDefParticle" minOccurs="0"/>
<xs:group ref="xs:attrDecls"/>
</xs:sequence>
</xs:choice>
</xs:group>
So either <simpleContent> or attribute declarations, but not both.
The attribute declaration goes into the <restriction>.
An example would be the short hand form of xs:anyType restrictions
and the explicit form (although we have a <complexContent> here).
Short hand:
<xs:complexType name="myType">
<xs:attribute name="attr">
</xs:complexType>
Explicit:
<xs:complexType name="myType">
<xs:complexContent>
<xs:restriction base="xs:anyType">
<xs:attribute name="attr" type="xs:string"></xs:attribute>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
Regards,
Kasimier
> Thanks, Russ
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xs:schemaxmlns:xs="http://www.w3.org/2001/XMLSchema"elementFormDefault="qualified"attributeFormDefault="unqualified">
>
>
> <xs:element name="ElemName">
> <xs:complexType>
> <xs:simpleContent>
> <xs:restrictionbase="xs:anyType">
> <xs:simpleType>
> <xs:list>
> <xs:simpleType>
> <xs:restriction base="xs:string">
> <xs:enumerationvalue="Value1"></xs:enumeration>
> <xs:enumerationvalue="Value2"></xs:enumeration>
> <xs:enumerationvalue="Value3"></xs:enumeration>
> <xs:enumerationvalue="Value4"></xs:enumeration>
> </xs:restriction>
> </xs:simpleType>
> </xs:list>
> </xs:simpleType>
> </xs:restriction>
> </xs:simpleContent>
> <xs:attribute name="attr" type="xs:string"></xs:attribute>
> </xs:complexType>
> </xs:element>
>
>
>
>
> -------- Original Message --------
> Subject: Re: [xml-dev] Schema issue with enumerated element
> content
> From: ht@markup.co.uk (Henry S. Thompson)
> Date: Fri, November 18, 2005 1:52 pm
> To: russ@weststreetconsulting.com
> Cc: xml-dev@lists.xml.org
>
> russ@weststreetconsulting.com writes:
>
> > So far, I have the following, which satisfies #1, but I
> can't figure out how
> > to add an attribute. Any ideas?
> >
> > <xs:element name="ElemName">
> > <xs:complexType>
> > <xs:simpleContent>
> > ....
> > </xs:simpleContent>
> >>>>> <xs:attribute name="attr" type="xs:string"/> <<<<<
> attributes go here
> > </xs:complexType>
> > </xs:element>
>
> ht
> --
> Henry S. Thompson, Markup Technology Ltd.
> 4 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- +44 (0)
> 7866 471 388
> Fax: (44) 131 650-4587, e-mail:
> ht@markuptechnology.com
> URL: http://www.markup.co.uk/
> [mail really from me _always_ has this .sig -- mail without it
> is forged spam]
> ----------------------------------------------------------------- The
> xml-dev list is sponsored by XML.org , an initiative of OASIS The
> list archives are at http://lists.xml.org/archives/xml-dev/ To
> subscribe or unsubscribe from this list use the subscription manager:
|