> I've not tried it, but there is sortLC > http://rocky.uta.edu/doran/sortlc/ Using your sample as input, sortLC outputs this result: LB1027 .P383 1999 LB1027.23 .B45 1997 LB1027.23 .S556 1996 LB1027.25 E45 2001 LB1027.3 .E44 2001 LB1027.3 .E45 1997 LB1027.3 .S33 1999 LB1027.44 .M67 1994 LB1027.9 .L43 2004 LB1027.9 .S26 2000 LB1028 .A7 1990 LB1028.24 .B75 1999 LB1028.24 .P65 1999 > It is in beta. I think any LC sort routine will break done eventually, especially given the creativity and/or local practice occasionally used in the creation/assignment of LC call numbers. But sortLC should take you further along the path than your current sort routine. Note that the routine should kick out (to STDERR) any call numbers that it can't parse. Also be aware that it will dedupe identical call numbers. There was also a minor change made to the call number regexp to more accurately handle certain "bad" call numbers, so please let me know if there are any unintended (bad) consequences. The changed version is 1.2b. -- Michael # Michael Doran, Systems Librarian # University of Texas at Arlington # 817-272-5326 office # 817-688-1926 cell # [log in to unmask] # http://rocky.uta.edu/doran/ > -----Original Message----- > From: Code for Libraries [mailto:[log in to unmask]] On > Behalf Of Bigwood, David > Sent: Tuesday, December 13, 2005 3:14 PM > To: [log in to unmask] > Subject: Re: [CODE4LIB] LC sort problems (php) > > Ken, > > I've not tried it, but there is sortLC > http://rocky.uta.edu/doran/sortlc/ It is in beta. > > David Bigwood > [log in to unmask] > Lunar & Planetary Institute > http://www.lpi.usra.edu/library/whats_new.shtml > > > -----Original Message----- > From: Code for Libraries [mailto:[log in to unmask]] On > Behalf Of > Ken Irwin > Sent: Tuesday, December 13, 2005 2:55 PM > To: [log in to unmask] > Subject: [CODE4LIB] LC sort problems (php) > > Hi folks, > > I've been using a Library-of-Congress sort routine for a few > years, and > until now I have never used it on sufficiently large set of data to > notice that it doesn't really work. It does a great job of > sorting by LC > class letters, but after that it gets a bit sketchy. Can > someone help me > here? > > The sort uses the php "usort" command, with the sort routine > defined in > the SortCall function (at the bottom of the page) > Here's the sort in action: > http://www6.wittenberg.edu/lib/sort.php > And here's the code: > http://www6.wittenberg.edu/lib/sort.txt > > I'm finding that LC call numbers with decimals in the first > number seem > to be especially confusing, as in this supposedly sorted list: > > LB1027 .P383 1999 > LB1027.9 .L43 2004 > LB1028.24 .B75 1999 > LB1027.3 .S33 1999 > LB1027.9 .S26 2000 > LB1028.24 .P65 1999 > LB1027.3 .E44 2001 > LB1028 .A7 1990 > LB1027.25 E45 2001 > LB1027.3 .E45 1997 > LB1027.23 .B45 1997 > LB1027.23 .S556 1996 > LB1027.44 .M67 1994 > > Can anyone see why this isn't working? Alternately, does > anyone have an > LC sort routine that they are really happy with? This one doesn't even > pretend to do a good job sorting on anything with more than one set of > cutters, but now I find it's even lamer than I thought. > > Help! > > Thanks > Ken > > -- > Ken Irwin > Reference Librarian > Thomas Library, Wittenberg University >