Subject: [xsl] Need help on that tricky selection|
From: Christoph Wieseke <virtualize@xxxxxxx>
Date: Tue, 25 May 2004 21:10:08 +0200
i'm working on that for days, but didn't find a solution yet, maybe some can help me on that tricky thing.
<lines> <hst_list> <hst index="1">1031501</hst> <hst index="2">1031401</hst> <hst index="3">1031301</hst> <!-- followed by another 20--> </hst_list> <orte> <ort> <ort_nr>1031501</ort_nr> <ort_name>HBF Gleis 1</ort_name> <ort_dr_name>Hauptbahnhof, Gleis 1</ort_dr_name> <ort_pos_x>4526402</ort_pos_x> <ort_pos_y>5689992</ort_pos_y> </ort> <ort> <ort_nr>1031401</ort_nr> <ort_name>TOKI</ort_name> <ort_dr_name>Thomaskirche</ort_dr_name> <ort_pos_x>4526402</ort_pos_x> <ort_pos_y>5689992</ort_pos_y> </ort> <!-- followed by another 3000--> </orte> <lines>
as you can maybe see, every <hst> element belongs to a <ort> element and can be identified by its <ort_nr>
what i want to do is: select all the <ort> elements, complete with all their childs, where the <hst> is equal to the <ort_nr> and throw the rest away.
one problem is, that i need exactly the order which is given within the <hst_list> (the index attribute) the other problem may be the performance, because it's possible that this xml contains about 3-5 thousend of <ort> elements
so far i tried lots of different approaches, with <xsl:if> , <xsl:for-each> and variables, but can't get even near a solution.
normally i would just put it all in a database and ask my best friend sql, but its not possible here.
thanks fo taking trouble Christoph Wieseke