Next in thread → Next in month →

RE: [xml-dev] Problem with restricting a W3C Schema Type

From
Priscilla Walmsley <>
To
'Mark Seaborne' <>
Date
2002-11-15T17:20:51Z
ID
<004001c28ccb$59650e80$339afea9@WALMSLEYPH>
Thread
RE: [xml-dev] Problem with restricting a W3C Schema Type
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             
Author, Definitive XML Schema     (Prentice Hall PTR)
-----------------------------------------------------
Next in thread → Next in month →