Print

Print


> 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
>