let $codes:=distinct-values(for $rec in ( input()//record) return string-join(($rec/code, $rec/subcode),","))
for $c in $codes
let $code:=substring-before($c,",")
let $subcode := substring-after($c,",")
let $nodes:=input()//record[state='0001' and code=$code and subcode=$subcode]
return <node code="{$code}" subcode="{$subcode}">{ count($nodes) }</node>