[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: sorting titles w stopwords but w/o value in every
Thanks for the help. (I am still referring to the stop-words variable with document('')/xsl:stylesheet/sw:stop/word because that does give me the sort order. Because our setup, that may be my only option.) The problem I still have is that entries without a value in the title sort first. I need to group by title when the doc-number is the same. It may be both a sorting and grouping problem, but I don't know how to go about it. (The doc number is included only for testing. I left out imprint and ISBN from this sample for clarity. It is possible to have the same issue or different issue arrive on the same or different days as there are multiple subscriptions.) The output I need is: doc# Title Description Arrived date 53690 American Artist v.68:no.738(2004:Jan.) 02/26/2004 57769 The American city & country v.119:no.1(2004:Jan.) 02/11/2004 57769 v.119:no.3(2004:Mar.) 03/25/2004 58345 American demographics v.26:no.1(2004:Feb.) 02/05/2004 58345 v.26:no.1(2004:Feb.) 02/26/2004 58345 v.26:no.2(2004:Mar.) 02/26/2004 58345 v.26:no.2(2004:Mar.) 02/26/2004 Sample of problem causing xml: ------------- <section-02> <title>Forbes.</title> <isbn-issn>0015-6914</isbn-issn> <doc-number>58615</doc-number> <description>v.173:no.5(2004:Mar.15)</description> <arrival-date>03/15/2004</arrival-date> </section-02> <section-02> <title></title> <isbn-issn-code></isbn-issn-code> <doc-number>58615</doc-number> <description>v.173:no.1(2004:Jan. 12)</description> <arrival-date>01/12/2004</arrival-date> </section-02> <section-02> <title></title> <isbn-issn-code></isbn-issn-code> <doc-number>58615</doc-number> <description>v.173:no.2(2004:Feb. 02)</description> <arrival-date>01/21/2004</arrival-date> </section-02> My stylesheet: ------------- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:sw="mailto:bubba@xxxxxxx" exclude-result-prefixes="sw"> <xsl:include href="funcs.xsl"/> <sw:stop> <word>the</word> <word>a</word> <word>an</word> </sw:stop> <xsl:variable name="stop-words" select="document('')/xsl:stylesheet/sw:stop/word"/> <xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'"/> <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUV'"/> <xsl:template match="/"> <table border="'1'"> <th colspan="6">Arrived Issues sorted without stop words</th> <tr> <td align="center"><b/>number</td> <td align="center"><b/>Title</td> <td align="center"><b/>ISBN-ISSN</td> <td align="center"><b/>Imprint</td> <td align="center"><b/>Description</td> <td align="center"><b/>Arrived</td> </tr> <xsl:for-each select="//section-02/z13-title"> <xsl:sort select="concat(substring(substring-after(.,' '), 0 div boolean ($stop-words[starts-with(translate(current(), $uppercase, $lowercase), concat(translate(., $uppercase, $lowercase), ' '))])), substring(., 0 div not ($stop-words[starts-with(translate(current(), $uppercase, $lowercase), concat(translate(., $uppercase, $lowercase), ' '))])))"/> <xsl:sort select="number(concat(substring(../z30-arrival-date, 7,4), substring(../z30-arrival-date, 1,2), substring(../z30-arrival-date, 4,2)))" order="descending"/> <tr> <td width="10%"><xsl:value-of select="../z30-doc-number"/></td> <td width="30%"><xsl:value-of select="../z13-title" /></td> <td width="10%"><xsl:value-of select="../z13-isbn-issn"/></td> <td width="20%"><xsl:value-of select="../z13-imprint"/></td> <td width="20%"><xsl:value-of select="../z30-description"/></td> <td width="10%"><xsl:value-of select="../z30-arrival-date"/></td> </tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet> Thanks, Susan Campbell College Center for Library Automation 1753 W. Paul Dirac Drive Tallahassee, FL 32310 850-922-6044
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|