On 13-12-2011 00:48, Jon Crump wrote:
All,

I have a conditional expression that checks to see if the current node
has any ancestor whose xml:id attribute matches a string

\xmldoifelse{#1}{ancestor::div[@xml:id='apr_engl']}

What I need is a test to see if the current node has any ancestor
whose xml:id attribute _contains_ a substring. Something like this:

\xmldoifelse{#1}{ancestor::div[ @xml:id contains('_engl')]}

trying this:
\xmldoifelse{#1}{ancestor::div[ contains(@xml:id, '_engl')]}

got me this error:
! LuaTeX error<     local expr = xml.expressions...>:3: bad argument
#1 to 'contains' (string expected, got nil)

any suggestions?

is there always an id? if not:

        @xml:id and contains(@xml:id,'_engl')

small test file needed

(you can run with \enabletrackers[xml.parse,xml.path] to see how it ends up)

Hans


-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
    tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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