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] Can we treat XML elements and attributes as sets

[ Lists Home | Date Index | Thread Index ]

[This post is purely about expositional writing about XML, no substantive 
discussion here.]

On Mon, 22 Aug 2005, Elliotte Harold wrote:

>> <a>pi</a>
>> <a>
>>   <b>3.14156</b>
>> </a>
> The tricky bit here that I've struggled with while writing this is what does 
> it mean for two elements to be the same. In this context, that we're talking 
> about the element "kind" rather than the element instance. Otherwise the 
> first element <a>1</a> is not the same as the second element <a>1</a>. At the 
> same time, I want to avoid the word "type" which has just way too many 
> connotations. However, I don't really want to say that the names are the same 
> either, since that doesn't really reflect how namespaces are used in 
> practice.

But is there actually any need to define the one and only notion of 
"sameness" for elements? (Or "elements being of the same kind")  I'd 
suggest that there are multiple ones, and any can be argued to be natural 
for an appropriate task at hand.  E.g.:

1. Elements are of the same kind when they have the same name. E.g., 
<a>3</a> and <a>4</a> are the same, and both different from <b>3</b>.

2. Elements are of the same kind when their content _values_ are equal. 
E.g, <a>3</a> and <b>3</b> are the same, but <a>3></a> and <a>4</a> are 

3. Elements are of the same kind when their _content models_ (e.g. types 
after validation w.r.t. an agreed-upon schema formalism) are equal. E.g., 
<a>3</a> and <b>4</b> are equal (when their contents are considered 
integers), and different from <a><c/></d></a>, which has element content.

4. Elements are of the same kind when they have the same name _and_ the 
same content model.

1 and 4 are probably more commonly needed, but 2 and 3 have their uses, 
too.  Particularly, when we talk just about namespaces (without bringing 
into the picture schema languages that might use namespaces), #1 is the 
appropriate notion of sameness -- since namespaces are just about tag 
names, not about elements whatsoever.

> I'm still not perfectly happy with my language here. Improvements are 
> solicited and appreciated. The difficulty we have explaining this stuff 
> clearly and correctly I think reflects some underlying problems in the whole 
> namespace model.
> Maybe this isn't even a namespace problem. Ignoring namespaces and going back 
> to XML 1.0, can we say that two FOO elements share some part of their nature? 
> Maybe not, Clearly an HTML table is not a furniture table, but isn't this 
> exactly the problem namespaces were supposed to solve? i.e. a 
> {http://www.w3.org/199/xhtml}table is always one kind of thing, never some 
> other kind of thing?

I probably misunderstand this passage, but I am afraid it talks about XML 
Namespaces Recommendation as a solution to the problem of assigning 
semantics (HTML table vs furniture table) to names of element tags. 
Namespaces are just about (1) broadening the pool of names available for 
creating documents so that we avoid stepping on each other's toes, and (2) 
keeping the syntax of documents manageable while doing so.  The problem 
(1) could have been solved by using element names like 
<www-w3c-org-1999-xhtml_table> vs <usa-cabinet-makers-association_table> 
--- as long as W3C would not start tags in its specifications the same way 
the cabinet makers did, everybody would be happy. But the syntax overhead 
would be unbearable, hence (2).

For semantic assignments, we do not (cannot?) have anything better than 
what Michael calls social conventions.  The cabinet makers would still be 
in perfect compliance with XML, Namespaces, and Schema if they published a 
schema / spec explaining the structure of documents that use element 
<table xmlns="http://www.w3c.org/1999/xhtml";> to describe furniture tables 
(pardon the URI's (in)correctness).  We would just boycott them, that's 



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

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