Requiring Attributes

From: Martin Hill <mch-at-roe.ac.uk>
Date: Wed, 30 Nov 2005 11:15:30 +0000


According to my schema book and the w3schools site you can can require an attribute like this:

<xs:attribute name="lang" type="xs:string" use="required"/>

and as I understand it you can restrict it (enumerations, etc) in the same as you can simple elements.

Paul said:

 > but let's face it, the prime purpose of xml is for  > computers to read.

Me? Disagree? Surely not. But there must be some reason we use such a verbose form in unicode...

It's perfectly *possible* to make human-readable forms (eg VOTable, and I believe people find it's readability a great benefit), but you do have to do some work to get it. Let's not mention ADQL.

Paul Harrison wrote:
> Patrick Dowler wrote:
>

>> With respect to the following, is there a way to say that at least one
>> of the attributes must be present? Otherwise, a validating XML parser 
>> cannot fully validate the document and client code has to
>> check for null all over the place. The presence of required elements
>> and attributes is really the most vanilla for of validity checking, and
>> we are going to give that up if everything is nillable :-(
>>
>> I realise that even then, use of xlink makes it impossible for the
>> parser to fully validate... but it would be nice to know (from 
>> successfully
>> parsing) that the document appears to be valid (assuming external 
>> references via xlink are to the correct kind of thing).
>>

>
>
> I think that this does illustrate a general design issue in our schema -
> use elements in preference to attributes where the underlying data
> structure is a choice
> as then the parser can validate that one of the choice elements is
> present - this cannot be done with optional attributes. Using more
> elements to represent things instance documents look even uglier to the
> human reader, but let's face it, the prime purpose of xml is for
> computers to read.
>
>
-- 
Martin Hill
VOTech Software Engineer @ ROE
www.roe.ac.uk/~mch
+44 7901 55 24 66
Received on 2005-11-30Z12:02:35