\setupcaption[table][location=top]
% Fixing multipage table according to Hans Hagen:
\unprotect
% in core-ntb : we check the flag 
\def\splittblbox#1%
  {\ifinsidesplitfloat
     \donetrue
   \else\ifinsidefloat
     \donefalse
   \else
     \donetrue
   \fi\fi
   \ifdone
     \executeifdefined{splittblbox\tbltblsplitmethod}\splittblboxa{#1}%
   \else
     \notsplittblbox{#1}%
   \fi}
% in page-flt : we add a flag 
\newif\ifinsidesplitfloat % will become chardef
\def\dosplitfloat[#1]#2% nog dubbele refs
  {\ifinsidecolumns    % tzt ook nog figuren splitten
     % not yet supported
   \else
     \bgroup
     \insidefloattrue
     \insidesplitfloattrue
     \getparameters[\??si][#1]%
     \resetnumber[\??si]%
     \def\floatcaptionsuffix{\convertednumber[\??si]}%
     \TABLEcaptionheight\@@silines\lineheight % brrr
     \simplifypagebreak % \page becomes \goodbreak
     \dowithnextbox
       {\forgetall
        \dontcomplain
        \doloop
          {\setbox2\vsplit\nextbox to \lineheight
           \setbox2\vbox{\unvbox2}
           \ifdim\ht2>\lineheight
             \incrementnumber[\??si]%
             \ifcase\rawnumber[\??si]\or \ifdim\nextboxht=\zeropoint
               \let\floatcaptionsuffix\empty
             \fi \fi
             \bgroup
             #2{\unvbox2}
             \egroup
             \ifdim\nextboxht>\zeropoint
               \page
               \decrementnumber[\floatcaptionnumber]%
             \fi
           \fi
           \ifdim\nextboxht>\zeropoint\else
             \expandafter\exitloop
           \fi}%
        \egroup}
     \vbox
   \fi}
\protect
% beware: you need to set the splitmethod to b (boxed split) 

\defineXMLnested
  [splittable]
  {
    \defineXMLsave[caption]
    \defineXMLsave[header]
    \defineXMLsave[body]
    \defineXMLsave[footer]
  }
  {
    \splitfloat
      {\placetable[\XMLpar{table}{location}{here}][\XMLpar{table}{label}{unknown}]{\XMLflush{caption}}}
      {
        \setupTABLE[row][first][rulethickness=0.90pt,topframe=on]
        \setupTABLE[row][last][rulethickness=0.90pt,bottomframe=on]
        \bTABLE[frame=off,split=repeat,splitmethod=b,distance=7.5pt,style={\switchtobodyfont[small]\setupinterlinespace[line=2.8ex]}]
          \bTABLEhead\XMLflush{header}\eTABLEhead
          \bTABLEbody\XMLflush{body}\eTABLEbody
          \bTABLEfoot\XMLflush{footer}\eTABLEfoot
        \eTABLE
      }
  }
\defineXMLnested
  [tr]
  [bottomframe=,rulethickness=0.5pt]
  {\doifelse{\XMLop{bottomframe}}{}%
   {\expanded{\bTR}}%
   {\expanded{\bTR[bottomframe=\XMLop{bottomframe},rulethickness=\XMLop{rulethickness}]}}}
  {\eTR}

\defineXMLnested
  [td]
  [rows=1,cols=1]
  {\expanded{\bTD[nr=\XMLop{rows},nc=\XMLop{cols}]}}
  {\par\eTD}

\starttext
  \startXMLdata
    <splittable>
      <caption>
        FFFFFFFFFFFFF FF FFFFFFFFFFFFFFFFF FFFFFFFF FFFFF FFFFFFFFF FFFFFFFFF FFFFFFFF FFFF FF FFFFFFFFFF FFFFFFF FFFF FFFFFFFF FFF FFFFFFFF FF FFFFFFFFF FF FFFFFFF FFFFFFFF FFFFFFFFFFFFFFFF FFFFFF FFFFFFFF FFFFFFFFFFFF FFFFFFFFFF FFF FFFF FF FFF FFFF FFFFFFF FFFFFFFFF FFF FFFFF FF FFFFFFFF FFFF FFFFF FFFFFFFFF FF FFFFF  FFFF FFF FFFF FFFFFFFFFFFFFFF  FFFFFFFFF FFFFF FFFFFFFFFFF FFFFFFFF FFFFFFFFFFFFF FF FFFFFFFFFFFFFFFFF FFFFFFF FFFFFFFF FFF FFFFFFFF FFF FFFFFFFF FFFFFFFFF FFFFFF FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFF FFFFFFFFF FFFF FFFFFFF FF FFFFF FFF FFFFFFFFFFF FFFFF FFF FFFFFF F.
      </caption>
      <header>
        <tr bottomframe="on"><td rows="2">YYY</td><td cols="3">YYY</td><td rows="2">YYY</td><td rows="2">YYY</td><td rows="2">YYY</td></tr><tr bottomframe="on"><td>YYY</td><td>YYY</td><td>YYY</td></tr>
      </header>
      <body>
        <tr><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td></tr>
        <tr><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td></tr>
        <tr><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td></tr>
        <tr><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td></tr>
        <tr><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td></tr>
        <tr><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td></tr>
        <tr><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td><td>XXX</td></tr>
      </body>
    </splittable>
  \stopXMLdata
\stoptext
