Yes, it involves keys. Search the list archives for "Muenchian".
--
Charles Knell
cknell(_at_)onebox(_dot_)com - email
-----Original Message-----
From: Doug Rudder <drudder(_at_)drugfacts(_dot_)com>
Sent: Fri, 16 Dec 2005 09:21:44 -0600
To: "'xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com'"
<xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: [xsl] Grouping - Combining Nodes
Venerable XSLT Sages -
I'm using XSLT 1.0 to pull content from an XML data set to build a class
index. I've solved the first two pieces of the puzzle: Extract the
information from each drug topic and sort the index by class-name. However,
I'm bogged down and the third part: When multiple index entries have the
same class-name, combine them into a single index entry.
For example, in the snippet below, there are four class-items, sorted
alphabetically. The middle two have the same class name:
<class-index>
<class-item>
<class-name>Aminoglycoside</class-name>
<class-reflist>
<class-ref xref="fandc-atoz0479">Kanamycin Sulfate</class-ref>
</class-reflist>
</class-item>
<class-item>
<class-name>Analgesic</class-name>
<class-reflist>
<class-ref xref="fandc-atoz0483">Ketoprofen</class-ref>
</class-reflist>
</class-item>
<class-item>
<class-name>Analgesic</class-name>
<class-reflist>
<class-ref xref="fandc-atoz0484">Ketorolac Tromethamine</class-ref>
</class-reflist>
</class-item>
<class-item>
<class-name>Anti-infective</class-name>
<class-reflist>
<class-ref xref="fandc-atoz0482">Ketoconazole</class-ref>
</class-reflist>
</class-item>
</class-index>
I would like to combine those two into a single class-item that references
all related drug topics (basically move all related class-ref elements into
the same class-item under the class-name):
<class-index>
<class-item>
<class-name>Aminoglycoside</class-name>
<class-reflist>
<class-ref xref="fandc-atoz0479">Kanamycin Sulfate</class-ref>
</class-reflist>
</class-item>
<class-item>
<class-name>Analgesic</class-name>
<class-reflist>
<class-ref xref="fandc-atoz0483">Ketoprofen</class-ref>
<class-ref xref="fandc-atoz0484">Ketorolac Tromethamine</class-ref>
</class-reflist>
</class-item>
<class-item>
<class-name>Anti-infective</class-name>
<class-reflist>
<class-ref xref="fandc-atoz0482">Ketoconazole</class-ref>
</class-reflist>
</class-item>
</class-index>
Can this be done in XSLT 1.0. If so, how? Any tips will be appreciated.
====================== Douglas Rudder
XML Analyst
WoltersKluwer Health - Clinical Tools
77 West Port Plaza, Suite 450
Phone: 314-216-2227
e-mail: drudder(_at_)drugfacts(_dot_)com
www.drugfacts.com
======================
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--