Re: Emulation of XSL's id() in DSSSL?

Subject: Re: Emulation of XSL's id() in DSSSL?
From: Toby Speight <Toby.Speight@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: 25 Feb 2000 16:05:10 +0000
Ralf> Ralf Kempkens <URL:mailto:kempkens@xxxxxxxxxxx>

0> In article <200002251516.QAA28379@xxxxxxxxxxx>, Ralf wrote:

>>> (e.g. <node id="id7" references="id1 id2 id4 id9">...</node>)
>>>
>>> Does anybody out there have a function handy, that will return the
>>> right nodeset?
>>
>> (element-with-id 'value') will return the element that has ID 'value'.

Ralf> That's just the problem.  I want to support multiple references.
Ralf> So I need a scheme function that breaks up a string into a list,
Ralf> using space as separator.

There's no need to go via strings.

Assuming the 'references' attribute is declared IDREFS (it should be),
you can use the `referent' function, which maps over all the values:

  (referent (attribute-value "references" (current-node)))

will return the node-list you're after.

I'm not sure if it's possible to do this with non-IDREF attributes,
though (for example, pointers into another grove).

-- 


 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread