>> I
>> have a list and then inquire what the list contains? Surely an
>> alternative
>> might be:
>>
>> <list containsOnly="ucd">
>> <ucd> foo </ucd>
>> <ucd> bar </ucd>
>> </list>
>
> This is a "type-safe" list in that one declares (enforces?) it to have
> only
> certain types of children; that would be great if it can be done such
> that
> all validation is done by the XML parser (ie. well-formed and conforming
> to
> an XSD). Any gurus know how to do that??
>
>> or even
>>
>> <list containsOnly="ucd">
>> <item> foo </item>
>> <item> bar </item>
>> </list>
>>
If we use generic terms such as 'list' and 'item' we not only lose the schema validation but also the other Useful XML Thing, which is that tags should describe what they surround (VOTable suffers from this too :-). Using specialised tags means programs can extract the values by searching for definite tags, we can read the XML ourselves and understand straight away what we're looking at, and programs can understand what the values are from the tags (the tags being the metadata for the values)...
Finally this particular approach would require the parser to do the validation/assign meaning, which rather implies that someone's going to have to write code to do this in all the languages using it, and I'm too lazy...
I must admit I'm not happy with this container approach; it doesn't 'feel' like the way XML is commonly used, although that doesn't mean it's a Bad Thing! I'll put together a summary pros/cons.
-- Martin Hill Software Engineer, Astrogrid 07901 55 24 66Received on 2003-08-13Z12:48:57