[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Performance Vs Size of XSD + Extension of restriction
Thank you very much for your clear explanation. Sudheshna >From: "Pete Cordell" <petexmldev@t...> >To: "Sudheshna Iyer" <sudheshnaiyer@h...>,<xml-dev@l...> >Subject: Re: Performance Vs Size of XSD + Extension of >restriction >Date: Mon, 5 Feb 2007 20:26:33 -0000 > >----- Original Message From: "Sudheshna Iyer" > Pete, I didn't get what you >are saying. >> >>I want my 'ChildType' to inherit the restrictions 'minLength' and >>'whiteSpace' from 'OrigType' and >>has its own 'maxLength'. So will the following info solve the requirements >>relating to both syntax and semantics? >> >><xs:simpleType name="OrigType"> >><xs:restriction base="xs:string"> >><xs:minLength value="1"/> >><xs:maxLength value="20"/> >><xs:whiteSpace value="collapse"/> >></xs:restriction> >></xs:simpleType> >> >><xs:simpleType name="ChildType"> >><xs:restriction base="OrigType"> >><xs:maxLength value="40"/> >></xs:restriction> >></xs:simpleType> > >As Michael said, restriction restricts what a type can accept. So if you >want to define types that only accept subsets of values that other types >accept, then you have to start off defining the least restricted type and >then progressively define each more restricted type from the previously >(less) restricted type. > >A type that accepts a string of 40 characters is less restricted than a >string that accepts a string of 20 characters. Therefore, in your case you >have to define ChildType first. Hence, using your names, you get: > ><xs:simpleType name="ChildType"> ><xs:restriction base="xs:string"> ><xs:minLength value="1"/> ><xs:maxLength value="40"/> ><xs:whiteSpace value="collapse"/> ></xs:restriction> ></xs:simpleType> > ><xs:simpleType name="OrigType"> ><xs:restriction base="ChildType"> > <xs:maxLength value="20"/> ></xs:restriction> ></xs:simpleType> > >OrigType will inherit the restrictions of ChildType. So OrigType is >equivalent to: > ><xs:simpleType name="OrigType"> ><xs:restriction base="ChildType"> > <xs:minLength value="1"/> > <xs:maxLength value="20"/> > <xs:whiteSpace value="collapse"/> ></xs:restriction> ></xs:simpleType> > >Note that I'm referring to order of derivation here, not the order they >appear in the XSD file (which isn't) significant. So the XSD file contents >could equally be: > ><xs:simpleType name="OrigType"> ><xs:restriction base="ChildType"> > <xs:maxLength value="20"/> ></xs:restriction> ></xs:simpleType> > ><xs:simpleType name="ChildType"> ><xs:restriction base="xs:string"> ><xs:minLength value="1"/> ><xs:maxLength value="40"/> ><xs:whiteSpace value="collapse"/> ></xs:restriction> ></xs:simpleType> > >HTH, > >Pete. >-- >============================================= >Pete Cordell >Tech-Know-Ware Ltd >for XML to C++ data binding visit >http://www.tech-know-ware.com/lmx >(or http://www.xml2cpp.com) >============================================= > > > >_______________________________________________________________________ > >XML-DEV is a publicly archived, unmoderated list hosted by OASIS >to support XML implementation and development. To minimize >spam in the archives, you must subscribe before posting. > >[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/ >Or unsubscribe: xml-dev-unsubscribe@l... >subscribe: xml-dev-subscribe@l... >List archive: http://lists.xml.org/archives/xml-dev/ >List Guidelines: http://www.oasis-open.org/maillists/guidelines.php > _________________________________________________________________
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|