Lists Home |
Date Index |
1. You asked for a use case for default values, which I provided. I was
not intending to argue with you about what you consider their special
status, but which I suspect may be a historical accident (see #4 below).
Default values for attributes and elements are not necessary, but are
convenient for the application programmers and vendor, and for the users in
the instances I describe.
2. As you point out, default values must be used judiciously -- when they
are safe rather than when they are merely convenient, particularly when a
DTD change is used for compatibility with a application version change.
3. Consider a case where an application is capable of extracting
information from an already existing user database. It is the user's
responsibility to set up some views on the existing tables to produce the
data in the right format for the application. Then the user must add to the
configuration file a user id, a database type (say Oracle vs. SQL Server), a
port and driver name, and the names of the views that the application must
use. A user who knows how to do this does not necessarily know what's a
good setting for the logging severity level. Having a default value means
he doesn't have to tweak this setting in the configuration file. Users may
never change this setting, except when instructed by vendor's customer
4. I was not attempting to argue that default element and attribute values
deserve a special place. Presumably they are present in XML as an SGML
legacy and perhaps not all the consequences of carrying them over when there
was a choice of well-formed parsing vs. validation were thought through in
sufficient detail. The working group members can probably elucidate.
Certainly it makes eminent sense to have default values if a document must
always be validated against a DTD or schema.