Formal semantics of step expressions

I have a question concerning the XQuery data model (as described in the formal 
semantics), and the dynamic semantics of step expressions (also as described 
in the formal semantics).

Suppose that the variable $dot is bound to the following value:

element dummy of type T1 {
       42 of type xs:integer
}

What would the result be of child::node()? Is it 42 of type xs:integer or is 
it the empty sequence? More specifically, what is is value2 in

dynEnv |- axis child:: of element dummy of type T1 { 42 of type xs:integer } 
=> Value2

And what is Value3 in 

dynEnv |- test node() with element of Value2 => Value3

As far as I can see, the axis judgement only returns element child content in 
this case, which would result in the empty sequence. Even if it did return 
the value 42 of type xs:integer, the test judgement would return the empty 
sequence, since 42 of type xs:integer is an atomic value, not a node. If this 
reasoning is correct, how would I be able to obtain the entire child value of 
the value above? 

Is it true that the dynamic semantics of step expressions cannot handle atomic 
values, and therefore does not work on the entire data model? Or is atomic 
data viewed as being a text node when applying a step expression?

--Stijn Vansummeren

Limburgs Universitair Centrum
Universitaire Campus 
Gebouw D
3590 Diepenbeek
Belgium

Received on Monday, 17 November 2003 04:48:40 UTC