Lists Home |
Date Index |
"Bob Foster" <email@example.com> wrote:
| From: "Chiusano Joseph" <firstname.lastname@example.org>
|>> <author title="Contracts" title="Professor" title="13">James
|>> The "title" attribute above cannot be repeated.
| Of course not, but the questioner asked for an example of a name collision
| that required namespaces for disambiguation.
But namespaces (i.e. name munging via colonification) are not required for
| So I posited an author element with a title attribute and two annotations
| also named "title".
The constraint that attribute names be distinct in a starttag is a problem
only if one unnecessarily assumes that all vocabulary specific names must
be syntactically visible.
| <author title="Contracts" abc:title="Professor" xyz:title="13">James
<author title="Contracts" foo="Professor" bar="13"
abc="title foo" xyz="title bar">James Vleek</author>
"Required" or necessity of name munging is still not demonstrated.
| But I agree a not well-formed example detracts from the point, so here is
| exactly the same example using elements instead of attributes:
| <author name="James Vleek">
| Which would be well-formed, but ambiguous, without the namespaces.
Not at all. Attributes to guide interpretation is actually a very common
(and sometimes even overused!) technique.
Consider, for example, HTML's <INPUT>. It has a 'type' attribute to tell
the difference between radio buttons, checkboxes, etc. Processing code
follows the pattern:
else if type="checkbox"
IOW, the GI by itself does not fully discriminate "meaning". Nor, for
that matter, need it do so. To think that it *must* is a fallacy.
Now, if INPUT can be differentiated by an attribute, why not TITLE
<author name="James Vleek">
This would be an example of in-schema differentiation.
| Such examples arise out of a common use case, e.g., the "foreign elements"
| allowed by RELAX NG and XML Schema. A schema can be decorated with foreign
| elements from more than one domain; only the namespaces of the elements
| prevent collisions.
No. An attribute to tell the difference has been doing the job nicely for
years, except, of course, when people forget about them in the name of a