|
Subject: Re: Need help for the query example From: Peter Nilsson <pnidv96@xxxxxxxxxxxxxx> Date: Wed, 21 Jul 1999 15:44:41 +0200 (CEST) |
On Tue, 20 Jul 1999, Brandon Ibach wrote:
> Right... if you want this rule to match *every* PI in the entire
> document, then (assuming that only PI's have systemData) something
> like the following should work:
> (query (node-list-filter
> (lambda (n) (node-property "systemData" n default: #f))
> (descendants (current-root)))
> (construction-rule-here))
>
> Unless Jade (or whatever processor would be doing this) is quite
> clever, this would be a fairly inefficient process, of course, as it
> forces the engine to go through every node in the grove, checking for
> that property. I'm not sure, offhand, if there is a better way to do
> this, but this should work, at least.
>
I'm not sure if I remember correctly, but wouldn't
(q-class 'pi)
find all the PI:s? q-class is in 10.2.5. So
(query (q-class 'pi) (construction-rule))
would do construction-rule with every pi. Or
(query (node-list-filter
(lambda (n)
(is-what-you-want (node-property 'system-data n)))
(q-class 'pi))
(make paragraph
(literal "One of my wanted pis: "
(node-property 'system-data
(current-node)))))
(define (is-what-you-want str)
; Return a true value if the PIs system data is ok. (Note that str is a
string)
)
could maybe be the base for some example? I think this is correct (I've
tried to check with the standard), but it is hard to test it...
Regards,
/Peter Nilsson
--
'(?P . (?e . (?t . (?e . (?r)))))
DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: Need help for the query example, Didier PH Martin | Thread | reflection, Holger Klawitter |
| Re: OpenJade and Debian, Matthias Clasen | Date | RE: OpenJade and Debian, Peter Nilsson |
| Month |