|
RE: [xml-dev] Schema issue with enumerated element content
|
[
Lists Home |
Date Index |
Thread Index
]
Thanks Kasimier. I think I'll just move enumerations into attributes. A
little more complex for end users, but seemingly much better on the
schema end.
-------- Original Message -------- Subject: RE:
[xml-dev] Schema issue with enumerated element content From:
Kasimier Buchcik <K.Buchcik@4commerce.de> Date: Fri, November
18, 2005 3:04 pm To: russ@weststreetconsulting.com Cc: ML-xml-dev
<xml-dev@lists.xml.org>
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:
|
|
|
|
|