[xquery-talk] items as nodes or atomic values
Michael Dyck
jmdyck at ibiblio.org
Mon May 7 15:24:42 PDT 2007
Smith, Donald T. wrote:
> I’m accustomed, from XPath 1.0, to thinking of trees of nodes, so I’m
> not quite getting what it means to have items in sequences that are
> either nodes or atomic values.
Even XPath 1.0 has non-node values, namely booleans, numbers, and
strings. It might help to consider expressions like
5 mod 2
and
concat("foo","bar")
that don't involve nodes at all.
> Since an atomic value is a string that
> conforms to an atomic type, atomic types are schema-defined, and nodes
> may or may not have schema-defined datatypes, I don’t understand the
> case where an atomic type would not be associated with – and so
> represented by -- a node.
An atomic *type* might be represented by a node, but that doesn't mean
an atomic *value* is represented by a node.
> The last line I quoted above indicates that this whole issue arises from
> something that goes on during expression processing, so perhaps this is
> an issue that only matters to those who write XQuery/XPath engines.
It isn't just internal to workings of engines, it can also manifest in
the final result of a query. E.g., the XPath 2.0 query
42, <x/>
yields a sequence of two items: an atomic value of type xs:integer and
an element node.
-Michael Dyck
More information about the talk
mailing list