I did load an xml data file containing
  <nodes><subnode>...</subnode></nodes>
with:
  \xmlload{Data}{data.xml}

Then correctly find the number of data from \xmlcount{Data}{subnode}
however \xmlflush{Data} is not giving me the processed nodes from
  \startxmlsetups do:subnode
    doing something with xmlflysh{#1}
  \stopxmlsetups
but only the raw input <nodes><subnode>...</subnode></nodes>

Do I err in my understanding? And if so, how to do it better?

Below a minimal example and its output.


\startxmlsetups load:setups
  \xmlsetsetup{#1}{root|nodes|subnode}{load:*}
\stopxmlsetups
\xmlregistersetup{load:setups}

\startxmlsetups load:root
  \xmlloadbuffer{Data}{dataset}
  Number of <subnodes> = \xmlcount{Data}{subnode}\blank
  \xmlflush{Data}
\stopxmlsetups

\startxmlsetups load:subnode
  Content <subnode> \xmlflush{#1}\par
\stopxmlsetups

\startbuffer[test]
<?xml version="1.0" encoding="UTF-8"?>
<root></root>
\stopbuffer

\startbuffer[dataset]
<?xml version="1.0" encoding="UTF-8"?>
<nodes>
  <subnode>this is subnode-1</subnode>
  <subnode>this is subnode-2</subnode>
  <subnode>this is subnode-3</subnode>
</nodes>
\stopbuffer

\starttext
\xmlprocessbuffer{root}{test}{}
\hairline
\stoptext