← Prev in month ← Prev in thread
Next in thread → Next in month →

XML-SCHEMA Q: Adding an xsd:attribute to an xsd:element

From
Richard Rowell <>
To
Date
2003-05-15T15:47:11Z
ID
<1053013631.23961.30.camel@localhost>
Thread
XML-SCHEMA Q: Adding an xsd:attribute to an xsd:element
I'm sure the answer is painfully obvious, but I cant figure out how to
add an attribute to an element.  I want a structure like this:

<box>
 <size>
   <width units='cm'>50</width>
   <height units='m'>1</width>
 </size>
</box>

AFAICT I can only attach attributes to complex types in XMLSchema, but
width and height are not complex types (are they?).  I know how to
attach the "units" attribute to the size element, but I don't want it
there.  This is what I have tried:

<xsd:element name="size">
     <xsd:complexType>
      <xsd:all>
       <xsd:element name="width" type="xsd:integer" minOccurs='1'
maxOccurs='1'>
        <xsd:attribute name='units' type="xsd:string"/>
       </xsd:element>
       <xsd:element name="height" type="xsd:integer" minOccurs='1'
maxOccurs='1'/>
      </xsd:all>
     </xsd:complexType>
    </xsd:element>

Xerces rejects this though:
** Schema error: src-element.0: the content of an element information
item must match (annotation?, (simpleType | complexType)?, (unique | key
| keyref)*). **
LINE: 1
PUBLIC_ID: null
SYSTEM_ID: 

-- 
Richard Rowell <>
← Prev in month ← Prev in thread
Next in thread → Next in month →