OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Looking for an example of a name colliision

[ Lists Home | Date Index | Thread Index ]

"Bob Foster" <bob@objfac.com> wrote:
| From: "Chiusano Joseph" <chiusano_joseph@bah.com>

|>> <author title="Contracts" title="Professor" title="13">James
|>> Vleek</author>
|>> </Quote>
|>>
|>> 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
disambiguation.

| 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
| Vleek</author>

Or:

  <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">
|   <title>Contracts</title>
|   <abc:title>Professor</abc:title>
|   <xyz:title>13</xyz:title>
| </author>
| 
| 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:

   On GI="INPUT":
     if  type="radio"
       do this
     else if type="checkbox"
       do that
     ...

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
subelements?

  <author name="James Vleek">
    <title>Contracts</title>
    <title role="abc">Professor</title>
    <title role="xyz">13</title>
  </author>

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
convenient fallacy.





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS