[
Lists Home |
Date Index |
Thread Index
]
- To: Carlos Pita <carlosjosepita@yahoo.com.ar>
- Subject: Re: [xml-dev] all group composition
- From: Bob Foster <bob@objfac.com>
- Date: Fri, 01 Apr 2005 10:57:40 -0800
- Cc: xml-dev@lists.xml.org
- In-reply-to: <200503311152.28769.carlosjosepita@yahoo.com.ar>
- References: <200503311152.28769.carlosjosepita@yahoo.com.ar>
- User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041217
Carlos Pita wrote:
> But if one of the groups is a <sequence>
> it will be forcing an undesired ordering
> on its members.
It's all in how you think about it. If the order in a group doesn't
matter, then it doesn't matter that you enforce a particular one. If the
order in a group does matter (has some semantic significance) then it
matters very much that you don't enforce any.
Many people come to the table thinking, "There's no reason why element a
has to be written before element b, so I should use 'all'." But that's
not actually the primary use case for all. It is for situations where
user-specified order does matter and you wish to enforce an upper bound
on the number of occurrences.
It's actually not a favor to users to allow unconstrained order where
order doesn't matter, e.g., in 'data records'. It makes them harder for
humans to read when they are written every which way, it makes them
somewhat harder for programs to read/validate and it encourages users to
think that order _does_ matter, e.g., if a child is specified before a
spouse it means the primary beneficiary of an insurance policy should be
the child rather than the spouse. Humans are pattern-seekers, especially
good at finding patterns where there are none. E.g., only if it isn't
possible to change the relative order of spouse and child will certain
people realize that, therefore, the order must have nothing to do with
beneficiary and seek the correct way to specify it.
Bob Foster
|