Declarations, as this paragraph says, constrain elements' content. But not as much as we'd really like. All they really control is which types of elements can be children, what order they appear, and whether they have text in between them.
A lot of people would like to do a lot more constraining; to declare, for an element named <DateOfBirth>, that it must contain a valid date string, that must be earlier than the current date.
At another level, people would like to say that the element <Golfer> inherits all the attributes and declarations from the element <Person>, then adds one or two more such as "Handicap".
There is quite a lot of work under way to figure out how to build a document declaration facility that is more advanced than what today's DTDs offer.
Back-link to specCopyright © 1998, Tim Bray. All rights reserved.