http://www.oasis-open.org/cover/xmlAndSemantics.html
it was linked from http://www.ontology.org
(which is also a very good website)
pierre
PS: some highlight
In fact, XML syntax is designed for representing an encoded
serialization, and thus has a very limited range of expression for
modeling complex object
semantics, where "semantics" fundamentally means an intricate web of
constrained relationships and properties. Otherwise stated: XML is a
poor language
for data modelling if the goal is to represent information objects in
the problem domain such that they correspond transparently
("one-to-one") to the user's
conceptual model of objects in this domain. The principal constructs
available in XML for expressing relationships are "containment"
(hierarchy),
"adjacency" (A 'followed by' B), "co-occurrence" (if A then [also/not]
B), "attribute", and "opaque reference". These constructs are indeed
useful for
serialization, but are not optimal for modelling objects of a problem
domain in the way users typically conceive of the objects as core
abstractions. All
primitive relational semantics must be shoehorned into these crude
syntactic structures, and even then, the XML processor will not be
able to recognize their
significance. The notion of "attribute" might have been more useful
except that XML supports only a flat data model for the value of an
attribute in a
name-value pair (essentially 'string'). This flat model cannot easily
capture complex attribute notions such as would be predicated of
abstracted real world
objects, where attribute values are themselves typically represented
by complex objects, either owned or referenced