[NTG-context] xml attribute conditional

Hans Hagen pragma at wxs.nl
Tue Dec 13 10:33:21 CET 2011


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
-----------------------------------------------------------------


More information about the ntg-context mailing list