- ref points to a single node ("single-node binding"). Its most frequent use is to bind a control such as xforms:input to XML data.
- nodeset points to any number of nodes ("node-set binding"). This is used for example by xforms:repeat and xforms:itemset, which iterate over multiple nodes.
The good news is that the solution is very simple, because it turns out that having two separate attributes is not necessary in the first place. So the Working Group has decided that XForms 2.0 will use ref everywhere and deprecate nodeset, keeping it around for backward compatibility only.
This has the additional benefits of simplifying the XForms syntax and removing a possible source of confusion for form author (e.g. which attribute should you use on xforms:bind?).
So get used to write:
<xforms:repeat ref="foo">Another good news: Orbeon Form already supports "ref everywhere" since version 3.9, so feel free to drop good old nodeset!