Hello, I'm trying to build an xmlsetsetup with an own lua function. XML in MKIV says on pg. 33: You can also use normal Lua functions as long as you make sure that you pass the right arguments. There are a few predefined variables available inside such functions. list table the list of matches l number the current index in the list of matches ll element the current element that matched order number the position of the root of the path But I can't figure out how to get access to list, ll etc. My MWE (only for testing the access, is always true): \startbuffer[text] <para>Dies ist <inline style="sup">ein</inline> xxx<inline style="sub">zwei</inline> noch ein <inline style="sup">sup</inline> Test<inline style="sub">sub</inline></para> \stopbuffer %\enabletrackers[xml.parse,xml.path] \startluacode function xml.expressions.nextnodeatt(e) inspect(e) inspect(ll) return('sub') end \stopluacode \startxmlsetups xml:textsetups \xmlsetsetup{#1}{*}{+} \xmlsetsetup{#1}{para}{xml:*} \xmlsetsetup{#1}{inline[@style='sup'][xml.expressions.nextnodeatt(ll)=='sub' ]}{xml:sub} \stopxmlsetups \xmlregistersetup{xml:textsetups} \startxmlsetups xml:para \xmlflush{#1}\par \stopxmlsetups \startxmlsetups xml:sub \color[red]{\xmlflush{#1}} \stopxmlsetups \starttext \xmlprocessbuffer{main}{text}{} \stoptext Thanks in advance, Achim