[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: DTD ( From Eliotte Rust Harold's Book)
> Suppose I am writing a DTD to have between 4 and 6 TEAM elements for a > DIVISION element, how do I go about specifying this ? > Please note - I cannot have three nor seven TEAM elements for the DIVISION > in my Document, such a document must be forced > to be treated as invalid. > > Hint : I can try to enforce the same above by grouping TEAM elements in a > sequence, but still, I have cracked this to atleast > have 4 elements but not the second criterion <!ELEMENT DIVISION ( TEAM, TEAM, TEAM, TEAM, (TEAM, TEAM?)? ) > If you have other elements interspersed, then a DTD will explode with terms and hide the intent. If you use Schematron, you can go <schema xmlns="http://www.ascc.net/xml/schematron" > <pattern> <rule context="DIVISION"> <assert test="count(TEAM) >= 4" >A DIVISION element should have 4, 5 or 6 TEAM elements.</assert> <assert test="count(TEAM) <=6" >A DIVISION element should have 4, 5 or 6 TEAM elements.</assert> </pattern> </schema> which will work regardless of any other elements in DIVISION. Cheers Rick Jelliffe
|
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
|