|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: DTDs, W3C Schemas, RELAX NG, Schematron?
> But restrictions by facet are only pre-set ones. You can restrict > an integer to be between -5 and +5, but you can't restrict a token, > say, not to be "foo". Whereas in RNG that is just xsd:token - "foo". True. > > > 11) RNG lists consist of non-whitespace separated by whitespace, and the > > > non-whitespace need not be all of the same (simple) type. A pattern like > > > "list {xsd:integer, xsd:string}+" is perfectly valid, and matches content > > > like "2 foo 5 bar". > > > > This can be done by creating a list type from a union type in XML Schema. > > True. I didn't word this sharply enough. If you want a list consisting > of alternating numbers and strings, RNG can do that but XSD can't: > a list type created from a union type is "list {(xsd:integer|xsd:string}+}", > and matches things like "2 5 foo bar". True, although you probably could create something similar by adding a pattern facet to the list type. For example, the above could be done with: <xs:simpleType name="List"> <xs:list> <xs:simpleType> <xs:union memberTypes="xs:string xs:integer"/> </xs:simpleType> </xs:list> </xs:simpleType> <xs:simpleType name="restrictedList"> <xs:restriction base="List"> <xs:pattern value="((\d+ .+) ?)+"/> </xs:restriction> </xs:simpleType> But for more complex lists this wouldn't work very well and the RELAX-NG way is much clearer and easier. Cheers, /Eddie
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Cast Your Vote
We need your help – Vote for DataDirect XML Products!
Winners and finalists announced at SOA World Conference in November. 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
|
|||||||||







