XSchema Spec - Attribute Declarations (Section 2.4), Draft 4
Ron Bourret
rbourret at dvs1.informatik.tu-darmstadt.de
Mon Jul 13 13:25:11 BST 1998
> 2.4.3 Attribute Defaults
>
> XSchema requires attribute declarations to provide information about the
> default value of a given attribute. XSchema provides for the four cases
> supported by XML 1.0: #REQUIRED, #IMPLIED, #FIXED AttValue, and AttValue,
> though they are expressed as choices between required and not required and
> fixed or not fixed, with an optional default value. There may be only one
> default value declaration per attribute.
I used to think that Required, Fixed, and default value were orthogonal, that
the XML naming scheme was confusing, and that this new scheme was wonderful.
Then I looked at the possible combinations, half of which are illegal:
Required Fixed AttValue XML 1.0 Value
-------- ----- -------- --------------------------------
Yes Yes <value> #FIXED <value>
Yes Yes -- error [1]
Yes No <value> AttValue
Yes No -- #REQUIRED
No Yes <value> error [2]
No Yes -- error [1]
No No <value> error [2]
No No -- #IMPLIED
[1] Fixed=Yes without a value is clearly an error.
[2] In XML, a default attribute value effectively implies that an attribute is
required; that is, that it always has a value. Non-required defaults don't make
sense, as they imply that an attribute can be missing (null in database terms)
but, if present, use a default. XML has no concept of null-valued attributes,
so non-required defaults are errors.
What I realized is that the relationship between Required, Fixed, and AttValue
is hierarchical, not orthogonal:
Not required
Required, no default
Required with default
Required with fixed default
I like the wording of the current scheme, which is much clearer than XML's
wording, but am leery that half the combinations are illegal. Should we change
this to another syntax with no illegal possibilities (nothing equally clear
comes to mind) or simply document the illegal combinations?
-- Ron Bourret
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list