[Home] [By Thread] [By Date] [Recent Entries]


Hi Mark,

You can't restrict a type whose elements have anonymous types like yours
do (unless you want to restrict it to be empty).  I would change the
definition of Term to:

 <xsd:complexType name="Term">
 	<xsd:sequence>
 		<xsd:element name="years" minOccurs="0"
type="origo:SmallNumberWithID">
 		<xsd:element name="months" minOccurs="0"
type="origo:SmallNumberWithID">
 	</xsd:sequence>
 	<xsd:attribute name="id" type="xsd:ID"/>
 </xsd:complexType>

 <xsd:complexType name="SmallNumberWithID">
  <xsd:simpleContent>
   <xsd:extension base="origo:SmallNumber">
    <xsd:attribute name="id" type="xsd:ID"/>
   </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

Then you can restrict Term as follows:

 <xsd:complexType name="RestrictedTerm">
 	<xsd:sequence>
 		<xsd:element name="years" minOccurs="0"
type="origo:SmallNumberWithID">
 	</xsd:sequence>
 </xsd:complexType>

Hope that helps,
Priscilla

-----------------------------------------------------
Priscilla Walmsley             priscilla@w...
Author, Definitive XML Schema     (Prentice Hall PTR)
----------------------------------------------------- 



Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member