Subject: Re: [xsl] Sorting outside of a for-each From: "Thomas B. Passin" <tpassin@xxxxxxxxxxxx> Date: Fri, 12 Oct 2001 15:23:39 -0400 |
In addition to Jeni's suggestion, you could create a node-set of the unique country names using the "Muenchian" method (look it up in one of the FAQs), then do a for-each over the unique names. Within each for-each interation, use for-each or apply-templates selecting template matching the country that is currently active: <xsl:variable name='current-country' select='@country_id/> <xsl:apply-templates select='/root/country_name[@country_id=$current-country]'/> (assumes that the document element is called "root"). I didn't test this but it should be pretty close to what you need. Cheers, Tom P [Steve Bruce] > > The XML I am using to create a HTML page is not generated in a sorted order. > Below is a subset of the XML I am using. > > <country_name country_id="US">United States</country_name> > <country_name country_id="US">United States Dollar</country_name> > <country_name country_id="GB">United Kingdom Pound</country_name> > <country_name country_id="GB">United Kingdom</country_name> > <country_name country_id="FR">France Francs</country_name> > <country_name country_id="FR">France</country_name> > <country_name country_id="DE">Germany</country_name> > <country_name country_id="DE">Germany Marks</country_name> > > <country_sort country_sort_id="US"> > <country_sort country_sort_id="GB"> > <country_sort country_sort_id="FR"> > <country_sort country_sort_id="DE"> > > The country_name tags are not returned in a sorted order. I want to loop by > the country_sort tags, because they only show 1 instance of the items in the > country_name tags. If I looped by the country_name, I would duplicate my > results. For my output, I want to return the country_name for the > country_sort_id that excludes the currency (dollar, pounds, francs, marks). > So, what I believe I want to do is a for-each on the country_sort tag and > then return the first country_name field for that id, assuming the > country_name tags have been sorted in ascending order. This would then > ensure the name with the currency is always second. > > However, I have not been able to determine a process for sorting the > country_name tag without a corresponding for-each. Is this possible? XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Sorting outside of a for-, Jeni Tennison | Thread | [xsl] best way to generate form fro, Graham Seaman |
[xsl] Translate, Kevin_Gutch | Date | Re: [xsl] keys and idrefs - XSLT2 r, Mulberry Technologie |
Month |