It seems there has been a fair amount of confusion. Let me try and clear some of it up. I had solved this problem for myself before the original post.
I had something like return <review>{$t/@name}</review> following a group by. I had intended it to create an atomized @name attribute in the review element. Instead I got a duplicate attribute node error and my instant reaction was WTF. I had already cut and pasted ready to file an error report but thanks to my group by session with Doc K yesterday I figured out there were duplicates because of the effect of the group by. So then I went to look up the data function in Doc K's book and it says "Atomization is a process that is invoked implicitly when a sequence containing nodes is used in a context where atomic values are expected". And I thought - that fits what I am doing. I have (thanks to group by) a sequence that contains nodes and I am using it in a context where (to my understanding) atomic values are expected - because it is going to end up (by whatever process) as an attribute node. Therefore I should have had the benefit of implicit atomization. Unless I did not read down far enough Doc K's book, it doesn't say anything about any distinction in how these attribute nodes are created. Anyway the data() function which I now know is characterised as explicit atomization did the trick - I was all fine and dandy. I decided to check the spec because from reading Doc K I it looked like I should have had a slam dunk implicit atomization. When I did so it looked like it was saying (and still does to me) the opposite to what Doc K was saying in his book. So the primary motive for the thread was - I've solved my problem but think I should be getting implicit atomization here. Sub motives were clarification of the perceived discrepancy between Doc K's book which I understood and the spec which I didn't. I also hinted at concern over the circumstances of the error message (because that for me lies at the root of it). I should note that Section 2.4.2 of the spec that deals with atomization doesn't say anything about any of the distinctions mentioned in this thread. What it does says is Atomization is used in processing the following types of expressions: ................................................................................ ................................................................................ - Constructor expressions for various kinds of nodes and there are no footnotes or superscripts directing you or advising you of a need to read anything else on the subject. All the while I was posting examples I had already gotten a working solution - maybe I should have just gotten on with my work. Hopefully that only leaves the Chinese burn as possible source of confusion for those who may have had a different cultural childhood. Better to give than to receive. On Wed, Jan 8, 2014 at 2:06 PM, Ihe Onwuka <ihe.onw...@gmail.com> wrote: > We were having an orthogonal conversation. > > He didn't care about the effect and context of the resulting error message > and I didn't care about the distinction between attribute constructors and > attributes created as part of element constructors. > > > On Wed, Jan 8, 2014 at 1:59 PM, Andrew Welch <andrew.j.we...@gmail.com>wrote: > >> > I don't care David, because you miss the whole point. >> >> Has DC misunderstood something? If so we should print and frame this >> thread for posterity. >> > >
_______________________________________________ talk@x-query.com http://x-query.com/mailman/listinfo/talk