> -----Ursprüngliche Nachricht----- > Von: Hans Hagen <j.ha...@xs4all.nl> > Gesendet: Donnerstag, 24. August 2023 16:54 > An: ntg-context@ntg.nl > Betreff: [NTG-context] Re: xmldoif: checking for contents of attribute > > On 8/24/2023 4:11 PM, denis.ma...@unibe.ch wrote: > > Hi, > > > > I'm trying to check whether an attribute contains (or, actually starts > > with) a > given string.
> \xmldoifelse{#1}{.[@class and contains(@class,'abc')]}{Yes}{No} > \xmldoifelse{#1}{.[@class and find(@class,"abc")]}{Yes}{No} Thanks for your help. I can use that, but why is this sort of double-checking necessary here? \startxmlsetups xml:test \xmlsetsetup{#1}{*}{-} \xmlsetsetup{#1}{doc|element}{xml:*} \stopxmlsetups \xmlregisterdocumentsetup{test}{xml:test} \startxmlsetups xml:doc \xmlflush{#1} \stopxmlsetups \startxmlsetups xml:element 1 \xmldoifelse{#1}{.[@class and contains(@class,'abc')]}{Yes}{No} \par 2 \xmldoifelse{#1}{.[@class and find(@class,"abc")]}{Yes}{No} \par 3 \xmldoifelse{#1}{.[True and contains(@class,'abc')]}{Yes}{No} \par % runs, but no match 4 \xmldoifelse{#1}{.[True and find(@class,"abc")]}{Yes}{No} \par % run, but no match % 5 \xmldoifelse{#1}{.[contains(@class,'abc')]}{Yes}{No} \par % causes an error % 6 \xmldoifelse{#1}{.[find(@class,"abc")]}{Yes}{No} \par % causes an error \stopxmlsetups \startxmlsetups xml:whatever Yes \stopxmlsetups \startbuffer[test] <?xml version="1.0" encoding="UTF-8"?> <doc> <element class="abcdefg">Yes</element> <element>No</element> </doc> \stopbuffer \starttext \xmlprocessbuffer{test}{test}{} \stoptext ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________