On 6/17/24 16:52, Wolfgang Schuster wrote:
Hans van der Meer schrieb am 17.06.2024 um 09:01:
I want to show an errormessage when the macro is undefined. It requires expansion of \xmlatt{#1}{name}.
dr. van der Meer, \xmldoifatt (with ifnot and ifelse variants) should cover that case (https://www.pragma-ade.com/general/manuals/xml-mkiv.pdf#search=xmldoifatt). But I cannot make any of these conditionals work (I‘m afraid there may be an issue with their definition). \startbuffer[ifdefined] <document> <macro name="bold" arg="text"/> <macro name="hvdm" arg="text"/> </document> \stopbuffer \startxmlsetups xml:hvdm \xmlsetsetup{#1}{*}{xml:*} \stopxmlsetups \xmlregistersetup{xml:hvdm} \startxmlsetups xml:document \xmlflush{#1} \stopxmlsetups \startxmlsetups xml:macro \xmlatt{#1}{name}\\ \xmlatt{#1}{arg}\\ \xmldoifelseatt{#1} {name}{yes}{no}\\ \xmldoifelseatt{#1} {names}{yes}{no}\\ \stopxmlsetups \starttext \xmlprocessbuffer{hvdm}{ifdefined}{} \stoptext As a workaround \doifelsetext{\xmlatt{#1}{name}}{yes}{no} may do the trick here. I hope it helps, Pablo