<xforms:repeat nodeset="xxforms:sort(instance('data')/query/PCIAudit/@*[not(name() = 'nodeID') and not(name() = 'parents') and not(name() = 'contentdata') and not(matches(name(),'parent-.*ID')) and not(name() = 'ID')],name())">
<xxforms:variable name="atrName" select="name()" />
<xhtml:tr class="{if (position() mod 2 = 0) then 'even' else 'odd'}">
<xhtml:td style="text-align: right;" width="30%">
<xforms:input ref="." id="bob">
<xforms:hint ref="instance('types')//type[@typeID = concat('PCIAudit.',$atrName)]/hint" />
<xforms:alert ref="instance('types')//type[@typeID = concat('PCIAudit.',$atrName)]/alert" />
</xforms:input>
</xhtml:td>
<xhtml:td>
this line works fine
<xforms:output value="instance('types')//type[@typeID = concat('PCIAudit.',$atrName)]/help" />
this line throws the error
<xforms:help for="bob">
<xforms:output value="instance('types')//type[@typeID = concat('PCIAudit.',$atrName)]/help" />
</xforms:help>
</xhtml:td>
</xhtml:tr>
</xforms:repeat>
doing it this way will also throw the error
<xforms:help for="bob" ref="instance('types')//type[@typeID = concat('{@nodeSet}.',$atrName)]/help"/>