In order to differentiate between the case of an absent or an empty attribute on an xml-element I now use the following macro to set a TeX- \if:

% #1=node #2=attribute #3 defaultvalue: execute \attributetrue/false
\def\setFlagToAttribute#1#2#3{%
  \doifnot{\xmlattdef{#1}{#2}{NOTPRESENT}}{NOTPRESENT}%
    {\doifelse{\xmlatt{#1}{#2}}{\empty}%
      {\xmlvalue{choice}{#3}{\iftrue}}%
      {\xmlvalue{choice}{\xmlatt{#1}{#2}}{\iftrue}}%
        \csname#2true\endcsname\else\csname#2false\endcsname\fi
    }%
}

I find the use of the NOTPRESENT not very elegant. Is there a path expression and function that can tell the presence or absence of an attribute, just as its value can be filtered with a/b...@option==value]?

Hans van der Meer






___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to