blacklight 3.0pre1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +17 -0
- data/.gitmodules +6 -0
- data/.yardopts +4 -0
- data/Gemfile +4 -0
- data/LICENSE +14 -0
- data/README.rdoc +168 -0
- data/Rakefile +9 -0
- data/app/controllers/bookmarks_controller.rb +98 -0
- data/app/controllers/feedback_controller.rb +37 -0
- data/app/controllers/folder_controller.rb +49 -0
- data/app/controllers/saved_searches_controller.rb +45 -0
- data/app/controllers/search_history_controller.rb +25 -0
- data/app/helpers/blacklight_helper.rb +606 -0
- data/app/helpers/bookmarks_helper.rb +3 -0
- data/app/helpers/catalog_helper.rb +65 -0
- data/app/helpers/feedback_helper.rb +2 -0
- data/app/helpers/hash_as_hidden_fields.rb +57 -0
- data/app/helpers/render_constraints_helper.rb +120 -0
- data/app/helpers/saved_searches_helper.rb +2 -0
- data/app/helpers/search_history_helper.rb +2 -0
- data/app/models/bookmark.rb +6 -0
- data/app/models/record_mailer.rb +43 -0
- data/app/models/search.rb +19 -0
- data/app/views/_flash_msg.html.erb +6 -0
- data/app/views/_user_util_links.html.erb +13 -0
- data/app/views/bookmarks/index.html.erb +33 -0
- data/app/views/catalog/_bookmark_control.html.erb +25 -0
- data/app/views/catalog/_bookmark_form.html.erb +8 -0
- data/app/views/catalog/_citation.html.erb +15 -0
- data/app/views/catalog/_constraints.html.erb +7 -0
- data/app/views/catalog/_constraints_element.html.erb +33 -0
- data/app/views/catalog/_did_you_mean.html.erb +10 -0
- data/app/views/catalog/_document_list.html.erb +30 -0
- data/app/views/catalog/_email_form.html.erb +11 -0
- data/app/views/catalog/_facet_limit.html.erb +33 -0
- data/app/views/catalog/_facet_pagination.html.erb +28 -0
- data/app/views/catalog/_facets.html.erb +9 -0
- data/app/views/catalog/_folder_control.html.erb +12 -0
- data/app/views/catalog/_home.html.erb +6 -0
- data/app/views/catalog/_home_text.html.erb +6 -0
- data/app/views/catalog/_index_partials/_default.erb +11 -0
- data/app/views/catalog/_marc_view.html.erb +33 -0
- data/app/views/catalog/_opensearch_response_metadata.html.erb +3 -0
- data/app/views/catalog/_previous_next_doc.html.erb +6 -0
- data/app/views/catalog/_refworks_form.html.erb +7 -0
- data/app/views/catalog/_results_pagination.html.erb +11 -0
- data/app/views/catalog/_search_form.html.erb +14 -0
- data/app/views/catalog/_show_partials/_default.html.erb +9 -0
- data/app/views/catalog/_show_sidebar.html.erb +1 -0
- data/app/views/catalog/_show_tools.html.erb +46 -0
- data/app/views/catalog/_sms_form.html.erb +23 -0
- data/app/views/catalog/_solr_request.html.erb +5 -0
- data/app/views/catalog/_sort_and_per_page.html.erb +20 -0
- data/app/views/catalog/_unapi_microformat.html.erb +1 -0
- data/app/views/catalog/citation.html.erb +1 -0
- data/app/views/catalog/email.erb +1 -0
- data/app/views/catalog/endnote.endnote.erb +1 -0
- data/app/views/catalog/facet.html.erb +28 -0
- data/app/views/catalog/index.atom.builder +108 -0
- data/app/views/catalog/index.html.erb +37 -0
- data/app/views/catalog/index.rss.builder +19 -0
- data/app/views/catalog/librarian_view.html.erb +3 -0
- data/app/views/catalog/opensearch.json.erb +0 -0
- data/app/views/catalog/opensearch.xml.erb +11 -0
- data/app/views/catalog/send_email_record.erb +0 -0
- data/app/views/catalog/show.endnote.erb +1 -0
- data/app/views/catalog/show.html.erb +42 -0
- data/app/views/catalog/show.refworks.erb +1 -0
- data/app/views/catalog/sms.erb +1 -0
- data/app/views/catalog/unapi.xml.builder +6 -0
- data/app/views/feedback/complete.html.erb +3 -0
- data/app/views/feedback/show.html.erb +20 -0
- data/app/views/folder/_tools.html.erb +23 -0
- data/app/views/folder/index.html.erb +44 -0
- data/app/views/layouts/blacklight.html.erb +49 -0
- data/app/views/record_mailer/email_record.erb +6 -0
- data/app/views/record_mailer/sms_record.erb +4 -0
- data/app/views/saved_searches/index.html.erb +27 -0
- data/app/views/search_history/index.html.erb +23 -0
- data/blacklight.gemspec +50 -0
- data/config.ru +4 -0
- data/config/routes.rb +54 -0
- data/db/seeds.rb +7 -0
- data/features/generators.feature +77 -0
- data/features/support/aruba.rb +9 -0
- data/install.rb +0 -0
- data/install/solr.yml +8 -0
- data/lib/blacklight.rb +121 -0
- data/lib/blacklight/catalog.rb +311 -0
- data/lib/blacklight/comma_link_renderer.rb +27 -0
- data/lib/blacklight/configurable.rb +46 -0
- data/lib/blacklight/controller.rb +121 -0
- data/lib/blacklight/engine.rb +32 -0
- data/lib/blacklight/exceptions.rb +13 -0
- data/lib/blacklight/marc.rb +46 -0
- data/lib/blacklight/marc/citation.rb +251 -0
- data/lib/blacklight/search_fields.rb +107 -0
- data/lib/blacklight/solr.rb +7 -0
- data/lib/blacklight/solr/document.rb +239 -0
- data/lib/blacklight/solr/document/dublin_core.rb +40 -0
- data/lib/blacklight/solr/document/email.rb +15 -0
- data/lib/blacklight/solr/document/marc.rb +84 -0
- data/lib/blacklight/solr/document/marc_export.rb +430 -0
- data/lib/blacklight/solr/document/sms.rb +13 -0
- data/lib/blacklight/solr/facet_paginator.rb +93 -0
- data/lib/blacklight/solr_helper.rb +413 -0
- data/lib/blacklight/user.rb +55 -0
- data/lib/blacklight/version.rb +3 -0
- data/lib/colorize.rb +196 -0
- data/lib/generators/blacklight/blacklight_generator.rb +134 -0
- data/lib/generators/blacklight/templates/SolrMarc.jar +0 -0
- data/lib/generators/blacklight/templates/catalog_controller.rb +8 -0
- data/lib/generators/blacklight/templates/config/SolrMarc/config-test.properties +37 -0
- data/lib/generators/blacklight/templates/config/SolrMarc/config.properties +37 -0
- data/lib/generators/blacklight/templates/config/SolrMarc/index.properties +97 -0
- data/lib/generators/blacklight/templates/config/SolrMarc/index_scripts/dewey.bsh +47 -0
- data/lib/generators/blacklight/templates/config/SolrMarc/index_scripts/format.bsh +126 -0
- data/lib/generators/blacklight/templates/config/SolrMarc/translation_maps/README_MAPS +1 -0
- data/lib/generators/blacklight/templates/config/SolrMarc/translation_maps/callnumber_map.properties +407 -0
- data/lib/generators/blacklight/templates/config/SolrMarc/translation_maps/composition_era_map.properties +56 -0
- data/lib/generators/blacklight/templates/config/SolrMarc/translation_maps/country_map.properties +379 -0
- data/lib/generators/blacklight/templates/config/SolrMarc/translation_maps/format_map.properties +50 -0
- data/lib/generators/blacklight/templates/config/SolrMarc/translation_maps/instrument_map.properties +101 -0
- data/lib/generators/blacklight/templates/config/SolrMarc/translation_maps/language_map.properties +490 -0
- data/lib/generators/blacklight/templates/config/blacklight_config.rb +245 -0
- data/lib/generators/blacklight/templates/config/solr.yml +6 -0
- data/lib/generators/blacklight/templates/migrations/add_user_types_to_bookmarks_searches.rb +11 -0
- data/lib/generators/blacklight/templates/migrations/create_bookmarks.rb +17 -0
- data/lib/generators/blacklight/templates/migrations/create_searches.rb +15 -0
- data/lib/generators/blacklight/templates/migrations/remove_editable_fields_from_bookmarks.rb +11 -0
- data/lib/generators/blacklight/templates/public/images/blacklight/bg.png +0 -0
- data/lib/generators/blacklight/templates/public/images/blacklight/border.png +0 -0
- data/lib/generators/blacklight/templates/public/images/blacklight/bul_sq_gry.gif +0 -0
- data/lib/generators/blacklight/templates/public/images/blacklight/checkmark.gif +0 -0
- data/lib/generators/blacklight/templates/public/images/blacklight/logo.png +0 -0
- data/lib/generators/blacklight/templates/public/images/blacklight/magnifying_glass.gif +0 -0
- data/lib/generators/blacklight/templates/public/images/blacklight/remove.gif +0 -0
- data/lib/generators/blacklight/templates/public/images/blacklight/separator.gif +0 -0
- data/lib/generators/blacklight/templates/public/images/blacklight/start_over.gif +0 -0
- data/lib/generators/blacklight/templates/public/javascripts/blacklight.js +485 -0
- data/lib/generators/blacklight/templates/public/javascripts/jquery-1.4.2.min.js +154 -0
- data/lib/generators/blacklight/templates/public/javascripts/jquery-ui-1.8.1.custom.min.js +756 -0
- data/lib/generators/blacklight/templates/public/stylesheets/blacklight.css +487 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-bg_gloss-wave_35_558fd0_500x100.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-icons_2e4f81_256x240.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
- data/lib/generators/blacklight/templates/public/stylesheets/jquery/ui-lightness/jquery-ui-1.8.1.custom.css +486 -0
- data/lib/generators/blacklight/templates/public/stylesheets/yui.css +31 -0
- data/lib/generators/blacklight/templates/solr_document.rb +30 -0
- data/lib/railties/blacklight.rake +66 -0
- data/lib/railties/cucumber.rake +53 -0
- data/lib/railties/rspec.rake +188 -0
- data/lib/railties/solr_marc.rake +148 -0
- data/lib/railties/test_solr_server.rb +130 -0
- data/spec/helpers/catalog_helper_spec.rb +111 -0
- data/spec/views/catalog/_sms_form.html.erb_spec.rb +19 -0
- data/tasks/blacklight_tasks.rake +4 -0
- data/uninstall.rb +1 -0
- metadata +431 -0
@@ -0,0 +1,47 @@
|
|
1
|
+
import org.marc4j.marc.Record;
|
2
|
+
import org.solrmarc.tools.Utils;
|
3
|
+
import org.solrmarc.tools.CallNumUtils;
|
4
|
+
|
5
|
+
// define the base level indexer so that its methods can be called from the script.
|
6
|
+
// note that the SolrIndexer code will set this value before the script methods are called.
|
7
|
+
org.solrmarc.index.SolrIndexer indexer = null;
|
8
|
+
|
9
|
+
/**
|
10
|
+
* returns the facet value for dewey hundreds digits, and dewey tens digits
|
11
|
+
* @param record
|
12
|
+
* @return Set of Strings containing facet value for dewey hundreds digits, and dewey tens digits
|
13
|
+
*/
|
14
|
+
Set getDeweyFacet(Record record, String propertiesMapName)
|
15
|
+
{
|
16
|
+
LinkedHashSet resultSet = new LinkedHashSet();
|
17
|
+
Set values = indexer.getFieldList(record, "082a");
|
18
|
+
String mapName = indexer.loadTranslationMap(propertiesMapName);
|
19
|
+
|
20
|
+
for (String dewey : values)
|
21
|
+
{
|
22
|
+
if (! CallNumUtils.isValidDewey(dewey)) continue;
|
23
|
+
String hundreds = dewey.substring(0, 1) + "00";
|
24
|
+
String tens = dewey.substring(0,2) + "0";
|
25
|
+
String hundredsMapped = Utils.remap(hundreds, indexer.findMap(mapName), true);
|
26
|
+
String tensMapped = Utils.remap(tens, indexer.findMap(mapName), true);
|
27
|
+
if (hundredsMapped != null) resultSet.add(hundredsMapped);
|
28
|
+
if (tensMapped != null) resultSet.add(tensMapped);
|
29
|
+
}
|
30
|
+
|
31
|
+
return resultSet;
|
32
|
+
}
|
33
|
+
|
34
|
+
Set getDeweyText(Record record)
|
35
|
+
{
|
36
|
+
LinkedHashSet resultSet = new LinkedHashSet();
|
37
|
+
Set values = indexer.getFieldList(record, "082a");
|
38
|
+
|
39
|
+
for (String dewey : values)
|
40
|
+
{
|
41
|
+
if (! CallNumUtils.isValidDewey(dewey)) continue;
|
42
|
+
dewey = dewey.replaceAll("/[.]", ".").replaceAll("/", " ");
|
43
|
+
resultSet.add(dewey);
|
44
|
+
}
|
45
|
+
|
46
|
+
return resultSet;
|
47
|
+
}
|
@@ -0,0 +1,126 @@
|
|
1
|
+
import org.marc4j.marc.Record;
|
2
|
+
import org.solrmarc.tools.Utils;
|
3
|
+
|
4
|
+
// define the base level indexer so that its methods can be called from the script.
|
5
|
+
// note that the SolrIndexer code will set this value before the script methods are called.
|
6
|
+
org.solrmarc.index.SolrIndexer indexer = null;
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Determine Record Format(s)
|
10
|
+
*
|
11
|
+
* @param Record record
|
12
|
+
* @return Set format of record
|
13
|
+
*/
|
14
|
+
|
15
|
+
public Set getFormat(Record record)
|
16
|
+
{
|
17
|
+
Set result = new LinkedHashSet();
|
18
|
+
|
19
|
+
// check if there's an h in the 245
|
20
|
+
Set title_245h = indexer.getFieldList(record, "245h");
|
21
|
+
if (Utils.setItemContains(title_245h, "electronic resource"))
|
22
|
+
{
|
23
|
+
result.add("Electronic");
|
24
|
+
return result;
|
25
|
+
}
|
26
|
+
boolean field007hasC = false;
|
27
|
+
// check the 007 - this is a repeating field
|
28
|
+
// if we find a matching value there, grab it and return.
|
29
|
+
Set fields007 = indexer.getFieldList(record, "007[0-1]");
|
30
|
+
for (String f_007 : fields007)
|
31
|
+
{
|
32
|
+
f_007 = f_007.toUpperCase();
|
33
|
+
if (f_007.startsWith("A"))
|
34
|
+
if (f_007.equals( "AD")) result.add("Atlas");
|
35
|
+
else result.add("Map");
|
36
|
+
else if (f_007.startsWith("C"))
|
37
|
+
if (f_007.equals("CA")) result.add("TapeCartridge");
|
38
|
+
else if (f_007.equals("CB")) result.add("ChipCartridge");
|
39
|
+
else if (f_007.equals("CC")) result.add("DiscCartridge");
|
40
|
+
else if (f_007.equals("CF")) result.add("TapeCassette");
|
41
|
+
else if (f_007.equals("CH")) result.add("TapeReel");
|
42
|
+
else if (f_007.equals("CJ")) result.add("FloppyDisk");
|
43
|
+
else if (f_007.equals("CM")) result.add("CDROM");
|
44
|
+
else if (f_007.equals("C0")) result.add("CDROM");
|
45
|
+
else if (f_007.equals("CR")) field007hasC = true; // Do not return - this will cause anything with an 856 field to be labeled as "Electronic"
|
46
|
+
else result.add("Software");
|
47
|
+
else if (f_007.startsWith("D")) result.add("Globe");
|
48
|
+
else if (f_007.startsWith("F")) result.add("Braille");
|
49
|
+
else if (f_007.startsWith("G"))
|
50
|
+
if (f_007.equals("GC")) result.add("Filmstrip");
|
51
|
+
else if (f_007.equals("GD")) result.add("Filmstrip");
|
52
|
+
else if (f_007.equals("GT")) result.add("Transparency");
|
53
|
+
else result.add("Slide");
|
54
|
+
else if (f_007.startsWith("H")) result.add("Microfilm");
|
55
|
+
else if (f_007.startsWith("K"))
|
56
|
+
if (f_007.equals("KC")) result.add("Collage");
|
57
|
+
else if (f_007.equals("KD")) result.add("Drawing");
|
58
|
+
else if (f_007.equals("KE")) result.add("Painting");
|
59
|
+
else if (f_007.equals("KF")) result.add("Print");
|
60
|
+
else if (f_007.equals("KG")) result.add("Photonegative");
|
61
|
+
else if (f_007.equals("KJ")) result.add("Print");
|
62
|
+
else if (f_007.equals("KL")) result.add("Drawing");
|
63
|
+
else if (f_007.equals("K0")) result.add("FlashCard");
|
64
|
+
else if (f_007.equals("KN")) result.add("Chart");
|
65
|
+
else result.add("Photo");
|
66
|
+
else if (f_007.startsWith("M"))
|
67
|
+
if (f_007.equals("MF")) result.add("VideoCassette");
|
68
|
+
else if (f_007.equals("MR")) result.add("Filmstrip");
|
69
|
+
else result.add("MotionPicture");
|
70
|
+
else if (f_007.startsWith("O")) result.add("Kit");
|
71
|
+
else if (f_007.startsWith("Q")) result.add("MusicalScore");
|
72
|
+
else if (f_007.startsWith("R")) result.add("SensorImage");
|
73
|
+
else if (f_007.startsWith("S"))
|
74
|
+
if (f_007.equals("SD")) result.add("SoundDisc");
|
75
|
+
else if (f_007.equals("SS")) result.add("SoundCassette");
|
76
|
+
else result.add("SoundRecording");
|
77
|
+
else if (f_007.startsWith("V"))
|
78
|
+
if (f_007.equals("VC")) result.add("VideoCartridge");
|
79
|
+
else if (f_007.equals("VD")) result.add("VideoDisc");
|
80
|
+
else if (f_007.equals("VF")) result.add("VideoCassette");
|
81
|
+
else if (f_007.equals("VR")) result.add("VideoReel");
|
82
|
+
else result.add("Video");
|
83
|
+
|
84
|
+
// if we found a matching value and return it.
|
85
|
+
if (!result.isEmpty()) return result;
|
86
|
+
}
|
87
|
+
// check the Leader - this is NOT a repeating field
|
88
|
+
// if we find a matching value there, grab it and return.
|
89
|
+
String f_000 = indexer.getFirstFieldVal(record, null, "000[6-7]");
|
90
|
+
f_000 = f_000.toUpperCase();
|
91
|
+
if (f_000.startsWith("C")) result.add("MusicalScore");
|
92
|
+
else if (f_000.startsWith("D")) result.add("MusicalScore");
|
93
|
+
else if (f_000.startsWith("E")) result.add("Map");
|
94
|
+
else if (f_000.startsWith("F")) result.add("Map");
|
95
|
+
else if (f_000.startsWith("G")) result.add("Slide");
|
96
|
+
else if (f_000.startsWith("I")) result.add("SoundRecording");
|
97
|
+
else if (f_000.startsWith("J")) result.add("MusicRecording");
|
98
|
+
else if (f_000.startsWith("K")) result.add("Photo");
|
99
|
+
else if (f_000.startsWith("M")) result.add("Electronic");
|
100
|
+
else if (f_000.startsWith("O")) result.add("Kit");
|
101
|
+
else if (f_000.startsWith("P")) result.add("Kit");
|
102
|
+
else if (f_000.startsWith("R")) result.add("PhysicalObject");
|
103
|
+
else if (f_000.startsWith("T")) result.add("Manuscript");
|
104
|
+
else if (f_000.startsWith("A"))
|
105
|
+
{
|
106
|
+
if (f_000.equals("AM"))
|
107
|
+
{
|
108
|
+
if (field007hasC) result.add("eBook");
|
109
|
+
else result.add("Book");
|
110
|
+
}
|
111
|
+
else if (f_000.equals("AS"))
|
112
|
+
{
|
113
|
+
// Look in 008 to determine what type of Continuing Resource
|
114
|
+
String formatCode = indexer.getFirstFieldVal(record, null, "008[21]");
|
115
|
+
if (formatCode.equals("N")) result.add("Newspaper");
|
116
|
+
else if (formatCode.equals("P")) result.add("Journal");
|
117
|
+
else result.add("Serial");
|
118
|
+
}
|
119
|
+
}
|
120
|
+
// Nothing worked!
|
121
|
+
if (result.isEmpty()) {
|
122
|
+
result.add("Unknown");
|
123
|
+
}
|
124
|
+
|
125
|
+
return result;
|
126
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
This is the directory in which you should place locally defined translation maps.
|
data/lib/generators/blacklight/templates/config/SolrMarc/translation_maps/callnumber_map.properties
ADDED
@@ -0,0 +1,407 @@
|
|
1
|
+
# Map Call Number Classification pieces to User Friendly Description
|
2
|
+
displayRawIfMissing = true
|
3
|
+
|
4
|
+
# note: need more specific call numbers first so first matching is most specific
|
5
|
+
AC = AC - Collections Works
|
6
|
+
AE = AE - Encyclopedias
|
7
|
+
AG = AG - General Reference Works
|
8
|
+
AI = AI - Indexes
|
9
|
+
AM = AM - Museums
|
10
|
+
AN = AN - Newspapers
|
11
|
+
AP = AP - Periodicals
|
12
|
+
AS = AS - Academies & Learned Societies
|
13
|
+
AY = AY - Yearbooks, Almanacs, Directories
|
14
|
+
AZ = AZ - History of Scholarship & Learning
|
15
|
+
A = A - General Works
|
16
|
+
BC = BC - Logic
|
17
|
+
BD = BD - Speculative Philosophy
|
18
|
+
BF = BF - Psychology
|
19
|
+
BH = BH - Aesthetics
|
20
|
+
BJ = BJ - Ethics
|
21
|
+
BL = BL - Religions (General)
|
22
|
+
BM = BM - Judaism
|
23
|
+
BP = BP - Islam, Bahaism, Theosophy, etc.
|
24
|
+
BQ = BQ - Buddhism
|
25
|
+
BR = BR - Christianity
|
26
|
+
BS = BS - The Bible
|
27
|
+
BT = BT - Doctrinal Theology
|
28
|
+
BV = BV - Practical Theology
|
29
|
+
BX = BX - Christian Denominations
|
30
|
+
B = B - Philosophy, Psychology, Religion
|
31
|
+
CB = CB - History of Civilization
|
32
|
+
CC = CC - Archaeology
|
33
|
+
CD = CD - Diplomatics
|
34
|
+
CE = CE - Technical Chronology
|
35
|
+
CJ = CJ - Numismatics
|
36
|
+
CN = CN - Inscriptions
|
37
|
+
CR = CR - Heraldry
|
38
|
+
CS = CS - Genealogy
|
39
|
+
CT = CT - Biography
|
40
|
+
C = C - Historical Sciences (Archaeology, Genealogy)
|
41
|
+
DA = DA - Great Britain (History)
|
42
|
+
DB = DB - Austria, Liechtenstein, Czech Rep., Hungary, Slovakia (History)
|
43
|
+
DC = DC - France (History)
|
44
|
+
DD = DD - Germany (History)
|
45
|
+
DE = DE - Greco-Roman World (History)
|
46
|
+
DF = DF - Greece (History)
|
47
|
+
DG = DG - Italy (History)
|
48
|
+
DH = DH - Low Countries (History)
|
49
|
+
DJK = DJK - Eastern Europe (History)
|
50
|
+
DJ = DJ - Netherlands (History)
|
51
|
+
DK = DK - Russia. Former Soviet Republics. Poland (History)
|
52
|
+
DL = DL - Scandinavia (History)
|
53
|
+
DP = DP - Spain. Portugal (History)
|
54
|
+
DQ = DQ - Switzerland (History)
|
55
|
+
DR = DR - Balkan Peninsula (History)
|
56
|
+
DS = DS - Asia (History)
|
57
|
+
DT = DT - Africa (History)
|
58
|
+
DU = DU - Oceanía (History)
|
59
|
+
DX = DX - Gypsies (History)
|
60
|
+
D = D - World History
|
61
|
+
E = E - History of the Americas (General)
|
62
|
+
F = F - History of the Americas (Local)
|
63
|
+
GA = GA - Mathematical Geography, Cartography
|
64
|
+
GB = GB - Physical Geography
|
65
|
+
GC = GC - Oceanography
|
66
|
+
GE = GE - Environmental Sciences
|
67
|
+
GF = GF - Human Ecology, Anthropogeography
|
68
|
+
GN = GN - Anthropology
|
69
|
+
GR = GR - Folklore
|
70
|
+
GT = GT - Manners & Customs
|
71
|
+
GV = GV - Recreation. Leisure
|
72
|
+
G = G - Geography, Anthropology, Recreation
|
73
|
+
HA = HA - Statistics
|
74
|
+
HB = HB - Economic Theory, Demography
|
75
|
+
HC = HC - Economic History & Conditions
|
76
|
+
HD = HD - Industries, Land use, Labor
|
77
|
+
HE = HE - Transportation & Communications
|
78
|
+
HF = HF - Commerce
|
79
|
+
HG = HG - Finance
|
80
|
+
HJ = HJ - Public Finance
|
81
|
+
HM = HM - Sociology
|
82
|
+
HN = HN - Social History & Conditions
|
83
|
+
HQ = HQ - The Family, Marriage, Woman
|
84
|
+
HS = HS - Societies
|
85
|
+
HT = HT - Communities, Classes, Races
|
86
|
+
HV = HV - Social Pathology, Social & Public Welfare, Criminology
|
87
|
+
HX = HX - Socialism, Communism, Anarchism
|
88
|
+
H = H - Social Sciences
|
89
|
+
JA = JA - Political Science
|
90
|
+
JC = JC - Political Theory
|
91
|
+
JF = JF - Political Institutions
|
92
|
+
JK = JK - Political Institutions (U.S.)
|
93
|
+
JL = JL - Political Institutions (Canada, Latin America)
|
94
|
+
JN = JN - Political Institutions (Europe)
|
95
|
+
JQ = JQ - Political Institutions (Asia, Africa, Australia, Pacific Area)
|
96
|
+
JS = JS - Local Government
|
97
|
+
JV = JV - Colonies & Colonization, Emigration & Immigration
|
98
|
+
JX = JX - International Law
|
99
|
+
JZ = JZ - International Relations
|
100
|
+
J = J - Political Science
|
101
|
+
KBM = KBM - Jewish Law
|
102
|
+
KBP = KBP - Islamic Law
|
103
|
+
KBR = KBR - Canon Law
|
104
|
+
KBU = KBU - Law of Roman Catholic Church
|
105
|
+
KB = KB - Religious Law (General)
|
106
|
+
KDC = KDC - Law of Scotland
|
107
|
+
KDE = KDE - Law of Northern Ireland
|
108
|
+
KDG = KDG - Law of Isle of Man, Channel Islands
|
109
|
+
KDK = KDK - Law of Ireland (EIRE)
|
110
|
+
KDZ = KDZ - Law of America, North America
|
111
|
+
KD = KD - Law of England & Wales
|
112
|
+
KE = KE - Law of Canada
|
113
|
+
KF = KF - Law of the U.S.
|
114
|
+
KG = KG - Law of Latin America, Mexico, Central America, West Indies, Caribbean
|
115
|
+
KH = KH - South America
|
116
|
+
KJA = KJA - Roman Law
|
117
|
+
KJC = KJC - Regional Comparative & Uniform Law
|
118
|
+
KJE = KJE - Regional Organization & Integration
|
119
|
+
KJG = KJG - Law of Albania
|
120
|
+
KJH = KJH - Law of Andorra
|
121
|
+
KJJ = KJJ - Law of Austria
|
122
|
+
KJK = KJK - Law of Belgium, Bosnia & Hercegovina (Republic)
|
123
|
+
KJM = KJM - Law of Bulgaria, Croatia
|
124
|
+
KJN = KJN - Law of Cyprus
|
125
|
+
KJP = KJP - Law of Czechoslovakia, Czech Republic
|
126
|
+
KJQ = KJQ - Law of Slovakia
|
127
|
+
KJR = KJR - Law of Denmark
|
128
|
+
KJS = KJS - Law of Estonia
|
129
|
+
KJT = KJT - Law of Finland
|
130
|
+
KJV = KJV - Law of France
|
131
|
+
KJW = KJW - Law of French Regions, Provinces, Departments
|
132
|
+
KJ = KJ - Law of Europe
|
133
|
+
KKE = KKE - Law of Greece
|
134
|
+
KKF = KKF - Law of Hungary
|
135
|
+
KKG = KKG - Law of Iceland
|
136
|
+
KKH = KKH - Law of Italy
|
137
|
+
KKI = KKI - Law of Latvia
|
138
|
+
KKJ = KKJ - Law of Lithuania, Liechtenstein
|
139
|
+
KKK = KKK - Law of Luxemburg, Malta
|
140
|
+
KKL = KKL - Law of Monaco
|
141
|
+
KKM = KKM - Law of the Netherlands
|
142
|
+
KKN = KKN - Law of Norway
|
143
|
+
KKP = KKP - Law of Poland
|
144
|
+
KKQ = KKQ - Law of Portugal
|
145
|
+
KKR = KKR - Law of Romania
|
146
|
+
KKT = KKT - Law of Spain
|
147
|
+
KKV = KKV - Law of Sweden
|
148
|
+
KKW = KKW - Law of Switzerland
|
149
|
+
KKX = KKX - Law of Turkey
|
150
|
+
KKY = KKY - Law of Ukraine
|
151
|
+
KKZ = KKZ - Law of Yugoslavia
|
152
|
+
KK = KK - Law of Germany
|
153
|
+
KLA = KLA - Law of Russia, Soviet Union
|
154
|
+
KLB = KLB - Law of Russia (Federation)
|
155
|
+
KLD = KLD - Law of Armenia (Republic)
|
156
|
+
KLE = KLE - Law of Azerbaijan
|
157
|
+
KLF = KLF - Law of Belarus
|
158
|
+
KLH = KLH - Law of Georgia
|
159
|
+
KLM = KLM - Law of Moldova
|
160
|
+
KLP = KLP - Law of Ukraine
|
161
|
+
KLR = KLR - Law of Kazakhstan
|
162
|
+
KLS = KLS - Law of Kyrgyzstan
|
163
|
+
KLT = KLT - Law of Tajikistan
|
164
|
+
KLV = KLV - Law of Turkmenistan
|
165
|
+
KLW = KLW - Law of Uzbekistan
|
166
|
+
KL = KL - History of Law, The Ancient Orient
|
167
|
+
KMC = KMC - Law of the Middle East, Southwest Asia
|
168
|
+
KMH = KMH - Law of Iran
|
169
|
+
KMJ = KMJ - Law of Iraq
|
170
|
+
KMK = KMK - Law of Israel
|
171
|
+
KML = KML - Law of Jerusalem
|
172
|
+
KMM = KMM - Law of Jordan
|
173
|
+
KMN = KMN - Law of Kuwait
|
174
|
+
KMP = KMP - Law of Lebanon
|
175
|
+
KMT = KMT - Law of Saudi Arabia
|
176
|
+
KMU = KMU - Law of Syria
|
177
|
+
KMX = KMX - Law of Yemen
|
178
|
+
KM = KM - Law of Asia
|
179
|
+
KNC = KNC - Law of South Asia
|
180
|
+
KNN = KNN - Law of China
|
181
|
+
KNP = KNP - Law of Taiwan
|
182
|
+
KNR = KNR - Law of Hong Kong
|
183
|
+
KNS = KNS - Law of India
|
184
|
+
KNW = KNW - Law of Indonesia
|
185
|
+
KNX = KNX - Law of Japan
|
186
|
+
KPA = KPA - Law of Korea, South Korea
|
187
|
+
KPC = KPC - Law of Korea, North Korea
|
188
|
+
KQ = KQ - Law of Africa
|
189
|
+
KU = KU - Law of the Pacific Area, Australia, New Zealand
|
190
|
+
KWX = KWX - Law of Antarctica
|
191
|
+
KZ = KZ - Law of Nations
|
192
|
+
K = K - Law
|
193
|
+
LA = LA - History of Education
|
194
|
+
LB = LB - Theory & Practice of Education
|
195
|
+
LC = LC - Special Aspects of Education
|
196
|
+
LD = LD - Individual Educational Institutions (U.S.)
|
197
|
+
LE = LE - Individual Educational Institutions: America (except U.S.)
|
198
|
+
LF = LF - Individual Educational Institutions: Europe
|
199
|
+
LG = LG - Individual Educational Institutions: Asia, Africa, Oceania
|
200
|
+
LH = LH - College & School Magazines & Papers
|
201
|
+
LT = LT - Textbooks
|
202
|
+
L = L - Education
|
203
|
+
MLCME = Unknown
|
204
|
+
MLCSN = Unknown
|
205
|
+
ML = ML - Literature on Music
|
206
|
+
MT = MT - Musical Instruction & Study
|
207
|
+
M = M - Music
|
208
|
+
NA = NA - Architecture
|
209
|
+
NB = NB - Sculpture
|
210
|
+
NC = NC - Drawing, Design, Illustration
|
211
|
+
ND = ND - Painting
|
212
|
+
NE = NE - Print Media
|
213
|
+
NK = NK - Decorative Arts
|
214
|
+
NX = NX - Arts in General
|
215
|
+
N = N - Fine Arts
|
216
|
+
PA = PA - Greek & Latin Language & Literature
|
217
|
+
PB = PB - Modern Language, Celtic Languages
|
218
|
+
PC = PC - Romanic Languages
|
219
|
+
PD = PD - Germanic Languages
|
220
|
+
PE = PE - English Languages
|
221
|
+
PF = PF - West Germanic Languages
|
222
|
+
PG = PG - Slavic, Baltic, Albanian Languages, Russian Language & Literature
|
223
|
+
PH = PH - Uralic & Basque Languages
|
224
|
+
PJ = PJ - Oriental Languages & Literature
|
225
|
+
PK = PK - Indo-Iranian Languages & Literature
|
226
|
+
PL = PL - Languages & Literatures of Eastern Asia, Africa, Oceania
|
227
|
+
PM = PM - Hyperborean, Indian & Artificial Languages
|
228
|
+
PN = PN - Literature (General)
|
229
|
+
PQ = PQ - French, Italian, Spanish & Portuguese Literature
|
230
|
+
PR = PR - English Literature
|
231
|
+
PS = PS - American Literature
|
232
|
+
PT = PT - Germanic & Scandinavian Literatures
|
233
|
+
PZ = PZ - Children’s Literature
|
234
|
+
P = P - Language & Literature
|
235
|
+
QA = QA - Mathematics
|
236
|
+
QB = QB - Astronomy
|
237
|
+
QC = QC - Physics
|
238
|
+
QD = QD - Chemistry
|
239
|
+
QE = QE - Geology
|
240
|
+
QH = QH - Natural History, Biology
|
241
|
+
QK = QK - Botany
|
242
|
+
QL = QL - Zoology
|
243
|
+
QM = QM - Human Anatomy
|
244
|
+
QP = QP - Physiology
|
245
|
+
QR = QR - Microbiology
|
246
|
+
Q = Q - Science
|
247
|
+
RA = RA - Public Aspects of Medicine
|
248
|
+
RB = RB - Pathology
|
249
|
+
RC = RC - Internal Medicine
|
250
|
+
RD = RD - Surgery
|
251
|
+
RE = RE - Ophthalmology
|
252
|
+
RF = RF - Otorhinolaryngology
|
253
|
+
RG = RG - Gynecology & Obstetrics
|
254
|
+
RJ = RJ - Pediatrics
|
255
|
+
RK = RK - Dentistry
|
256
|
+
RL = RL - Dermatology
|
257
|
+
RM = RM - Therapeutics, Pharmacology
|
258
|
+
RS = RS - Pharmacy & Materia Medica
|
259
|
+
RT = RT - Nursing
|
260
|
+
RV = RV - Botanic, Thomsonian, & Eclectic Medicine
|
261
|
+
RX = RX - Homeopathy
|
262
|
+
RZ = RZ - Other Systems of Medicine
|
263
|
+
R = R - Medicine
|
264
|
+
SB = SB - Plant Culture
|
265
|
+
SD = SD - Forestry
|
266
|
+
SF = SF - Animal Culture
|
267
|
+
SH = SH - Aquaculture
|
268
|
+
SK = SK - Hunting Sports
|
269
|
+
S = S - Agriculture
|
270
|
+
TA = TA - Engineering, Civil Engineering
|
271
|
+
TC = TC - Hydraulic Engineering
|
272
|
+
TD = TD - Environmental Technology
|
273
|
+
TE = TE - Highway Engineering
|
274
|
+
TF = TF - Railroad Engineering & Operation
|
275
|
+
TG = TG - Bridge Engineering
|
276
|
+
TH = TH - Building Construction
|
277
|
+
TJ = TJ - Mechanical Engineering & Machinery
|
278
|
+
TK = TK - Electrical Engineering, Nuclear Engineering
|
279
|
+
TL = TL - Motor Vehicles, Aeronautics, Astronautics
|
280
|
+
TN = TN - Mining Engineering
|
281
|
+
TP = TP - Chemical Technology
|
282
|
+
TR = TR - Photography
|
283
|
+
TS = TS - Manufactures
|
284
|
+
TT = TT - Handicrafts
|
285
|
+
TX = TX - Home Economics
|
286
|
+
T = T - Technology
|
287
|
+
UA = UA - Armies
|
288
|
+
UB = UB - Military Administration
|
289
|
+
UC = UC - Maintenance & Transportation
|
290
|
+
UD = UD - Infantry
|
291
|
+
UE = UE - Cavalry, Armor
|
292
|
+
UF = UF - Artillery
|
293
|
+
UG = UG - Military Engineering, Air Forces, Military Astronautics
|
294
|
+
UH = UH - Other Military Services
|
295
|
+
U = U - Military Science
|
296
|
+
VA = VA - Navies
|
297
|
+
VB = VB - Naval Administration
|
298
|
+
VC = VC - Naval Maintenance
|
299
|
+
VD = VD - Naval Seamen
|
300
|
+
VE = VE - Marines
|
301
|
+
VF = VF - Naval Ordnance
|
302
|
+
VG = VG - Minor Services of Navies
|
303
|
+
VK = VK - Navigation, Merchant Marine
|
304
|
+
VM = VM - Naval Architecture, Marine Engineering
|
305
|
+
V = V - Naval Science
|
306
|
+
ZA = ZA - Information Science
|
307
|
+
Z = Z - Bibliography, Library Science, Information Resources
|
308
|
+
|
309
|
+
000 = 000s - Computer Science, Information & General Works
|
310
|
+
010 = 010s - Bibliography
|
311
|
+
020 = 020s - Library & Information Sciences
|
312
|
+
030 = 030s - General Encyclopedic Works
|
313
|
+
050 = 050s - General Serials & their Indexes
|
314
|
+
060 = 060s - General Organization & Museology
|
315
|
+
070 = 070s - News Media, Journalism, Publishing
|
316
|
+
080 = 080s - General Collections
|
317
|
+
090 = 090s - Manuscripts & Rare Books
|
318
|
+
100 = 100s - Philosophy & Psychology
|
319
|
+
110 = 110s - Metaphysics
|
320
|
+
120 = 120s - Epistemology, Causation, Humankind
|
321
|
+
130 = 130s - Paranormal Phenomena
|
322
|
+
140 = 140s - Specific Philosophical Schools
|
323
|
+
150 = 150s - Psychology
|
324
|
+
160 = 160s - Logic
|
325
|
+
170 = 170s - Ethics (Moral Philosophy)
|
326
|
+
180 = 180s - Ancient, Medieval, Oriental Philosophy
|
327
|
+
190 = 190s - Modern Western Philosophy
|
328
|
+
200 = 200s - Religion
|
329
|
+
210 = 210s - Natural Theology
|
330
|
+
220 = 220s - Bible
|
331
|
+
230 = 230s - Christian Theology
|
332
|
+
240 = 240s - Christian Moral & Devotional Theology
|
333
|
+
250 = 250s - Christian Orders & Local Church
|
334
|
+
260 = 260s - Christian Social Theology
|
335
|
+
270 = 270s - Christian Church History
|
336
|
+
280 = 280s - Christian Denominations & Sects
|
337
|
+
290 = 290s - Other & Comparative Religions
|
338
|
+
300 = 300s - Social Sciences
|
339
|
+
310 = 310s - General Statistics
|
340
|
+
320 = 320s - Political Science
|
341
|
+
330 = 330s - Economics
|
342
|
+
340 = 340s - Law
|
343
|
+
350 = 350s - Public Administration
|
344
|
+
360 = 360s - Social Services; Association
|
345
|
+
370 = 370s - Education
|
346
|
+
380 = 380s - Commerce, Communications, Transport
|
347
|
+
390 = 390s - Customs, Etiquette, Folklore
|
348
|
+
400 = 400s - Language
|
349
|
+
410 = 410s - Linguistics
|
350
|
+
420 = 420s - English & Old English
|
351
|
+
430 = 430s - Germanic Languages German
|
352
|
+
440 = 440s - Romance Languages French
|
353
|
+
450 = 450s - Italian, Romanian, Rhaeto-Romantic
|
354
|
+
460 = 460s - Spanish & Portugese Languages
|
355
|
+
470 = 470s - Italic Latin
|
356
|
+
480 = 480s - Hellenic Languages Classical Greek
|
357
|
+
490 = 490s - Other Languages
|
358
|
+
500 = 500s - Science
|
359
|
+
510 = 510s - Mathematics
|
360
|
+
520 = 520s - Astronomy & Allied Sciences
|
361
|
+
530 = 530s - Physics
|
362
|
+
540 = 540s - Chemistry & Allied Sciences
|
363
|
+
550 = 550s - Earth Sciences
|
364
|
+
560 = 560s - Paleontology Paleozoology
|
365
|
+
570 = 570s - Life Sciences
|
366
|
+
580 = 580s - Botanical Sciences
|
367
|
+
590 = 590s - Zoological Sciences
|
368
|
+
600 = 600s - Technology
|
369
|
+
610 = 610s - Medical Sciences Medicine
|
370
|
+
620 = 620s - Engineering & Allied Operations
|
371
|
+
630 = 630s - Agriculture
|
372
|
+
640 = 640s - Home economics & Family Living
|
373
|
+
650 = 650s - Management & Auxiliary Services
|
374
|
+
660 = 660s - Chemical Engineering
|
375
|
+
670 = 670s - Manufacturing
|
376
|
+
680 = 680s - Manufacture for Specific Uses
|
377
|
+
690 = 690s - Buildings
|
378
|
+
700 = 700s - Arts & Recreation
|
379
|
+
710 = 710s - Civic & Landscape Art
|
380
|
+
720 = 720s - Architecture
|
381
|
+
730 = 730s - Plastic Arts Sculpture
|
382
|
+
740 = 740s - Drawing & Decorative Arts
|
383
|
+
750 = 750s - Painting & Paintings
|
384
|
+
760 = 760s - Graphic Arts Printmaking & Prints
|
385
|
+
770 = 770s - Photography & Photographs
|
386
|
+
780 = 780s - Music
|
387
|
+
790 = 790s - Recreational & Performing Arts
|
388
|
+
800 = 800s - Literature
|
389
|
+
810 = 810s - American Literature in English
|
390
|
+
820 = 820s - English & Old English Literatures
|
391
|
+
830 = 830s - Literatures of Germanic Languages
|
392
|
+
840 = 840s - Literatures of Romance Languages
|
393
|
+
850 = 850s - Italian, Romanian, Rhaeto-Romanic
|
394
|
+
860 = 860s - Spanish & Portuguese Literatures
|
395
|
+
870 = 870s - Italic Literatures Latin
|
396
|
+
880 = 880s - Hellenic Literatures Classical Greek
|
397
|
+
890 = 890s - Literatures of Other Languages
|
398
|
+
900 = 900s - History & Geography
|
399
|
+
910 = 910s - Geography & Travel
|
400
|
+
920 = 920s - Biography, Genealogy, Insignia
|
401
|
+
930 = 930s - History of Ancient World
|
402
|
+
940 = 940s - General History of Europe
|
403
|
+
950 = 950s - General History of Asia Far East
|
404
|
+
960 = 960s - General History of Africa
|
405
|
+
970 = 970s - General History of North America
|
406
|
+
980 = 980s - General History of South America
|
407
|
+
990 = 990s - General History of Other Areas
|