MudGuard: id()-Umkehrung? Alle Elemente, die in IDREFS gesuchte ID haben?

Beitrag lesen

Hi,

Also eine Funktion, die alle Elemente liefert, die in einem per IDREFS deklarierten Attribut eine gegebene ID haben?
Gibt es eine _sauberere_ Lösung dafür? Also eine, die mit beliebigen id-Werten funktioniert?

<xsl:key name="patizip2event" match="participant" use="id(@events)/@id" />

Ich hätte das eigentlich wissen sollen, daß es mit einem key geht.

Nochmal Nachfrage, ob ich das jetzt endlich richtig verstanden habe:
Das key-Element liefert mir sowas (natürlich nicht als Strings, sondern als Nodeset, aber zur Visualisierung einfach mal die Elemente hingeschrieben):

e01 ->     <participant events="e01 e03" name="Alpha"/>

e02 ->     <participant events="e02" name="Bravo"/>,<participant events="e02 e03" name="Charlie"/>

e03 ->     <participant events="e01 e03" name="Alpha"/>,<participant events="e02 e03" name="Charlie"/>

also zu jedem key (hier die ids der Events) eine Liste der participants (bzw. der in match aufgelisteten Knoten), auf die das use-Attribut zutrifft

<xsl:apply-templates select="key('patizip2event', @id)" mode="byevent"/>

und hier wird mit der key-Funktion die entsprechende Liste zurückgegeben.

Ich danke Dir wieder mal, Thomas!

cu,
Andreas

--
MudGuard? Siehe http://www.Mud-Guard.de/
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.