Dear list, I have the following sample: \startbuffer[demo] <doc> <p>standard list:</p> <ul> <li> <p>item from loose list</p> </li> <li> <p>item from loose list</p> </li> </ul> <p>packed list:</p> <ul> <li>item from tight list</li> <li>item from tight list</li> </ul> </doc> \stopbuffer \startxmlsetups xml:initialize \xmlsetsetup{#1}{ul|li|p}{xml:*} \stopxmlsetups \xmlregistersetup{xml:initialize} \startxmlsetups xml:ul \startitemize \xmlflush{#1} \stopitemize \stopxmlsetups \startxmlsetups xml:ul:packed \startitemize[packed] \xmlflush{#1} \stopitemize \stopxmlsetups \startxmlsetups xml:li \startitem \xmlflush{#1} \stopitem \stopxmlsetups \startxmlsetups xml:p \xmldoifnotselfempty {#1} { \dontleavehmode \ignorespaces \xmlflush{#1} \removeunwantedspaces } \par \stopxmlsetups \starttext \xmlprocessbuffer{main}{demo}{} \stoptext Standard lists are defined in XML code with ul/li/p and packed lists remove the final /p from the path. How can I associate the each XML list to its right ConTeXt code? Many thanks for your help, Pablo -- http://www.ousia.tk