[Koha-patches] [PATCH] Bug 3013 - 006/008 Type of Material Display on cataloguing plugin for MARC21

Salvador Zaragoza Rubio salvazm at masmedios.com
Fri Mar 4 13:17:09 CET 2011


Modification of the intranet cataloguing plugin for 006/008 fields to allow
select a type of material and change the positions available to enter the data.
Data are hard stored in xml files to allow easy translation and processing through
Javascript and AJAX.

Follow-up fix for Bug 3013 - 006/008 Type of Material Display on cataloguing plugin for MARC21

Add url functionality in the xml and updatedatabase

Signed-off-by: Salvador Zaragoza Rubio <salvazm at masmedios.com>
---
 cataloguing/value_builder/marc21_field_006.pl      |  107 +-
 cataloguing/value_builder/marc21_field_008.pl      |  141 ++-
 installer/data/mysql/de-DE/mandatory/sysprefs.sql  |    1 +
 installer/data/mysql/en/mandatory/sysprefs.sql     |    1 +
 .../1-Obligatoire/unimarc_standard_systemprefs.sql |    2 +
 installer/data/mysql/it-IT/necessari/sysprefs.sql  |    1 +
 installer/data/mysql/pl-PL/mandatory/sysprefs.sql  |    1 +
 ...m_preferences_full_optimal_for_install_only.sql |    1 +
 ...m_preferences_full_optimal_for_install_only.sql |    1 +
 installer/data/mysql/updatedatabase.pl             |    8 +
 .../intranet-tmpl/prog/en/js/xmlControlfield.js    |  341 +++++
 .../en/modules/admin/preferences/cataloguing.pref  |    6 +
 .../value_builder/marc21_field_006.tmpl            |  157 ++-
 .../cataloguing/value_builder/marc21_field_006.xml |  795 ++++++++++++
 .../value_builder/marc21_field_008.tmpl            |  533 +++++----
 .../cataloguing/value_builder/marc21_field_008.xml | 1298 ++++++++++++++++++++
 .../cataloguing/value_builder/marc21_field_CF.xsd  |   83 ++
 17 files changed, 3097 insertions(+), 380 deletions(-)
 mode change 100644 => 100755 installer/data/mysql/de-DE/mandatory/sysprefs.sql
 mode change 100644 => 100755 installer/data/mysql/en/mandatory/sysprefs.sql
 mode change 100644 => 100755 installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
 mode change 100644 => 100755 installer/data/mysql/it-IT/necessari/sysprefs.sql
 mode change 100644 => 100755 installer/data/mysql/pl-PL/mandatory/sysprefs.sql
 mode change 100644 => 100755 installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql
 mode change 100644 => 100755 installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql
 create mode 100755 koha-tmpl/intranet-tmpl/prog/en/js/xmlControlfield.js
 mode change 100644 => 100755 koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref
 mode change 100644 => 100755 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_006.tmpl
 create mode 100755 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_006.xml
 mode change 100644 => 100755 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_008.tmpl
 create mode 100755 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_008.xml
 create mode 100755 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_CF.xsd
 mode change 100644 => 100755 kohaversion.pl

diff --git a/cataloguing/value_builder/marc21_field_006.pl b/cataloguing/value_builder/marc21_field_006.pl
index 6d84cb4..5f40e89 100755
--- a/cataloguing/value_builder/marc21_field_006.pl
+++ b/cataloguing/value_builder/marc21_field_006.pl
@@ -26,6 +26,8 @@ use C4::Context;
 use C4::Search;
 use C4::Output;
 
+use XML::LibXML;
+
 =head1 DESCRIPTION
 
 plugin_parameters : other parameters added when the plugin is called by the dopop function
@@ -82,46 +84,71 @@ sub plugin {
     );
     $result = "a|||||r|||| 00| 0 " unless $result;
 
-    #	$result = "a     r     00  0 " unless $result;
-    my $f0   = substr($result, 0,  1);
-    my $f014 = substr($result, 1,  4);
-    my $f5   = substr($result, 5,  1);
-    my $f6   = substr($result, 6,  1);
-    my $f710 = substr($result, 7,  4);
-    my $f11  = substr($result, 11, 1);
-    my $f12  = substr($result, 12, 1);
-    my $f13  = substr($result, 13, 1);
-    my $f14  = substr($result, 14, 1);
-    my $f15  = substr($result, 15, 1);
-    my $f16  = substr($result, 16, 1);
-    my $f17  = substr($result, 17, 1);
-
-    $template->param(
-        index       => $index,
-        f0          => $f0,
-        "f0$f0"     => $f0,
-        f014        => $f014,
-        "f014$f014" => $f014,
-        f5          => $f5,
-        "f5$f5"     => $f5,
-        f6          => $f6,
-        "f6$f6"     => $f6,
-        f710        => $f710,
-        "f710$f710" => $f710,
-        f11         => $f11,
-        "f11$f11"   => $f11,
-        f12         => $f12,
-        "f12$f12"   => $f12,
-        f13         => $f13,
-        "f13$f13"   => $f13,
-        f14         => $f14,
-        "f14$f14"   => $f14,
-        f15         => $f15,
-        "f15$f15"   => $f15,
-        f16         => $f16,
-        "f16$f16"   => $f16,
-        f17         => $f17,
-        "f17$f17"   => $f17,
+    # Check whether we want to use Type of Material display with xml
+    my $viewMaterialTypesMode = C4::Context->preference("TypeOfMaterialsView_006_008");
+    # Check if the xml, xsd exists and is validated
+    if ($viewMaterialTypesMode) {
+        my $dir = C4::Context->config('intrahtdocs') . '/prog/' . $template->param('lang') . '/modules/cataloguing/value_builder/';
+        if (-r $dir . 'marc21_field_006.xml') {
+            my $doc = XML::LibXML->new->parse_file($dir . 'marc21_field_006.xml');
+            if (-r $dir . 'marc21_field_CF.xsd') {
+                my $xmlschema = XML::LibXML::Schema->new(location => $dir . 'marc21_field_CF.xsd');
+                eval {
+                    $xmlschema->validate( $doc );
+                };
+                $viewMaterialTypesMode = 0 if ($@);
+            }
+        } else {
+            $viewMaterialTypesMode = 0;
+        }
+    }
+    unless ($viewMaterialTypesMode) {
+        #	$result = "a     r     00  0 " unless $result;
+        my $f0   = substr($result, 0,  1);
+        my $f014 = substr($result, 1,  4);
+        my $f5   = substr($result, 5,  1);
+        my $f6   = substr($result, 6,  1);
+        my $f710 = substr($result, 7,  4);
+        my $f11  = substr($result, 11, 1);
+        my $f12  = substr($result, 12, 1);
+        my $f13  = substr($result, 13, 1);
+        my $f14  = substr($result, 14, 1);
+        my $f15  = substr($result, 15, 1);
+        my $f16  = substr($result, 16, 1);
+        my $f17  = substr($result, 17, 1);
+
+        $template->param(
+            f0          => $f0,
+            "f0$f0"     => $f0,
+            f014        => $f014,
+            "f014$f014" => $f014,
+            f5          => $f5,
+            "f5$f5"     => $f5,
+            f6          => $f6,
+            "f6$f6"     => $f6,
+            f710        => $f710,
+            "f710$f710" => $f710,
+            f11         => $f11,
+            "f11$f11"   => $f11,
+            f12         => $f12,
+            "f12$f12"   => $f12,
+            f13         => $f13,
+            "f13$f13"   => $f13,
+            f14         => $f14,
+            "f14$f14"   => $f14,
+            f15         => $f15,
+            "f15$f15"   => $f15,
+            f16         => $f16,
+            "f16$f16"   => $f16,
+            f17         => $f17,
+            "f17$f17"   => $f17,
+        );
+    } else {
+        $template->param(tagfield => '006');
+    }
+    $template->param(index => $index,
+            result => $result,
+            viewMaterialTypesMode => $viewMaterialTypesMode,
     );
     output_html_with_http_headers $input, $cookie, $template->output;
 }
diff --git a/cataloguing/value_builder/marc21_field_008.pl b/cataloguing/value_builder/marc21_field_008.pl
index 57e0690..c63cda5 100755
--- a/cataloguing/value_builder/marc21_field_008.pl
+++ b/cataloguing/value_builder/marc21_field_008.pl
@@ -26,6 +26,8 @@ use C4::Context;
 use C4::Search;
 use C4::Output;
 
+use XML::LibXML;
+
 =head1 DESCRIPTION
 
 plugin_parameters : other parameters added when the plugin is called by the dopop function
@@ -96,65 +98,90 @@ sub plugin {
 
     #	$result = "      t        xxu           00  0 eng d" unless $result;
     $result = "$dateentered" . "t        xxu||||| |||| 00| 0 eng d" unless $result;
-    my $f1    = substr($result, 0,  6);
-    my $f6    = substr($result, 6,  1);
-    my $f710  = substr($result, 7,  4);
-    my $f1114 = substr($result, 11, 4);
-    my $f1517 = substr($result, 15, 3);
-    my $f1821 = substr($result, 18, 4);
-    my $f22   = substr($result, 22, 1);
-    my $f23   = substr($result, 23, 1);
-    my $f2427 = substr($result, 24, 4);
-    my $f28   = substr($result, 28, 1);
-    my $f29   = substr($result, 29, 1);
-    my $f30   = substr($result, 30, 1);
-    my $f31   = substr($result, 31, 1);
-    my $f33   = substr($result, 33, 1);
-    my $f34   = substr($result, 34, 1);
-    my $f3537 = substr($result, 35, 3);
-    my $f38   = substr($result, 38, 1);
-    my $f39   = substr($result, 39, 1);
-
-    # bug 2563
-    $f710  = "" if ($f710  =~ /^\s*$/);
-    $f1114 = "" if ($f1114 =~ /^\s*$/);
-
-    if ((!$f1) || ($f1 =~ m/ /)) {
-        $f1 = $dateentered;
+    # Check whether we want to use Type of Material display with xml
+    my $viewMaterialTypesMode = C4::Context->preference("TypeOfMaterialsView_006_008");
+    # Check if the xml, xsd exists and is validated
+    if ($viewMaterialTypesMode) {
+        my $dir = C4::Context->config('intrahtdocs') . '/prog/' . $template->param('lang') . '/modules/cataloguing/value_builder/';
+        if (-r $dir . 'marc21_field_008.xml') {
+            my $doc = XML::LibXML->new->parse_file($dir . 'marc21_field_008.xml');
+            if (-r $dir . 'marc21_field_CF.xsd') {
+                my $xmlschema = XML::LibXML::Schema->new(location => $dir . 'marc21_field_CF.xsd');
+                eval {
+                    $xmlschema->validate( $doc );
+                };
+                $viewMaterialTypesMode = 0 if ($@);
+            }
+        } else {
+            $viewMaterialTypesMode = 0;
+        }
     }
+    unless ($viewMaterialTypesMode) {
+        my $f1    = substr($result, 0,  6);
+        my $f6    = substr($result, 6,  1);
+        my $f710  = substr($result, 7,  4);
+        my $f1114 = substr($result, 11, 4);
+        my $f1517 = substr($result, 15, 3);
+        my $f1821 = substr($result, 18, 4);
+        my $f22   = substr($result, 22, 1);
+        my $f23   = substr($result, 23, 1);
+        my $f2427 = substr($result, 24, 4);
+        my $f28   = substr($result, 28, 1);
+        my $f29   = substr($result, 29, 1);
+        my $f30   = substr($result, 30, 1);
+        my $f31   = substr($result, 31, 1);
+        my $f33   = substr($result, 33, 1);
+        my $f34   = substr($result, 34, 1);
+        my $f3537 = substr($result, 35, 3);
+        my $f38   = substr($result, 38, 1);
+        my $f39   = substr($result, 39, 1);
+
+        # bug 2563
+        $f710  = "" if ($f710  =~ /^\s*$/);
+        $f1114 = "" if ($f1114 =~ /^\s*$/);
+
+        if ((!$f1) || ($f1 =~ m/ /)) {
+            $f1 = $dateentered;
+        }
 
-    $template->param(
-        index       => $index,
-        f1          => $f1,
-        f6          => $f6,
-        "f6$f6"     => $f6,
-        f710        => $f710,
-        f1114       => $f1114,
-        f1517       => $f1517,
-        f1821       => $f1821,
-        f22         => $f22,
-        "f22$f22"   => $f22,
-        f23         => $f23,
-        "f23$f23"   => $f23,
-        f2427       => $f2427,
-        "f24$f2427" => $f2427,
-        f28         => $f28,
-        "f28$f28"   => $f28,
-        f29         => $f29,
-        "f29$f29"   => $f29,
-        f30         => $f30,
-        "f30$f30"   => $f30,
-        f31         => $f31,
-        "f31$f31"   => $f31,
-        f33         => $f33,
-        "f33$f33"   => $f33,
-        f34         => $f34,
-        "f34$f34"   => $f34,
-        f3537       => $f3537,
-        f38         => $f38,
-        "f38$f38"   => $f38,
-        f39         => $f39,
-        "f39$f39"   => $f39,
+        $template->param(
+            f1          => $f1,
+            f6          => $f6,
+            "f6$f6"     => $f6,
+            f710        => $f710,
+            f1114       => $f1114,
+            f1517       => $f1517,
+            f1821       => $f1821,
+            f22         => $f22,
+            "f22$f22"   => $f22,
+            f23         => $f23,
+            "f23$f23"   => $f23,
+            f2427       => $f2427,
+            "f24$f2427" => $f2427,
+            f28         => $f28,
+            "f28$f28"   => $f28,
+            f29         => $f29,
+            "f29$f29"   => $f29,
+            f30         => $f30,
+            "f30$f30"   => $f30,
+            f31         => $f31,
+            "f31$f31"   => $f31,
+            f33         => $f33,
+            "f33$f33"   => $f33,
+            f34         => $f34,
+            "f34$f34"   => $f34,
+            f3537       => $f3537,
+            f38         => $f38,
+            "f38$f38"   => $f38,
+            f39         => $f39,
+            "f39$f39"   => $f39,
+        );
+    } else {
+        $template->param(tagfield => '008');
+    }
+    $template->param(index => $index,
+            result => $result,
+            viewMaterialTypesMode => $viewMaterialTypesMode,
     );
     output_html_with_http_headers $input, $cookie, $template->output;
 }
diff --git a/installer/data/mysql/de-DE/mandatory/sysprefs.sql b/installer/data/mysql/de-DE/mandatory/sysprefs.sql
old mode 100644
new mode 100755
index 221017a..eb7184a
--- a/installer/data/mysql/de-DE/mandatory/sysprefs.sql
+++ b/installer/data/mysql/de-DE/mandatory/sysprefs.sql
@@ -287,3 +287,4 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES (
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('ShelfBrowserUsesCcode','1','Use the item collection code when finding items for the shelf browser.','0','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllowFineOverride','0','If on, staff will be able to issue books to patrons with fines greater than noissuescharge.','0','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllFinesNeedOverride','1','If on, staff will be asked to override every fine, even if it is below noissuescharge.','0','YesNo');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('TypeOfMaterialsView_006_008','0','Display Type of Materials for plugin of fields 006 and 008 when cataloguing','','YesNo');
diff --git a/installer/data/mysql/en/mandatory/sysprefs.sql b/installer/data/mysql/en/mandatory/sysprefs.sql
old mode 100644
new mode 100755
index 363774d..514ea94
--- a/installer/data/mysql/en/mandatory/sysprefs.sql
+++ b/installer/data/mysql/en/mandatory/sysprefs.sql
@@ -287,3 +287,4 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('ShelfBrowserUsesCcode','1','Use the item collection code when finding items for the shelf browser.','0','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllowFineOverride','0','If on, staff will be able to issue books to patrons with fines greater than noissuescharge.','0','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllFinesNeedOverride','1','If on, staff will be asked to override every fine, even if it is below noissuescharge.','0','YesNo');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('TypeOfMaterialsView_006_008','0','Display Type of Materials for plugin of fields 006 and 008 when cataloguing','','YesNo');
diff --git a/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql b/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
old mode 100644
new mode 100755
index 9386fee..7a1d90e
--- a/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
+++ b/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
@@ -287,5 +287,7 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('ShelfBrowserUsesLocation','1','Use the item location when finding items for the shelf browser.','1','YesNo');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('ShelfBrowserUsesHomeBranch','1','Use the item home branch when finding items for the shelf browser.','1','YesNo');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('ShelfBrowserUsesCcode','1','Use the item collection code when finding items for the shelf browser.','0','YesNo');
+<<<<<<< HEAD:installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllowFineOverride','0','If on, staff will be able to issue books to patrons with fines greater than noissuescharge.','0','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllFinesNeedOverride','1','If on, staff will be asked to override every fine, even if it is below noissuescharge.','0','YesNo');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('TypeOfMaterialsView_006_008','0','Display Type of Materials for plugin of fields 006 and 008 when cataloguing','','YesNo');
diff --git a/installer/data/mysql/it-IT/necessari/sysprefs.sql b/installer/data/mysql/it-IT/necessari/sysprefs.sql
old mode 100644
new mode 100755
index 49da6ce..53f4e64
--- a/installer/data/mysql/it-IT/necessari/sysprefs.sql
+++ b/installer/data/mysql/it-IT/necessari/sysprefs.sql
@@ -274,3 +274,4 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES (
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('ShelfBrowserUsesCcode','1','Use the item collection code when finding items for the shelf browser.','0','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllowFineOverride','0','If on, staff will be able to issue books to patrons with fines greater than noissuescharge.','0','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllFinesNeedOverride','1','If on, staff will be asked to override every fine, even if it is below noissuescharge.','0','YesNo');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('TypeOfMaterialsView_006_008','0','Display Type of Materials for plugin of fields 006 and 008 when cataloguing','','YesNo');
diff --git a/installer/data/mysql/pl-PL/mandatory/sysprefs.sql b/installer/data/mysql/pl-PL/mandatory/sysprefs.sql
old mode 100644
new mode 100755
index 5715de1..0867b83
--- a/installer/data/mysql/pl-PL/mandatory/sysprefs.sql
+++ b/installer/data/mysql/pl-PL/mandatory/sysprefs.sql
@@ -286,3 +286,4 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES (
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('ShelfBrowserUsesCcode','1','Use the item collection code when finding items for the shelf browser.','0','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllowFineOverride','0','If on, staff will be able to issue books to patrons with fines greater than noissuescharge.','0','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllFinesNeedOverride','1','If on, staff will be asked to override every fine, even if it is below noissuescharge.','0','YesNo');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('TypeOfMaterialsView_006_008','0','Display Type of Materials for plugin of fields 006 and 008 when cataloguing','','YesNo');
diff --git a/installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql b/installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql
old mode 100644
new mode 100755
index 2b38cfa..1f06a1d
--- a/installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql
+++ b/installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql
@@ -341,3 +341,4 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES (
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('ShelfBrowserUsesCcode','1','Use the item collection code when finding items for the shelf browser.','0','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllowFineOverride','0','If on, staff will be able to issue books to patrons with fines greater than noissuescharge.','0','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllFinesNeedOverride','1','If on, staff will be asked to override every fine, even if it is below noissuescharge.','0','YesNo');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('TypeOfMaterialsView_006_008','0','Display Type of Materials for plugin of fields 006 and 008 when cataloguing','','YesNo');
diff --git a/installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql b/installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql
old mode 100644
new mode 100755
index 874a6e4..33e0073
--- a/installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql
+++ b/installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql
@@ -366,3 +366,4 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES (
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('ShelfBrowserUsesCcode','1','Use the item collection code when finding items for the shelf browser.','0','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllowFineOverride','0','If on, staff will be able to issue books to patrons with fines greater than noissuescharge.','0','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllFinesNeedOverride','1','If on, staff will be asked to override every fine, even if it is below noissuescharge.','0','YesNo');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('TypeOfMaterialsView_006_008','0','Display Type of Materials for plugin of fields 006 and 008 when cataloguing','','YesNo');
diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl
index b4c51c0..b784c3d 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -4022,6 +4022,14 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
     SetVersion($DBversion);
 };
 
+$DBversion = '3.03.00.XXX'; #FIXME
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    # 006/008 plugins show Type of Materials and change fields form to view the allowed values for the different positions
+    $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('TypeOfMaterialsView_006_008','0','Display Type of Materials for plugin of fields 006 and 008 when cataloguing','','YesNo')");
+    print "Upgrade to $DBversion done (006/008 plugins show Type of Materials positions selection)\n";
+    SetVersion($DBversion);
+}
+
 =head1 FUNCTIONS
 
 =head2 DropAllForeignKeys($table)
diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/xmlControlfield.js b/koha-tmpl/intranet-tmpl/prog/en/js/xmlControlfield.js
new file mode 100755
index 0000000..67b0bf5
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/en/js/xmlControlfield.js
@@ -0,0 +1,341 @@
+
+
+// Add an option to a select form field
+function add_option(select, text, value, selected)
+{
+    var option = document.createElement('option');
+    option.text = text;
+    option.value = value;
+    if (selected) option.selected = true;
+    try {
+        select.add(option, null);
+    }
+    catch(ex) {
+        select.add(option);
+    }
+}//add_option
+
+
+// Return the value of a parameter from the url
+function returnValueParam(param)
+{
+    var params = location.search.substr(1);
+    var arr = params.split("&");
+    var pattern = param + "=";
+    for (var i=0; i < arr.length; i++) {
+        if (arr[i].indexOf(pattern) == 0) {
+            return unescape(arr[i].substr(pattern.length));
+        }
+    }
+    return "";
+}//returnValueParam
+
+
+// Return a value from a position on the result string
+function returnValuePosFromResult(result, pos)
+{
+    var index;
+    if ((index = pos.indexOf("-")) > 0) {
+        var ini = parseInt(pos.substring(0, index) ,10);
+        var end = parseInt(pos.substr(index + 1) ,10);
+        return result.substring(ini, end + 1);
+    } else {
+        return result.substr(pos, 1);
+    }
+}//returnValuePosFromResult
+
+
+// Build string from form fields
+function returnResultFromValues(form)
+{
+    var resultStr = form.result.value;
+    var pos;
+    var value;
+    for (var i=0; i < form.elements.length; i++) {
+        var pattern = new RegExp("f[0-9]+(?:[0-9]+)?");
+        if (pattern.test(form.elements[i].name)) {
+            pos = form.elements[i].name.substr(1);
+            value = (pos.indexOf("-") > 0)?form.elements[i].value:form.elements[i].options[form.elements[i].selectedIndex].value;
+            resultStr = changePosResult(pos, value, resultStr);
+        }
+    }
+    return resultStr;
+}//returnResultFromValues
+
+
+// Build/modify result string for a position and a value
+function changePosResult(pos, value, resultStr)
+{
+    var index;
+    var result = "";
+    if ((index = pos.indexOf("-")) > 0) {
+        var ini = parseInt(pos.substring(0, index) ,10);
+        var end = parseInt(pos.substr(index + 1) ,10);
+        var roffset = (1 + end - ini)- value.length;
+        if (roffset > 0) for (var i=0; i < roffset; i++) value += " ";
+        if (ini == 0)
+            result = value + resultStr.substr(end + 1);
+        else {
+            result = resultStr.substring(0, ini) + value;
+            if (end < resultStr.length)
+                result += resultStr.substr(end + 1);
+        }
+    } else {
+        var ini = parseInt(pos, 10);
+        if (ini == 0)
+            result = value + resultStr.substr(1);
+        else {
+            result = resultStr.substring(0, ini) + value;
+            if (ini < resultStr.length)
+                result += resultStr.substr(ini + 1);
+        }
+    }
+    result = result.replace(/#/g, " ");
+    return result;
+}//changePosResult
+
+
+// Display the result string on a table indicating positions and coloring them if wrong or selected
+function renderResult(tr_result, result)
+{
+    if (tr_result) {
+        var td;
+        if (tr_result.cells.length != result.length) {
+            for (var i = tr_result.cells.length - 1; i >= 0; i--)
+                tr_result.deleteCell(i);
+            for (var i=0; i < result.length; i++) {
+                value = result.charAt(i);
+                td = tr_result.insertCell(tr_result.cells.length);
+            }
+        }
+        var value;
+        var ini = -1;
+        var end = -1;
+        var args = renderResult.arguments;
+        if (args.length > 2) {
+            var index;
+            if ((index = args[2].indexOf("-")) > 0) {
+                ini = parseInt(args[2].substring(0, index) ,10);
+                end = parseInt(args[2].substr(index + 1) ,10);
+            } else ini = parseInt(args[2], 10);
+        }
+        for (var i=0; i < result.length; i++) {
+            value = result.charAt(i);
+            td = tr_result.cells[i];
+            if (td.style.backgroundColor != "yellow") td.style.backgroundColor = "white";
+            td.innerHTML = (value == " ")?"&nbsp;":value;
+            td.title = "Pos " + i + ". Value: \"" + value + "\"";
+            if (ini >= 0) {
+                if (end > 0) {
+                    if (ini <= i && i <= end) td.style.backgroundColor = "#cccccc";
+                } else if (i == ini) td.style.backgroundColor = "#cccccc";
+            } else {
+                var pos = (i < 10)?'0' + i:i + '';
+                var obj;
+                if ((obj = document.getElementById('f' + pos)) != null) {
+                    var found = false;
+                    for (var j=0; j < obj.options.length && !found; j++)
+                        if (obj.options[j].value == value) found = true;
+                    if (!found) {
+                        td.style.backgroundColor = "yellow";
+                        td.title = "Pos " + i + ". Bad Value: \"" + value + "\"";
+                    }
+                }
+            }
+        }//for
+    }
+}//renderResult
+
+
+// Change displaying of result in the page
+function changeH4Result(form, h4_result, tr_result, pos, value)
+{
+    var resultStr = form.result.value;
+    var result = changePosResult(pos, value, resultStr);
+    renderResult(tr_result, result, pos);
+    h4_result.innerHTML = result;
+    form.result.value = result;
+}//changeH4Result
+
+
+
+// Class to read the xml and render the type of material
+(function()
+{
+
+    xmlControlField = function(tagfield, form_id, select, table, h4_result, tr_result, idMaterial)
+    {
+        this.tagfield = tagfield;
+        this.idMaterial = idMaterial;
+        this.form_id = form_id;
+        this.form = document.getElementById(form_id);
+        this.select = select;
+        this.table = table;
+        this.h4_result = h4_result;
+        this.tr_result = tr_result;
+    };//xmlControlField
+    
+    
+    xmlControlField.prototype =
+    {
+        tagfield: "",
+        idMaterial: "",
+        root: null,
+        form_id: "",
+        form: null,
+        select: null,
+        table: null,
+        h4_result: "",
+        tr_result: "",
+        
+        
+        setIdMaterial: function(idMaterial)
+        {
+            this.idMaterial = idMaterial;
+        },//setIdMaterial
+        
+        loadXmlValues: function()
+        {
+            var xmlhttp;
+            try {
+                if (window.XMLHttpRequest) {
+                    xmlhttp = new XMLHttpRequest();
+                    if (xmlhttp.overrideMimeType) {
+                        xmlhttp.overrideMimeType('text/xml');
+                    }
+                } else if (window.ActiveXObject) {
+                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP") || new ActiveXObject("Msxml2.XMLHTTP");
+                }
+                xmlhttp.open("GET", "/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_" + this.tagfield + ".xml", false);
+                xmlhttp.send(null);
+                this.xmlDoc = xmlhttp.responseXML;
+                if (this.xmlDoc) this.renderTemplate();
+            } catch (e) {
+                //alert(e);
+            }
+        },//loadXmlValues
+        
+        
+        renderTemplate: function()
+        {
+            this.root = this.xmlDoc.documentElement;
+            if (this.root.nodeName == "Tagfield" && this.root.nodeType == 1 && this.root.hasChildNodes()) {
+                var tag = this.root.attributes.getNamedItem("tag").nodeValue;
+                var nodeMaterial = this.root.getElementsByTagName('Material');
+                if (nodeMaterial != null && nodeMaterial.length > 0) {
+                    if (this.idMaterial == "") this.idMaterial = nodeMaterial[0].attributes.getNamedItem("id").nodeValue;
+                    this.renderSelectMaterial(nodeMaterial);
+                    this.renderPositions(nodeMaterial, (this.form.result.value != "")?this.form.result.value:returnValueParam("result"));
+                }
+            }
+        },//renderTemplate
+        
+        
+        renderSelectMaterial: function(nodeMaterial)
+        {
+            if (this.select != null && nodeMaterial != null && nodeMaterial.length > 0) {
+                if (this.select.options.length <= 1) {
+                    var id;
+                    var name;
+                    var arrSort = new Array();
+                    var arrEquiv = new Array();
+                    for (var i=0; i < nodeMaterial.length; i++) {
+                        id = nodeMaterial[i].attributes.getNamedItem("id").nodeValue;
+                        name = nodeMaterial[i].attributes.getNamedItem("name").nodeValue;
+                        arrEquiv[id] = i;
+                        arrSort.push(id);
+                    }
+                    arrSort.sort();
+                    var j;
+                    for (var i=0; i < arrSort.length; i++) {
+                        j = arrEquiv[arrSort[i]];
+                        add_option(this.select, arrSort[i] + " - " + nodeMaterial[j].attributes.getNamedItem("name").nodeValue, arrSort[i], (this.idMaterial != "" && arrSort[i] == this.idMaterial)?true:false);
+                    }
+                } else if (this.idMaterial != "") {
+                    for (var i=0; i < this.select.options.length; i++) {
+                        if (this.select.options[i].value == this.idMaterial) this.select.options[i].selected = true;
+                    }
+                }
+            }
+        },//renderSelectMaterial
+        
+        
+        renderPositions: function(nodeMaterial, result)
+        {
+            var materialNode;
+            try {
+                var resultXPath = this.xmlDoc.evaluate("//a:Material[@id='" + this.idMaterial + "']", this.xmlDoc.documentElement, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
+                materialNode = resultXPath.singleNodeValue;
+            } catch (e) {
+                for (var i=0; i < nodeMaterial.length; i++) {
+                    if (this.idMaterial == nodeMaterial[i].attributes.getNamedItem("id").nodeValue) {
+                        materialNode = nodeMaterial[i];
+                        break;
+                    }
+                }
+            }
+            if (this.table != null) {
+                var tbody = this.table.tBodies[0];
+                if (tbody.rows.length > 0)
+                    for (var i = tbody.rows.length - 1; i >= 1; i--)
+                        tbody.deleteRow(i);
+                if (materialNode != undefined && materialNode != null && materialNode.nodeType == 1 && materialNode.hasChildNodes()) {
+                    var nodePos = materialNode.firstChild;
+                    var tr;
+                    var td;
+                    var title;
+                    var pos;
+                    var value;
+                    var strInnerHTML = "";
+                    var selected;
+                    var index;
+                    var url;
+                    while (nodePos != null) {
+                        if (nodePos.nodeType == 1 && nodePos.nodeName == "Position") {
+                            tr = tbody.insertRow(tbody.rows.length);
+                            td = tr.insertCell(tr.cells.length);
+                            pos = nodePos.attributes.getNamedItem("pos").nodeValue;
+                            title = ((nodePos.getAttributeNode("description") || nodePos.hasAttribute("description")) && nodePos.getAttribute("description") != "")?nodePos.attributes.getNamedItem("description").nodeValue:nodePos.attributes.getNamedItem("name").nodeValue;
+                            try {
+                                url = ((nodePos.getAttributeNode("url") || nodePos.hasAttribute("url")) && nodePos.getAttribute("url") != "" && nodePos.getAttribute("urltext") != "")?"&nbsp;<a href='" + nodePos.attributes.getNamedItem("url").nodeValue + "' target='_blank'>" + nodePos.attributes.getNamedItem("urltext").nodeValue + "</a>":"";
+                            } catch (e) { url = "";}
+                            td.innerHTML = "<label for='" + pos + "' title='" + title + "'>" + pos + " - " + nodePos.attributes.getNamedItem("name").nodeValue + url + "</label>";
+                            td = tr.insertCell(tr.cells.length);
+                            value = returnValuePosFromResult(result, pos);
+                            if ((index = pos.indexOf("-")) > 0) {
+                                var ini = parseInt(pos.substring(0, index) ,10);
+                                var end = parseInt(pos.substr(index + 1) ,10);
+                                value = value.replace(/ /g, "#");
+                                strInnerHTML = "<input type='text' name='f" + pos + "' id='f" + pos + "' value='" + value + "' size='" + (1 + end - ini) + "' maxlength='" + (1 + end - ini) + "' onkeyup='this.value = this.value.replace(/ /g, \"#\"); changeH4Result(document.getElementById(\"" + this.form_id + "\"), document.getElementById(\"" + this.h4_result + "\"), document.getElementById(\"" + this.tr_result + "\"), \"" + pos + "\", this.value)' onfocus='changeH4Result(document.getElementById(\"" + this.form_id + "\"), document.getElementById(\"" + this.h4_result + "\"), document.getElementById(\"" + this.tr_result + "\"), \"" + pos + "\", this.value)' />";
+                            } else {
+                                strInnerHTML = "<select name='f" + pos + "' id='f" + pos + "' style='width:400px' onchange='changeH4Result(document.getElementById(\"" + this.form_id + "\"), document.getElementById(\"" + this.h4_result + "\"), document.getElementById(\"" + this.tr_result + "\"), \"" + pos + "\", this.options[this.selectedIndex].value)' onfocus='changeH4Result(document.getElementById(\"" + this.form_id + "\"), document.getElementById(\"" + this.h4_result + "\"), document.getElementById(\"" + this.tr_result + "\"), \"" + pos + "\", this.options[this.selectedIndex].value)'>";
+                                value = value.replace("#", " ");
+                                if (nodePos.hasChildNodes()) {
+                                    var nodeValue = nodePos.firstChild;
+                                    while (nodeValue != null) {
+                                        if (nodeValue.nodeType == 1 && nodeValue.nodeName == "Value" && nodeValue.hasChildNodes()) {
+                                            var valNode = nodeValue.firstChild.nodeValue;
+                                            valNode = valNode.replace("#", " ");
+                                            selected = (value == valNode)?"selected='selected'":"";
+                                            strInnerHTML += "<option value='"  + valNode + "' " + selected + ">" + nodeValue.firstChild.nodeValue + " - " + nodeValue.attributes.getNamedItem("description").nodeValue +  "</option>";
+                                        }
+                                        nodeValue = nodeValue.nextSibling;
+                                    }
+                                } else {
+                                    strInnerHTML += "<option value=' ' selected='selected'># - " + title +  "</option>";
+                                    strInnerHTML += "<option value='|' selected='selected'>| - " + title +  "</option>";
+                                }
+                                strInnerHTML += "</select>";
+                            }
+                            //alert(strInnerHTML);
+                            td.innerHTML = strInnerHTML;
+                        }
+                        nodePos = nodePos.nextSibling;
+                    }
+                }
+            }
+        }//renderPositions
+    };
+
+})();
+
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref
old mode 100644
new mode 100755
index d809022..0c3bd46
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref
@@ -118,4 +118,10 @@ Cataloging:
                   yes: Hide
                   no: "Don't hide"
             - items marked as suppressed from OPAC search results. Note that you must have the <code>Suppress</code> index set up in Zebra and at least one suppressed item, or your searches will be broken.
+        -
+            - pref: TypeOfMaterialsView_006_008
+              choices:
+                  yes: "Don't hide"
+                  no: Hide
+            - 006/008 plugins show Type of Materials and change fields form to view the allowed values for the different positions.
 
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_006.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_006.tmpl
old mode 100644
new mode 100755
index ab2a079..7240639
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_006.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_006.tmpl
@@ -1,14 +1,67 @@
 <!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
 <title>Koha &rsaquo; Cataloging &rsaquo; 006 builder</title>
 <!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
+
+<!-- TMPL_IF NAME="viewMaterialTypesMode" -->
+<script type="text/javascript" src='<!-- TMPL_VAR name="themelang" -->/js/xmlControlfield.js'></script>
+<script type="text/javascript">
+    var objXmlControlField;
+    var tr_result;
+    var h4_result;
+
+    function loadXmlValues()
+    {
+        var form = document.f_pop;
+        h4_result = document.getElementById("h4_result");
+        tr_result = document.getElementById("tr_result");
+        objXmlControlField = new xmlControlField('<!--TMPL_VAR Name="tagfield"-->', 'f_pop', document.getElementById('material_type'), document.getElementById('table_material_types'), 'h4_result', 'tr_result', '');
+        objXmlControlField.loadXmlValues();
+        renderResult(tr_result, (form.result.value != "")?form.result.value:returnValueParam("result"));
+    }//loadXmlValues
+
+    function changeTypeofMaterial(form)
+    {
+        if (confirm('Show values for \'' + form.material_type.options[form.material_type.selectedIndex].text + '\' material type?')) {
+            objXmlControlField.setIdMaterial(form.material_type.options[form.material_type.selectedIndex].value);
+            var result = returnResultFromValues(form);
+            objXmlControlField.renderTemplate();
+            h4_result.innerHTML = result;
+            renderResult(tr_result, result);
+            form.result.value = result;
+        }
+    }//changeTypeofMaterial
+</script>
+<!-- /TMPL_IF -->
+
 </head>
-<body style="padding:1em;">
+<body style="padding:1em;" <!-- TMPL_IF NAME="viewMaterialTypesMode" -->onload="loadXmlValues()"<!-- /TMPL_IF -->>
 <h3>006 Fixed-length data elements--Additional material characteristics--General information</h3>
-<form name="f_pop" onsubmit="report()" action="">
+
+<!-- TMPL_IF NAME="viewMaterialTypesMode" -->
+<table border="1">
+    <tr id="tr_result">
+    </tr>
+</table>
+<h4 id="h4_result"><!--TMPL_VAR Name="result"--></h4>
+<!-- /TMPL_IF -->
+
+<form name="f_pop" id="f_pop" onsubmit="report()" action="">
 <input type="hidden" name="plugin_name" value="marc21_field_006.pl" />
-<table>
-	<tr>
-		<td><label for="f0">0 Form of material</label></td>
+<input type="hidden" id="<!-- TMPL_VAR NAME='index'-->" name="index" value="<!-- TMPL_VAR NAME='index'-->" />
+<input type="hidden" name="result" value="<!--TMPL_VAR Name="result"-->" />
+<table id="table_material_types">
+    <!-- TMPL_IF NAME="viewMaterialTypesMode" -->
+    <tr id="tr_material_types">
+        <td><label for="material_type" title="Select a type of material to specify the variable values">Type of Material</label></td>
+        <td>
+            <select name="material_type" id="material_type" title="Select a type of material to specify the variable values" onchange="changeTypeofMaterial(this.form)">
+                <option value="">Select a type of material</option>
+            </select>
+        </td>
+    </tr>
+    <!-- TMPL_ELSE -->
+    <tr>
+        <td><label for="f0">0 Form of material</label></td>
                 <td>
                         <select name="f0" id="f0" size="1">
                         <!-- TMPL_IF name="f0a" -->
@@ -101,13 +154,13 @@
                                 <option value="t">t - Manuscript language material</option>
                         <!-- /TMPL_IF -->
                         </select>
-		</td>
-	</tr>
-	<tr>
+        </td>
+    </tr>
+    <tr>
                 <td>01-04 Illustrations </td>
                 <td>(auto-filled from 300)<input type="hidden" name="f014" size="4"  maxlength="4" value="<!-- TMPL_VAR NAME="f014" -->"/></td>
         </tr>
-	        <tr>
+            <tr>
                 <!-- 5 Target Audience -->
                 <td><label for="f5">5- Target Audience</label></td>
                 <td>
@@ -119,7 +172,7 @@
                         <option value="|">|- Default</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f50" -->
+            <!-- TMPL_IF name="f50" -->
                         <option value=" " selected="selected">#- Unknown or not specified</option>
                         <!-- TMPL_ELSE -->
                         <option value=" ">#- Unknown or not specified</option>
@@ -175,7 +228,7 @@
                 </select>
                 </td>
         </tr>
-	 <tr>
+     <tr>
                 <!-- 06 Form of an item -->
                 <td><label for="f6">06- Form of an item</label></td>
                 <td>
@@ -246,7 +299,7 @@
                 <td><label for="f11">11- Government Publication</label></td>
                 <td>
                 <select name="f11" id="f11" size="1">
-		
+        
                         <!-- TMPL_IF name="f11|" -->
                         <option value="|" selected="selected">|- Default</option>
                         <!-- TMPL_ELSE -->
@@ -333,16 +386,16 @@
                         <!-- TMPL_ELSE -->
                         <option value="0">0- Not a conference publication</option>
                         <!-- /TMPL_IF -->
-			<!-- TMPL_IF name="f121" -->
+            <!-- TMPL_IF name="f121" -->
                         <option value="1" selected="selected">1- Conference publication</option>
                         <!-- TMPL_ELSE -->
                         <option value="1">1- Conference publication</option>
                         <!-- /TMPL_IF -->
 
-		</select>
-		</td>
-	</tr>
-	<tr>
+        </select>
+        </td>
+    </tr>
+    <tr>
                 <td><label for="f13">13- Festschrift</label></td>
                 <td>
                 <select name="f13" id="f13" size="1">
@@ -351,7 +404,7 @@
                         <!-- TMPL_ELSE -->
                         <option value="0">0- Not a festschrift</option>
                         <!-- /TMPL_IF -->
-			<!-- TMPL_IF name="f131" -->
+            <!-- TMPL_IF name="f131" -->
                         <option value="1" selected="selected">1- Festschrift</option>
                         <!-- TMPL_ELSE -->
                         <option value="1">1- Festschrift</option>
@@ -369,7 +422,7 @@
                         <!-- TMPL_ELSE -->
                         <option value="|">|- Default</option>
                         <!-- /TMPL_IF -->
-	
+    
                         <!-- TMPL_IF name="f140" -->
                         <option value="0" selected="selected">0- No Index</option>
                         <!-- TMPL_ELSE -->
@@ -382,10 +435,10 @@
                         <!-- /TMPL_IF -->
                 </select>
                 </td>
-        	</tr>
-		<tr><td>15 Undefined</td><td></td>
-		</tr>
-		<tr>
+            </tr>
+        <tr><td>15 Undefined</td><td></td>
+        </tr>
+        <tr>
                 <td><label for="f16">16- Literary form</label></td>
                 <td>
                 <select name="f16" id="f16" size="1">
@@ -399,12 +452,12 @@
                         <!-- TMPL_ELSE -->
                         <option value="1">1- Fiction</option>
                         <!-- /TMPL_IF -->
-			<!-- TMPL_IF name="f16c" -->
+            <!-- TMPL_IF name="f16c" -->
                         <option value="c" selected="selected">c- Comic strips</option>
                         <!-- TMPL_ELSE -->
                         <option value="c">c- Comic strips</option>
                         <!-- /TMPL_IF -->
-			
+            
                         <!-- TMPL_IF name="f16d" -->
                         <option value="d" selected="selected">d- Dramas</option>
                         <!-- TMPL_ELSE -->
@@ -418,32 +471,32 @@
                         <option value="e">e- Essays</option>
                         <!-- /TMPL_IF -->
 
-			
+            
                         <!-- TMPL_IF name="f16f" -->
                         <option value="f" selected="selected">f- Novels</option>
                         <!-- TMPL_ELSE -->
                         <option value="f">f- Novels</option>
                         <!-- /TMPL_IF -->
 
-			
+            
                         <!-- TMPL_IF name="f16h" -->
                         <option value="h" selected="selected">h- Humor,satires,etc.</option>
                         <!-- TMPL_ELSE -->
                         <option value="h">h- Humor,satires,etc.</option>
                         <!-- /TMPL_IF -->
-			
+            
                         <!-- TMPL_IF name="f16i" -->
                         <option value="i" selected="selected">i- Letters</option>
                         <!-- TMPL_ELSE -->
                         <option value="i">i- Letters</option>
                         <!-- /TMPL_IF -->
-			
+            
                         <!-- TMPL_IF name="f16j" -->
                         <option value="j" selected="selected">j- Short stories</option>
                         <!-- TMPL_ELSE -->
                         <option value="j">j- Short stories</option>
                         <!-- /TMPL_IF -->
-			
+            
                         <!-- TMPL_IF name="f16m" -->
                         <option value="m" selected="selected">m- Mixed forms</option>
                         <!-- TMPL_ELSE -->
@@ -461,7 +514,7 @@
                         <!-- TMPL_ELSE -->
                         <option value="s">s- Speeches</option>
                         <!-- /TMPL_IF -->
-			
+            
                         <!-- TMPL_IF name="f16u" -->
                         <option value="u" selected="selected">u- Unknown</option>
                         <!-- TMPL_ELSE -->
@@ -471,7 +524,7 @@
                 </select>
                 </td>
         </tr>
-	<tr>
+    <tr>
                 <td><label for="f17">17- Biography</label></td>
                 <td>
                 <select name="f17" id="f17" size="1">
@@ -494,7 +547,7 @@
                         <option value="c" selected="selected">c- Collective biography</option>                              <!-- TMPL_ELSE -->
                         <option value="c">c- Collective biography</option>
                         <!-- /TMPL_IF -->
-			
+            
                         <!-- TMPL_IF name="f17d" -->
                         <option value="d" selected="selected">d- Contains biographical information</option>                              <!-- TMPL_ELSE -->
                         <option value="d">d- Contains biographical information</option>
@@ -503,6 +556,7 @@
                 </td>
         </tr>
 
+    <!-- /TMPL_IF -->
 </table>
 <fieldset class="action"><input type="submit" value="OK" /> <a href="#" class="cancel close">Cancel</a></fieldset>
 </form>
@@ -510,24 +564,27 @@
 function report() {
             var doc   = opener.document; 
             var field = doc.getElementById("<!-- TMPL_VAR NAME='index'-->");
-        
+            <!-- TMPL_IF NAME="viewMaterialTypesMode" -->
+            field.value = document.getElementById("h4_result").innerHTML;
+            <!-- TMPL_ELSE -->
             field.value = 
-			'<!-- TMPL_VAR NAME="dateentered" -->'+
-			document.f_pop.f0.value+
-			document.f_pop.f014.value+
-			document.f_pop.f5.value+
-			document.f_pop.f6.value+
-			document.f_pop.f710.value+
-			document.f_pop.f11.value+
-			document.f_pop.f12.value+
-			document.f_pop.f13.value+
-			document.f_pop.f14.value+ ' '+
-			document.f_pop.f16.value+
-			document.f_pop.f17.value;
-		self.close();
-		return false;
-	}
-	//]]>
+            '<!-- TMPL_VAR NAME="dateentered" -->'+
+            document.f_pop.f0.value+
+            document.f_pop.f014.value+
+            document.f_pop.f5.value+
+            document.f_pop.f6.value+
+            document.f_pop.f710.value+
+            document.f_pop.f11.value+
+            document.f_pop.f12.value+
+            document.f_pop.f13.value+
+            document.f_pop.f14.value+ ' '+
+            document.f_pop.f16.value+
+            document.f_pop.f17.value;
+            <!-- /TMPL_IF -->
+        self.close();
+        return false;
+    }
+    //]]>
 </script>
 
 <!-- TMPL_INCLUDE NAME="popup-bottom.inc" -->
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_006.xml b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_006.xml
new file mode 100755
index 0000000..9ea0417
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_006.xml
@@ -0,0 +1,795 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Tagfield tag="006" xmlns="http://koha-community.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "./marc21_field_CF.xsd">
+  <Material id="BKS" name="Books" description="">
+    <Position pos="00" name="Form of material" description="">
+      <Value description="Language material">a</Value>
+      <Value description="Manuscript language material">t</Value>
+    </Position>
+    <Position pos="01-04" name="Illustrations" description="Up to four (4) one-character alphabetic codes (recorded in alphabetical order) that indicate the presence of types of illustrations in the item. If fewer than four alphabetic codes are assigned, the codes are left justified and unused positions contain blanks (#)">
+      <Value description="No illustrations">#</Value>
+      <Value description="Illustrations">a</Value>
+      <Value description="Maps">b</Value>
+      <Value description="Portraits">c</Value>
+      <Value description="Charts">d</Value>
+      <Value description="Plans">e</Value>
+      <Value description="Plates">f</Value>
+      <Value description="Music">g</Value>
+      <Value description="Facsimiles">h</Value>
+      <Value description="Coats of arms">i</Value>
+      <Value description="Genealogical tables">j</Value>
+      <Value description="Forms">k</Value>
+      <Value description="Samples">l</Value>
+      <Value description="Phonodisc, phonowire, etc">m</Value>
+      <Value description="Photographs">o</Value>
+      <Value description="Illuminations">p</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="05" name="Target audience" description="One- character alphabetic code that describes the intellectual level of the target audience for which the material is intended">
+      <Value description="Unknown or not specified">#</Value>
+      <Value description="Preschool">a</Value>
+      <Value description="Primary">b</Value>
+      <Value description="Pre-adolescent">c</Value>
+      <Value description="Adolescent">d</Value>
+      <Value description="Adult">e</Value>
+      <Value description="Specialized">f</Value>
+      <Value description="General">g</Value>
+      <Value description="Juvenile">j</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="06" name="Form of item" description="One character alphabetic code that specifies the form of material for the item">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Braille">f</Value>
+      <Value description="Online">o</Value>
+      <Value description="Direct electronic">q</Value>
+      <Value description="Regular print reproduction">r</Value>
+      <Value description="Electronic">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="07-10" name="Nature of contents" description="Up to four one-character codes that indicate whether a significant part of the item is or contains certain types of material. If fewer than four codes are assigned, the codes are left justified and unused positions contain blanks (#)">
+      <Value description="No specified nature of contents">#</Value>
+      <Value description="Offprints.Publication that originally was published as an article in a monograph or a serial and that is also issued separately and independently. Includes prepints and postprints">2</Value>
+      <Value description="Calendars">5</Value>
+      <Value description="Comics/graphic novels">6</Value>
+      <Value description="Abstracts/summaries. Abstracts or summaries of other publications. Not used when a publication includes an abstract or summary of its own content.">a</Value>
+      <Value description="Bibliographies">b</Value>
+      <Value description="Catalogs">c</Value>
+      <Value description="Dictionaries. Also used for a glossary or a gazetteer.">d</Value>
+      <Value description="Encyclopedias">e</Value>
+      <Value description="Handbooks">f</Value>
+      <Value description="Legal articles">g</Value>
+      <Value description="Indexes. Index to bibliographical material other than itself. Not used when a publication contains an index to its own content.">i</Value>
+      <Value description="Patent document">j</Value>
+      <Value description="Discographies">k</Value>
+      <Value description="Legislation. Full or partial text of enactments of legislative bodies, published either in statute or in code form, or text of rules and regulations issued by executive or adminitrative agencies.">l</Value>
+      <Value description="Theses. Thesis, dissertation, or work identified as having been created to satisfy the requirements for an academic certification or degree.">m</Value>
+      <Value description="Surveys of literature in a subject area. Composed entirely of authored surveys that summarize what has been published about a subject.">n</Value>
+      <Value description="Reviews. Devoted entirely to critical reviews of published or performed works (e.g., books, films, sound recordings, theater)">o</Value>
+      <Value description="Programmed texts">p</Value>
+      <Value description="Filmographies. Entire item, or a significant part of it, is a filmography or other  bibliografy of moving images.">q</Value>
+      <Value description="Directories">r</Value>
+      <Value description="Statistics">s</Value>
+      <Value description="Technical reports">t</Value>
+      <Value description="Standars/specifications">u</Value>
+      <Value description="Legal cases and case notes">v</Value>
+      <Value description="Law reports and digests">w</Value>
+      <Value description="Yearbooks">y</Value>
+      <Value description="Treaties. Treaty or accord negotiated between two or more parties to settle a disagreement, establish a relationship, gran rights,etc.">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="11" name="Government publication" description="One-character code that indicates whether or not the item is published or produced by or for an international, national, state, provincial, or local government agency, or by any subdivision of such a body">
+      <Value description="Not a government publication">#</Value>
+      <Value description="Autonomous or semi-autonomous component">a</Value>
+      <Value description="Multilocal">c</Value>
+      <Value description="Federal / National">f</Value>
+      <Value description="International intergovernmental">i</Value>
+      <Value description="Local">l</Value>
+      <Value description="Multistate">m</Value>
+      <Value description="Government publication-level undetermined">o</Value>
+      <Value description="State, provincial, territorial, dependent, etc.">s</Value>
+      <Value description="Unknown if item is government publication">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="12" name="Conference publication" description="One-character code that indicates whether the item consists of the proceedings, reports, or summaries of a conference.">
+      <Value description="Not a conference publication">0</Value>
+      <Value description="Conference">1</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="13" name="Festschrift" description="One-character code that indicates whether the item is a festschrift">
+      <Value description="Not a festschrift">0</Value>
+      <Value description="Festschrift">1</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="14" name="Index" description="One-character numeric code that indicates whether the item includes an index to its own contents">
+      <Value description="No index">0</Value>
+      <Value description="Index present">1</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="15" name="Undefined" description="Contains a blank (#) or a fill character (|)."/>
+    <Position pos="16" name="Literary form" description="One-character code used to indicate the literary form of an item. Numeric codes 0 and 1 provide a generic identification of whether or not the item is a work of fiction. Alphabetic codes may be used to identify specific literary forms.">
+      <Value description="Not fiction (not further specified)">0</Value>
+      <Value description="Fiction (not further specified)">1</Value>
+      <Value description="Dramas">d</Value>
+      <Value description="Essays">e</Value>
+      <Value description="Novels">f</Value>
+      <Value description="Humor, satires, etc.">h</Value>
+      <Value description="Letters. Single letter or collection of correspondence">i</Value>
+      <Value description="Short stories. Short story or collection of short stories.">j</Value>
+      <Value description="Mixed forms. Represents a variety of literary forms (e.g., poetry and short stories)">m</Value>
+      <Value description="Poetry">p</Value>
+      <Value description="Speeches">s</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="17" name="Biography" description="One-character alphabetic code that indicates whether or not an item contains biographical material, and if so, what the biographical characteristics are.">
+      <Value description="No biographical material">#</Value>
+      <Value description="Autobiography">a</Value>
+      <Value description="Individual biography">b</Value>
+      <Value description="Collective biography">c</Value>
+      <Value description="Contains biographical information">d</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+  </Material>
+  <Material id="CF" name="Computer Files" description="">
+    <Position pos="00" name="Form of material" description="">
+      <Value description="Computer file/ Electronic resource">m</Value>
+    </Position>
+    <Position pos="01-04" name="Undefined" description="Cada uno contiene un espacio en blanco (#) o un carácter de relleno (|)"/>
+    <Position pos="05" name="Target audience" description="One- character alphabetic code that describes the intellectual level of the target audience for which the material is intended">
+      <Value description="Unknown or not specified">#</Value>
+      <Value description="Preschool">a</Value>
+      <Value description="Primary">b</Value>
+      <Value description="Pre-adolescent">c</Value>
+      <Value description="Adolescent">d</Value>
+      <Value description="Adult">e</Value>
+      <Value description="Specialized">f</Value>
+      <Value description="General">g</Value>
+      <Value description="Juvenile">j</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="06" name="Form of item" description="One-character alphabetic code that specifies the form of material for the item">
+      <Value description="Unknown or not specified">#</Value>
+      <Value description="Online">o</Value>
+      <Value description="Direct electronic">q</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="07-08" name="Undefined" description="Two undefined character positions; each contains a blank (#) or a fill character (|)."/>
+    <Position pos="09" name="Type of computer file " description="One-character alphabetic code that indicates the type of computer file described in the bibliographic record">
+      <Value description="Numeric data">a</Value>
+      <Value description="Computer program">b</Value>
+      <Value description="Representational. Pictorial or graphic information that can be manipulated in conjunction with other types of files to produce graphic patterns that can be used to interpret and give meaning to the information. Does not include a document in image format.">c</Value>
+      <Value description="Document">d</Value>
+      <Value description="Bibliographic data">e</Value>
+      <Value description="Font">f</Value>
+      <Value description="Game">g</Value>
+      <Value description="Sound">h</Value>
+      <Value description="Interactive multimedia">i</Value>
+      <Value description="Online system or service">j</Value>
+      <Value description="Combination">m</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="10" name="No definido" description="Contiene un espacio en blanco (#) o un carácter de relleno(|)"/>
+    <Position pos="11" name="Government publication" description="One-character code that indicates whether or not the item is published or produced by or for an international, national, state, provincial, or local government agency, or by any subdivision of such a body">
+      <Value description="Not a government publication">#</Value>
+      <Value description="Autonomous or semi-autonomous component">a</Value>
+      <Value description="Multilocal">c</Value>
+      <Value description="Federal / National">f</Value>
+      <Value description="International intergovernmental">i</Value>
+      <Value description="Local">l</Value>
+      <Value description="Multistate">m</Value>
+      <Value description="Government publication-level undetermined">o</Value>
+      <Value description="State, provincial, territorial, dependent, etc.">s</Value>
+      <Value description="Unknown if item is government publication">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="12-18" name="Undefined" description="Six undefined character positions; each contains a blank (#) or a fill character (|)."/>
+  </Material>
+  <Material id="MP" name="Maps" description="">
+    <Position pos="00" name="Form of material" description="">
+      <Value description="Cartographic material">e</Value>
+      <Value description="Manuscript cartographic material">f</Value>
+    </Position>
+    <Position pos="01-04" name="Relief" description="Up to four one-character alphabetic codes that indicate the relief type specified on the item. Codes are recorded in order of their importance to the described item. If fewer than four codes are assigned, the codes are left justified and each unused position contains a blank (#).">
+      <Value description="No relief shown"># </Value>
+      <Value description="Contours">a</Value>
+      <Value description="Shading">b</Value>
+      <Value description="Gradient and bathymetric tints">c</Value>
+      <Value description="Hachures">d</Value>
+      <Value description="Bathymetry/soundings">e</Value>
+      <Value description="Form lines">f</Value>
+      <Value description="Spot heights">g</Value>
+      <Value description="Pictorially">i</Value>
+      <Value description="Land forms">j</Value>
+      <Value description="Bathymetry/ isolines">k</Value>
+      <Value description="Rock drawings">m</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="05-06" name="Projection" description="Two-character alphabetic code that indicates the projection used in producing the item.">
+      <Value description="Projection not specified">##</Value>
+      <Value description="Aitoff ">aa</Value>
+      <Value description="Gnomic">ab</Value>
+      <Value description="Lambert's azimuthal equal area">ac</Value>
+      <Value description="Orthographic">ad</Value>
+      <Value description="Azimuthal equidistant">ae</Value>
+      <Value description="Stereographic">af</Value>
+      <Value description="General vertical near-sided">ag</Value>
+      <Value description="Modified stereographic for Alaska">am</Value>
+      <Value description="Chamberlin trimetric">an</Value>
+      <Value description="Polar stereographic">ap</Value>
+      <Value description="Azimuthal, specific type unknown">au</Value>
+      <Value description="Azimutal, other">az</Value>
+      <Value description="Gall ">ba</Value>
+      <Value description="Goode's homolographic">bb</Value>
+      <Value description="Lambert's cylindrical equal area">bc</Value>
+      <Value description="Mercator">bd</Value>
+      <Value description="Miller ">be</Value>
+      <Value description="Mollweide ">bf</Value>
+      <Value description="Sinusoidal ">bg</Value>
+      <Value description="Transverse Mercator">bh</Value>
+      <Value description="Gauss-Kruger ">bi</Value>
+      <Value description="Equirectangular ">bj</Value>
+      <Value description="Krovak">bk</Value>
+      <Value description="Cassini-Soldner">bl</Value>
+      <Value description="Oblique Mercator">bo</Value>
+      <Value description="Robinson ">br</Value>
+      <Value description="Space oblique Mercator">bs</Value>
+      <Value description="Cylindrical, specific type unknown">bu</Value>
+      <Value description="Cylindrical, other">bz</Value>
+      <Value description="Albers equal area">ca</Value>
+      <Value description="Bonne ">cb</Value>
+      <Value description="Lambert's conformal conic">cc</Value>
+      <Value description="Equidistant conic">ce</Value>
+      <Value description="Polyconic">cp</Value>
+      <Value description="Conic, specific type unknown">cu</Value>
+      <Value description="Conic, other">cz</Value>
+      <Value description="Armadillo ">da</Value>
+      <Value description="Butterfly ">db</Value>
+      <Value description="Eckert ">dc</Value>
+      <Value description="Goode's homolosine">dd</Value>
+      <Value description="Miller's bipolar oblique conformal conic">de</Value>
+      <Value description="Van Der Grinten ">df</Value>
+      <Value description="Dimaxión ">dg</Value>
+      <Value description="Cordiform">dh</Value>
+      <Value description="Lambert conformal ">dl</Value>
+      <Value description="Other">zz</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="07" name="Undefined" description="Undefined; contains a blank (#) or a fill character (|)."/>
+    <Position pos="08" name="Type of cartographic material" description="One-character alphabetic code that indicates the type of cartographic item described.">
+      <Value description="Single map">a</Value>
+      <Value description="Map Series. Number of related but physically separate and bibliographically distinct cartographic units intended by the producer(s) or issuing body(s) to form a single group.">b</Value>
+      <Value description="Map serial. Issued in successive parts bearing numerical or chronological designations and intended to be continued indefinitely">c</Value>
+      <Value description="Globe">d</Value>
+      <Value description="Atlas ">e</Value>
+      <Value description="Separate supplement to another work">f</Value>
+      <Value description="Bound as part of another work">g</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="09-10" name="Undefined" description="Each contains a blank (#) or a fill character (|)"/>
+    <Position pos="11" name="Government publication" description="One-character code that indicates whether or not the item is published or produced by or for an international, national, state, provincial, or local government agency, or by any subdivision of such a body">
+      <Value description="Not a government publication">#</Value>
+      <Value description="Autonomous or semi-autonomous component">a</Value>
+      <Value description="Multilocal">c</Value>
+      <Value description="Federal / National">f</Value>
+      <Value description="International intergovernmental">i</Value>
+      <Value description="Local">l</Value>
+      <Value description="Multistate">m</Value>
+      <Value description="Government publication-level undetermined">o</Value>
+      <Value description="State, provincial, territorial, dependent, etc.">s</Value>
+      <Value description="Unknown if item is government publication">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="12" name="Form of item" description="One-character alphabetic code that indicates the form of material for the item.">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Braille ">f</Value>
+      <Value description="Online.  The resource is accessed by means of hardware and software connections to a communications network. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">o</Value>
+      <Value description="Direct electronic. Storage on a directly accessible tangible recording medium, e.g. disc, tape, playaway device, flashdrive, portable hard drive, etc. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">q</Value>
+      <Value description="Regular print reproduction">r</Value>
+      <Value description="Electronic. Intended for manipulation by a computer. May reside in a carrier accessed either directly or remotely, in some cases requiring the use of peripheral devices attached to the computer (e.g., a CD-ROM player). Not used for items that do not require the use of a computer (e.g., music compact discs, videodiscs). This code can be used as a generic code for any form of electronic resource. Codes o and q may be used if there is a need to separately identify online and direct electronic resources.">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="13" name="Undefined" description="Contains a blank (#) or a fill character (|)."/>
+    <Position pos="14" name="Index" description="One-character numeric code that indicates whether the item or accompanying material includes a location index or gazetteer.">
+      <Value description="No index">0</Value>
+      <Value description="Index present">1</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="15" name="Undefined" description="Contains a blank (#) or a fill character (|)."/>
+    <Position pos="16-17" name="Special format characteristics" description="Up to two one-character alphabetic codes that indicate the special format characteristics of the map. Codes are recorded in order of their importance to the described item. If only one code is assigned, it is left justified and the unused position contains a blank (#).">
+      <Value description="No specified special format characteristics">#</Value>
+      <Value description="Manuscript">e</Value>
+      <Value description="Picture card, post card">j</Value>
+      <Value description="Calendar">k</Value>
+      <Value description="Puzzle">l</Value>
+      <Value description="Game">n</Value>
+      <Value description="Wall map">o</Value>
+      <Value description="Playing cards">p</Value>
+      <Value description="Loose-leaf">r</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+  </Material>
+  <Material id="MU" name="Music" description="">
+    <Position pos="00" name="Form of material" description="">
+      <Value description="Notated music">c</Value>
+      <Value description="Manuscript notated music">d</Value>
+      <Value description="Nonmusical sound recording">i</Value>
+      <Value description="Musical sound recording">j</Value>
+    </Position>
+    <Position pos="01-02" name="Form of composition" description="">
+      <Value description="Anthems">an</Value>
+      <Value description="Ballads">bd</Value>
+      <Value description="Bluegrass music">bg</Value>
+      <Value description="Blues ">bl</Value>
+      <Value description="Ballets ">bt</Value>
+      <Value description="Chaconnes">ca</Value>
+      <Value description="Chants, Other religions">cb</Value>
+      <Value description="Chants, Christian">cc</Value>
+      <Value description="Concerti grossi ">cg</Value>
+      <Value description="Chorales">ch</Value>
+      <Value description="Chorale preludes">cl</Value>
+      <Value description="Canons and rounds">cn</Value>
+      <Value description="Concertos">co</Value>
+      <Value description="Chansons, polyphonic">cp</Value>
+      <Value description="Carols">cr</Value>
+      <Value description="Chance compositions">cs</Value>
+      <Value description="Cantatas">ct</Value>
+      <Value description="Country music">cy</Value>
+      <Value description="Canzonas">cz</Value>
+      <Value description="Dance forms">df</Value>
+      <Value description="Divertimentos, serenades, cassations, divertissements, and notturni">dv</Value>
+      <Value description="Fugues">fg</Value>
+      <Value description="Flamenco">fl</Value>
+      <Value description="Folk music">fm</Value>
+      <Value description="Fantasias ">ft</Value>
+      <Value description="Gospel music">gm</Value>
+      <Value description="Hymns">hy</Value>
+      <Value description="Jazz">jz</Value>
+      <Value description="Musical revues and comedies">mc</Value>
+      <Value description="Madrigals">md</Value>
+      <Value description="Minuets ">mi</Value>
+      <Value description="Motets">mo</Value>
+      <Value description="Motion picture music">mp</Value>
+      <Value description="Marches">mr</Value>
+      <Value description="Masses">ms</Value>
+      <Value description="Multiple forms">mu</Value>
+      <Value description="Mazurkas">mz</Value>
+      <Value description="Nocturnes">nc</Value>
+      <Value description="Not applicable">nn</Value>
+      <Value description="Operas">op</Value>
+      <Value description="Oratorios ">or</Value>
+      <Value description="Overtures">ov</Value>
+      <Value description="Program music">pg</Value>
+      <Value description="Passion music">pm</Value>
+      <Value description="Polonaises">po</Value>
+      <Value description="Popular music">pp</Value>
+      <Value description="Preludes">pr</Value>
+      <Value description="Passacaglias">ps</Value>
+      <Value description="Part-songs">pt</Value>
+      <Value description="Pavans">pv</Value>
+      <Value description=" Rock music">rc</Value>
+      <Value description="Rondos">rd</Value>
+      <Value description="Ragtime music">rg</Value>
+      <Value description="Ricercars ">ri</Value>
+      <Value description="Rhapsodies">rp</Value>
+      <Value description="Requiems ">rq</Value>
+      <Value description="Square dance music">sd</Value>
+      <Value description="Songs">sg</Value>
+      <Value description="Sonatas ">sn</Value>
+      <Value description="Symphonic poems">sp</Value>
+      <Value description="Studies and exercises">st</Value>
+      <Value description="Suites ">su</Value>
+      <Value description="Symphonies">sy</Value>
+      <Value description="Toccatas">tc</Value>
+      <Value description="Teatro lirico">tl</Value>
+      <Value description="Trio-sonatas">ts</Value>
+      <Value description="Unknown">uu</Value>
+      <Value description="Villacincos">vi</Value>
+      <Value description="Variations">vr</Value>
+      <Value description="Waltzers">wz</Value>
+      <Value description="Zarzuelas">za</Value>
+      <Value description="Other">zz</Value>
+      <Value description="No attempt to code">||</Value>
+    </Position>
+    <Position pos="03" name="Format of music" description="One-character code that indicates the format of a musical composition (e.g., piano-conductor score).">
+      <Value description="Full score">a</Value>
+      <Value description="Full score, miniature or study size">b</Value>
+      <Value description="Accompaniment reduced for keyboard">c</Value>
+      <Value description="Voice score">d</Value>
+      <Value description="Condensed score or piano-conductor score">e</Value>
+      <Value description="Close score">g</Value>
+      <Value description="Chorus score">h</Value>
+      <Value description="Condensed score">i</Value>
+      <Value description="Performer-conductor part">j</Value>
+      <Value description="Multiple score formats">m</Value>
+      <Value description="Not applicable">n</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="04" name="Music Parts" description="">
+      <Value description="No parts in hand or not specified">#</Value>
+      <Value description="Instrumental and vocal parts">d</Value>
+      <Value description="Instrumental parts">e</Value>
+      <Value description="Vocal parts">f</Value>
+      <Value description="Not applicable">n</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="05" name="Target audience" description="One- character alphabetic code that describes the intellectual level of the target audience for which the material is intended">
+      <Value description="Unknown or not specified">#</Value>
+      <Value description="Preschool">a</Value>
+      <Value description="Primary">b</Value>
+      <Value description="Pre-adolescent">c</Value>
+      <Value description="Adolescent">d</Value>
+      <Value description="Adult">e</Value>
+      <Value description="Specialized">f</Value>
+      <Value description="General">g</Value>
+      <Value description="Juvenile">j</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="06" name="Form of item" description="One-character alphabetic code that indicates the form of material for the item.">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Braille ">f</Value>
+      <Value description="Online.  The resource is accessed by means of hardware and software connections to a communications network. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">o</Value>
+      <Value description="Direct electronic. Storage on a directly accessible tangible recording medium, e.g. disc, tape, playaway device, flashdrive, portable hard drive, etc. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">q</Value>
+      <Value description="Regular print reproduction">r</Value>
+      <Value description="Electronic. Intended for manipulation by a computer. May reside in a carrier accessed either directly or remotely, in some cases requiring the use of peripheral devices attached to the computer (e.g., a CD-ROM player). Not used for items that do not require the use of a computer (e.g., music compact discs, videodiscs). This code can be used as a generic code for any form of electronic resource. Codes o and q may be used if there is a need to separately identify online and direct electronic resources.">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="07-12" name="Accompanying matter" description="Up to six one-character alphabetic codes (recorded in alphabetical order) that indicate the contents of program notes and other accompanying material for sound recording, music manuscripts, or notated music. If fewer than six codes are assigned, the codes are left justified and each unused position contains a blank (#).">
+      <Value description="No accompanying matter">#</Value>
+      <Value description="Discography">a</Value>
+      <Value description="Bibliography">b</Value>
+      <Value description="Thematic indez">c</Value>
+      <Value description="Libretto or text">d</Value>
+      <Value description="Bibliography of composer or autor">e</Value>
+      <Value description="Biography of performer or history of ensemble">f</Value>
+      <Value description="Technical and/or historical information on instruments">g</Value>
+      <Value description="Technical information on music">h</Value>
+      <Value description="Historical information">i</Value>
+      <Value description="Ethnological information">k</Value>
+      <Value description="Instrutional materials">r</Value>
+      <Value description="Music">s</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="13-14" name="Literary text for sound recordings " description="Up to two one-character codes (recorded in the order of the following list) that indicate the type of literary text contained in a nonmusical sound recording. If only one code is assigned, it is left justified and the unused position contains a blank (#).">
+      <Value description="Item is a music sound recording">#</Value>
+      <Value description="Autobiography">a</Value>
+      <Value description="Biography">b</Value>
+      <Value description="Conference proceedings">c</Value>
+      <Value description="Drama ">d</Value>
+      <Value description="Essays">e</Value>
+      <Value description="Fiction">f</Value>
+      <Value description="Reporting">g</Value>
+      <Value description="History">h</Value>
+      <Value description="Instruction">i</Value>
+      <Value description="Language instruction">j</Value>
+      <Value description="Comedy">k</Value>
+      <Value description="Lectures, speeches">l</Value>
+      <Value description="Memoirs">m</Value>
+      <Value description="Not applicable">n</Value>
+      <Value description="Folktales">o</Value>
+      <Value description="Poetry">p</Value>
+      <Value description="Rehearsals">r</Value>
+      <Value description="Sounds">s</Value>
+      <Value description="Interviews">t</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="15" name="Undefined" description="Undefined; contains a blank (#) or a fill character (|)."/>
+    <Position pos="16" name="Transposition and arrangement" description="Whether all or part of the item being cataloged is a transposition and/or arrangement of another work.">
+      <Value description="Not arrangement or transposition or not specified">#</Value>
+      <Value description="Transposition">a</Value>
+      <Value description="Arragement">b</Value>
+      <Value description="Both transposed and arranged">c</Value>
+      <Value description="Not applicable">n</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="17" name="Undefined" description="Undefined; contains a blank (#) or a fill character (|)."/>
+  </Material>
+  <Material id="CR" name="Continuing Resources" description="">
+    <Position pos="00" name="Form of material" description="">
+      <Value description="Serial / Integrating resource">s</Value>
+    </Position>
+    <Position pos="01" name="Frequency" description="One-character alphabetic code that indicates the frequency of an item; used in conjunction with 008/19 (Regularity).">
+      <Value description="No determinable frequency">#</Value>
+      <Value description="Annual">a</Value>
+      <Value description="Bimonthly">b</Value>
+      <Value description="Semiweekly">c</Value>
+      <Value description="Daily">d</Value>
+      <Value description="Biweekly">e</Value>
+      <Value description="Semiannual">f</Value>
+      <Value description="Biennial">g</Value>
+      <Value description="Triennial">h</Value>
+      <Value description="Three times a week">i</Value>
+      <Value description="Three times a month">j</Value>
+      <Value description="Continuously updated">k</Value>
+      <Value description="Monthly">m</Value>
+      <Value description="Quarterly">q</Value>
+      <Value description="Semimonthly">s</Value>
+      <Value description="Three times a year">t</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Weekly">w</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="02" name="Regularity" description="One-character alphabetic code that indicates the intended regularity of an item; used in conjunction with 008/18 (Frequency).">
+      <Value description="Normalized irregular">n</Value>
+      <Value description="Regular ">r</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Completely irregular">x</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="03" name="Undefined" description="Undefined; contains a blank (#) or a fill character (|)."/>
+    <Position pos="04" name="Type of continuing resource" description="One-character alphabetic code that indicates the type of continuing resource.">
+      <Value description="None of the following">#</Value>
+      <Value description="Updating database">d</Value>
+      <Value description="Updating loose-leaf">l</Value>
+      <Value description="Monographic series">m</Value>
+      <Value description="Newspaper">n</Value>
+      <Value description="Periodical">p</Value>
+      <Value description="Updating web site">w</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="05" name="Form of original item" description="One-character alphabetic code that indicates the form of material in which an item was originally published.">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Newspaper format">e</Value>
+      <Value description="Braille ">f</Value>
+      <Value description="Online.  The resource is accessed by means of hardware and software connections to a communications network. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">o</Value>
+      <Value description="Direct electronic">q</Value>
+      <Value description="Electronic. Intended for manipulation by a computer. May reside in a carrier accessed either directly or remotely, in some cases requiring the use of peripheral devices attached to the computer (e.g., a CD-ROM player). Not used for items that do not requi">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="06" name="Form of item" description="One-character alphabetic code that specifies the form of material for the item being described">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Braille ">f</Value>
+      <Value description="Online.  The resource is accessed by means of hardware and software connections to a communications network. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">o</Value>
+      <Value description="Direct electronic">q</Value>
+      <Value description="Regular print reproduction">r</Value>
+      <Value description="Electronic. Intended for manipulation by a computer. May reside in a carrier accessed either directly or remotely, in some cases requiring the use of peripheral devices attached to the computer (e.g., a CD-ROM player). Not used for items that do not requi">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="07" name="Nature of entire work" description="">
+      <Value description="Not specified">#</Value>
+      <Value description="Calendars">5</Value>
+      <Value description="Comics/graphic novels">6</Value>
+      <Value description="Abstracts/ summaries">a</Value>
+      <Value description="Bibliographies">b</Value>
+      <Value description="Catalogs">c</Value>
+      <Value description="Dictionaries. Also used for a glossary or a gazetteer.">d</Value>
+      <Value description="Encyclopedias">e</Value>
+      <Value description="Handbooks">f</Value>
+      <Value description="Legal articles">g</Value>
+      <Value description="Biography">h</Value>
+      <Value description="Indexes. Index to bibliographical material other than itself. Not used when a publication contains an index to its own content.">i</Value>
+      <Value description="Discographies">k</Value>
+      <Value description="Legislation. Full or partial text of enactments of legislative bodies, published either in statute or in code form, or text of rules and regulations issued by executive or adminitrative agencies.">l</Value>
+      <Value description="Theses">m</Value>
+      <Value description="Survey of literature in a subject area">n</Value>
+      <Value description="Reviews">o</Value>
+      <Value description="Programmed texts">p</Value>
+      <Value description="Filmographies">q</Value>
+      <Value description="Directories">r</Value>
+      <Value description="Statistics">s</Value>
+      <Value description="Technical reports">t</Value>
+      <Value description="Standards/ specifications">u</Value>
+      <Value description="Legal cases and case notes">v</Value>
+      <Value description="Law reorts and digests">w</Value>
+      <Value description="Yearbooks">y</Value>
+      <Value description="Teatries">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="08-10" name="Nature of contents" description="">
+      <Value description="Not specified">#</Value>
+      <Value description="Calendars">5</Value>
+      <Value description="Comics/graphic novels">6</Value>
+      <Value description="Abstracts/ summaries">a</Value>
+      <Value description="Bibliographies">b</Value>
+      <Value description="Catalogs">c</Value>
+      <Value description="Dictionaries. Also used for a glossary or a gazetteer.">d</Value>
+      <Value description="Encyclopedias">e</Value>
+      <Value description="Handbooks">f</Value>
+      <Value description="Legal articles">g</Value>
+      <Value description="Biography">h</Value>
+      <Value description="Indexes. Index to bibliographical material other than itself. Not used when a publication contains an index to its own content.">i</Value>
+      <Value description="Discographies">k</Value>
+      <Value description="Legislation. Full or partial text of enactments of legislative bodies, published either in statute or in code form, or text of rules and regulations issued by executive or adminitrative agencies.">l</Value>
+      <Value description="Theses">m</Value>
+      <Value description="Survey of literature in a subject area">n</Value>
+      <Value description="Reviews">o</Value>
+      <Value description="Programmed texts">p</Value>
+      <Value description="Filmographies">q</Value>
+      <Value description="Directories">r</Value>
+      <Value description="Statistics">s</Value>
+      <Value description="Technical reports">t</Value>
+      <Value description="Standars/specifications">u</Value>
+      <Value description="Legal cases and case notes">v</Value>
+      <Value description="Law reports and digests">w</Value>
+      <Value description="Treaties">z</Value>
+      <Value description="No attempt to code">|||</Value>
+    </Position>
+    <Position pos="11" name="Government publication" description="One-character code that indicates whether or not the item is published or produced by or for an international, national, state, provincial, or local government agency, or by any subdivision of such a body">
+      <Value description="Not a government publication">#</Value>
+      <Value description="Autonomous or semi-autonomous component">a</Value>
+      <Value description="Multilocal">c</Value>
+      <Value description="Federal / National">f</Value>
+      <Value description="International intergovernmental">i</Value>
+      <Value description="Local">l</Value>
+      <Value description="Multistate">m</Value>
+      <Value description="Government publication-level undetermined">o</Value>
+      <Value description="State, provincial, territorial, dependent, etc.">s</Value>
+      <Value description="Unknown if item is government publication">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="12" name="Conference publication" description="One-character numeric code that indicates whether an item consists of the proceedings, reports, or summaries of a conference.">
+      <Value description="Not a conference publication">0</Value>
+      <Value description="Conference publication">1</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="13-15" name="Undefined" description="Undefined; each contains a blank (#) or a fill character (|)."/>
+    <Position pos="16" name="Original alphabet or script of title" description="One-character alphabetic code that indicates the original alphabet or script of the language of the title on the source item upon which the key title (field 222) is based.">
+      <Value description="No alphabet or script given / No key title">#</Value>
+      <Value description="Basic Roman">a</Value>
+      <Value description="Extended Roman">b</Value>
+      <Value description="Cyrillic">c</Value>
+      <Value description="Japanese">d</Value>
+      <Value description="Chinese">e</Value>
+      <Value description="Arabic">f</Value>
+      <Value description="Greek">g</Value>
+      <Value description="Hebrew">h</Value>
+      <Value description="Thai ">i</Value>
+      <Value description="Devanagari ">j</Value>
+      <Value description="Korean">k</Value>
+      <Value description="Tamil ">l</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="17" name="Entry convention" description="One-character numeric code that indicates whether the item was cataloged according to successive entry, latest entry, or integrated entry cataloging conventions.">
+      <Value description="Succesive entry.New bibliographic record is created each time 1) a title changes, or 2) a corporate body used as main entry or uniform title qualifier, changes. The earlier or later title or author/title is recorded in a linking field (field 780/785) on each record.">0</Value>
+      <Value description="Latest entry. Cataloged under its latest (most recent) title or issuing body (pre-AACR cataloging rules). All former titles and/or issuing bodies are given in notes (fields 247, 547, and 550).">1</Value>
+      <Value description="Integrated entry. Cataloged under its latest (most recent) title and/or responsible person or corporate body. Used for integrating resources and electronic serials that do not retain their earlier titles.">2</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+  </Material>
+  <Material id="VM" name="Visual Materials" description="">
+    <Position pos="00" name="Form of material" description="">
+      <Value description="Projected medium">g</Value>
+      <Value description="Two-dimensional nonprojectable graphic">k</Value>
+      <Value description="Kit">o</Value>
+      <Value description="Tree- dimensional artifact or naturally occurring object">r</Value>
+    </Position>
+    <Position pos="01-03" name="Running time for motion pictures and videorecordings " description="Three-digit number that indicates the total running time of the motion picture or videorecording. The number is right justified and each unused position contains a zero.">
+      <Value description="Running time exceeds three characters">000</Value>
+      <Value description="Running time">001-999</Value>
+      <Value description="Not applicable">nnn</Value>
+      <Value description="No attempt to code">|||</Value>
+      <Value description="Unknown">                         --- </Value>
+    </Position>
+    <Position pos="04" name="Undefined" description="Undefined; contains a blank (#) or a fill character (|)."/>
+    <Position pos="05" name="Target audience" description="One- character alphabetic code that describes the intellectual level of the target audience for which the material is intended">
+      <Value description="Unknown or not specified">#</Value>
+      <Value description="Preschool">a</Value>
+      <Value description="Primary">b</Value>
+      <Value description="Pre-adolescent">c</Value>
+      <Value description="Adolescent">d</Value>
+      <Value description="Adult">e</Value>
+      <Value description="Specialized">f</Value>
+      <Value description="General">g</Value>
+      <Value description="Juvenile">j</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="06-10" name="Undefined" description="Undefined; each contains a blank (#) or a fill character (|)."/>
+    <Position pos="11" name="Government publication" description="One-character code that indicates whether or not the item is published or produced by or for an international, national, state, provincial, or local government agency, or by any subdivision of such a body">
+      <Value description="Not a government publication">#</Value>
+      <Value description="Autonomous or semi-autonomous component">a</Value>
+      <Value description="Multilocal">c</Value>
+      <Value description="Federal / National">f</Value>
+      <Value description="International intergovernmental">i</Value>
+      <Value description="Local">l</Value>
+      <Value description="Multistate">m</Value>
+      <Value description="Government publication-level undetermined">o</Value>
+      <Value description="State, provincial, territorial, dependent, etc.">s</Value>
+      <Value description="Unknown if item is government publication">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="12" name="Form of item" description="One-character alphabetic code that indicates the form of material for the item.">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Braille ">f</Value>
+      <Value description="Online.  The resource is accessed by means of hardware and software connections to a communications network. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">o</Value>
+      <Value description="Direct electronic. Storage on a directly accessible tangible recording medium, e.g. disc, tape, playaway device, flashdrive, portable hard drive, etc. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">q</Value>
+      <Value description="Regular print reproduction">r</Value>
+      <Value description="Electronic. Intended for manipulation by a computer. May reside in a carrier accessed either directly or remotely, in some cases requiring the use of peripheral devices attached to the computer (e.g., a CD-ROM player). Not used for items that do not require the use of a computer (e.g., music compact discs, videodiscs). This code can be used as a generic code for any form of electronic resource. Codes o and q may be used if there is a need to separately identify online and direct electronic resources.">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="13-15" name="Undefined" description="Undefined; each contains a blank (#) or a fill character (|)."/>
+    <Position pos="16" name="Type of visual material" description="One-character alphabetic code that indicates the type of visual material being described.">
+      <Value description="Art original ">a</Value>
+      <Value description="Kit.Mixture of components from two or more categories, that is, sound recording, maps, filmstrips, etc., no one of which is the predominant constituent of the item.">b</Value>
+      <Value description="Art reproduction">c</Value>
+      <Value description="Diorama ">d</Value>
+      <Value description="Filmstrip">f</Value>
+      <Value description="Game">g</Value>
+      <Value description="Picture">i</Value>
+      <Value description="Graphic">k</Value>
+      <Value description="Technical drawing">l</Value>
+      <Value description="Motion picture">m</Value>
+      <Value description="Chart">n</Value>
+      <Value description="Flash card">o</Value>
+      <Value description="Microscope slide">p</Value>
+      <Value description="Model">q</Value>
+      <Value description="Realia ">r</Value>
+      <Value description="Slide">s</Value>
+      <Value description="Transparency">t</Value>
+      <Value description="Videorecording">v</Value>
+      <Value description="Toy">w</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="17" name="Technique" description="One-character alphabetic code that indicates the technique used in creating motion in motion pictures or videorecordings.">
+      <Value description="Animation">a</Value>
+      <Value description="Animation and live action">c</Value>
+      <Value description="Live action">l</Value>
+      <Value description="Not applicable">n</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+  </Material>
+  <Material id="MX" name="Mixed Materials" description="">
+    <Position pos="00" name="Form of material" description="">
+      <Value description="Mixed material">p</Value>
+    </Position>
+    <Position pos="01-05" name="Undefined" description="Undefined; each contains a blank (#) or a fill character (|)."/>
+    <Position pos="06" name="Form of item" description="One-character alphabetic code that specifies the form of material for the item being described">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Braille ">f</Value>
+      <Value description="Online.  The resource is accessed by means of hardware and software connections to a communications network. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">o</Value>
+      <Value description="Direct electronic">q</Value>
+      <Value description="Regular print reproduction">r</Value>
+      <Value description="Electronic. Intended for manipulation by a computer. May reside in a carrier accessed either directly or remotely, in some cases requiring the use of peripheral devices attached to the computer (e.g., a CD-ROM player). Not used for items that do not requi">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="07-17" name="Undefined" description="Undefined; each contains a blank (#) or a fill character (|)."/>
+  </Material>
+</Tagfield>
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_008.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_008.tmpl
old mode 100644
new mode 100755
index 9dddccb..b232466
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_008.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_008.tmpl
@@ -1,282 +1,335 @@
 <!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
 <title>Koha &rsaquo; Cataloging &rsaquo; 008 builder</title>
 <!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
+
+<!-- TMPL_IF NAME="viewMaterialTypesMode" -->
+<script type="text/javascript" src='<!-- TMPL_VAR name="themelang" -->/js/xmlControlfield.js'></script>
+<script type="text/javascript">
+    var objXmlControlField;
+    var tr_result;
+    var h4_result;
+
+    function loadXmlValues()
+    {
+        var form = document.f_pop;
+        h4_result = document.getElementById("h4_result");
+        tr_result = document.getElementById("tr_result");
+        objXmlControlField = new xmlControlField('<!--TMPL_VAR Name="tagfield"-->', 'f_pop', document.getElementById('material_type'), document.getElementById('table_material_types'), 'h4_result', 'tr_result', '');
+        objXmlControlField.loadXmlValues();
+        renderResult(tr_result, (form.result.value != "")?form.result.value:returnValueParam("result"));
+    }//loadXmlValues
+
+    function changeTypeofMaterial(form)
+    {
+        if (confirm('Show values for \'' + form.material_type.options[form.material_type.selectedIndex].text + '\' material type?')) {
+            objXmlControlField.setIdMaterial(form.material_type.options[form.material_type.selectedIndex].value);
+            var result = returnResultFromValues(form);
+            objXmlControlField.renderTemplate();
+            h4_result.innerHTML = result;
+            renderResult(tr_result, result);
+            form.result.value = result;
+        }
+    }//changeTypeofMaterial
+</script>
+<!-- /TMPL_IF -->
+
 </head>
-<body style="padding:1em;">
+<body style="padding:1em;" <!-- TMPL_IF NAME="viewMaterialTypesMode" -->onload="loadXmlValues()"<!-- /TMPL_IF -->>
 <h3> 008 Fixed-length data elements--General information</h3>
-<form name="f_pop" onsubmit="report()" action="">
+
+<!-- TMPL_IF NAME="viewMaterialTypesMode" -->
+<table border="1">
+    <tr id="tr_result">
+    </tr>
+</table>
+<h4 id="h4_result"><!--TMPL_VAR Name="result"--></h4>
+<!-- /TMPL_IF -->
+
+<form name="f_pop" id="f_pop" onsubmit="report()" action="">
 <input type="hidden" name="plugin_name" value="marc21_field_008.pl" />
-<table>
-	<tr>
-		<td>1-5 Date entered on file (auto-filled)</td>
-		<td><input type="text" name="f1" maxlength="6" size="7" value="<!-- TMPL_VAR name="f1" -->" /></td>
-	</tr>
-	<tr>
-		<!-- 06 Type of date / Publication status -->
-		<td><label for="f6">06- Type of date / Publication Status</label></td>
-		<td>
-			<!-- NO DATE; B.C. DATE -->
-
-			<select name="f6" id="f6" size="1">
-			<!-- TMPL_IF name="f60" -->
+<input type="hidden" id="<!-- TMPL_VAR NAME='index'-->" name="index" value="<!-- TMPL_VAR NAME='index'-->" />
+<input type="hidden" name="result" value="<!--TMPL_VAR Name="result"-->" />
+<table id="table_material_types">
+    <!-- TMPL_IF NAME="viewMaterialTypesMode" -->
+    <tr id="tr_material_types">
+        <td><label for="material_type" title="Select a type of material to specify the variable values">Type of Material</label></td>
+        <td>
+            <select name="material_type" id="material_type" title="Select a type of material to specify the variable values" onchange="changeTypeofMaterial(this.form)">
+                <option value="">Select a type of material</option>
+            </select>
+        </td>
+    </tr>
+    <!-- TMPL_ELSE -->
+    <tr>
+        <td><label for="f1">1-5 Date entered on file (auto-filled)</label></td>
+        <td><input type="text" name="f1" id="f1" maxlength="6" size="7" value="<!-- TMPL_VAR name="f1" -->" /></td>
+    </tr>
+    <tr>
+        <!-- 06 Type of date / Publication status -->
+        <td><label for="f6" <!-- TMPL_IF NAME="POS_06_DESC" -->title="<!--TMPL_VAR Name="POS_06_DESC"-->"<!-- /TMPL_IF -->>06- Type of date / Publication Status</label></td>
+        <td>
+            <!-- NO DATE; B.C. DATE -->
+
+            <select name="f6" id="f6" size="1" style="width:400px">
+            <!-- TMPL_IF name="f60" -->
                                 <option value=" " selected="selected">#- Blank</option>
                         <!-- TMPL_ELSE -->
                                 <option value=" ">#- Blank</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f6b" -->
-				<option value="b" selected="selected">b- B.C. Date</option>
-			<!-- TMPL_ELSE -->
-				<option value="b">b- B.C. Date</option>
-			<!-- /TMPL_IF -->
+            <!-- TMPL_IF name="f6b" -->
+                <option value="b" selected="selected">b- B.C. Date</option>
+            <!-- TMPL_ELSE -->
+                <option value="b">b- B.C. Date</option>
+            <!-- /TMPL_IF -->
 
-			<!-- SINGLE DATE -->
-			<!-- TMPL_IF name="f6e" -->
+            <!-- SINGLE DATE -->
+            <!-- TMPL_IF name="f6e" -->
                                 <option value="e" selected="selected">e- Detailed date</option>
                         <!-- TMPL_ELSE -->
                                 <option value="e">e- Detailed date</option>
                         <!-- /TMPL_IF -->
-			<!-- TMPL_IF name="f6s" -->
+            <!-- TMPL_IF name="f6s" -->
                                 <option value="s" selected="selected">s- Single date</option>
                         <!-- TMPL_ELSE -->
                                 <option value="s">s- Single date</option>
                         <!-- /TMPL_IF -->
 
-			<!-- MULTIPLE DATES -->
-			<!-- TMPL_IF name="f6i" -->
+            <!-- MULTIPLE DATES -->
+            <!-- TMPL_IF name="f6i" -->
                                 <option value="i" selected="selected">i- Inclusive dates of collection</option>
                         <!-- TMPL_ELSE -->
                                 <option value="i">i- Inclusive dates of collection</option>
                         <!-- /TMPL_IF -->
-			<!-- TMPL_IF name="f6k" -->
+            <!-- TMPL_IF name="f6k" -->
                                 <option value="k" selected="selected">k- Range of years of bulk collection</option>
                         <!-- TMPL_ELSE -->
                                 <option value="k">k- Range of years of bulk collection</option>
                         <!-- /TMPL_IF -->
-			<!-- TMPL_IF name="f6m" -->
+            <!-- TMPL_IF name="f6m" -->
                                 <option value="m" selected="selected">m- Multiple dates</option>
                         <!-- TMPL_ELSE -->
                                 <option value="m">m- Multiple dates</option>
                         <!-- /TMPL_IF -->
-			<!-- TMPL_IF name="f6p" -->
+            <!-- TMPL_IF name="f6p" -->
                                 <option value="p" selected="selected">p- Distribution/production date</option>
                         <!-- TMPL_ELSE -->
                                 <option value="p">p- Distribution/production date</option>
-			<!-- /TMPL_IF -->
-	
-			<!-- TMPL_IF name="f6r" -->
-				<option value="r" selected="selected">r- Reprint/original date</option>
-			<!-- TMPL_ELSE -->
-				<option value="r">r- Reprint/original date</option>
-			<!-- /TMPL_IF -->
-
-			<!-- TMPL_IF name="f6t" -->
+            <!-- /TMPL_IF -->
+
+            <!-- TMPL_IF name="f6r" -->
+                <option value="r" selected="selected">r- Reprint/original date</option>
+            <!-- TMPL_ELSE -->
+                <option value="r">r- Reprint/original date</option>
+            <!-- /TMPL_IF -->
+
+            <!-- TMPL_IF name="f6t" -->
                                 <option value="t" selected="selected">t- Publication date and copyright date</option>
                         <!-- TMPL_ELSE -->
                                 <option value="t">t- Publication date and copyright date</option>
                         <!-- /TMPL_IF -->
 
-			<!-- UNKNOWN DATES -->
-			<!-- TMPL_IF name="f6n" -->
+            <!-- UNKNOWN DATES -->
+            <!-- TMPL_IF name="f6n" -->
                                 <option value="n" selected="selected">n- Dates unknown</option>
                         <!-- TMPL_ELSE -->
                                 <option value="n">n- Dates unknown</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f6q" -->
+            <!-- TMPL_IF name="f6q" -->
                                 <option value="q" selected="selected">q- Questionable date</option>
                         <!-- TMPL_ELSE -->
                                 <option value="q">q- Questionable date</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f6c" -->
+            <!-- TMPL_IF name="f6c" -->
                                 <option value="c" selected="selected">c- Serial item currently published</option>
                         <!-- TMPL_ELSE -->
                                 <option value="c">c- Serial item currently published</option>
                         <!-- /TMPL_IF -->
-				
-			<!-- TMPL_IF name="f6d" -->
+
+            <!-- TMPL_IF name="f6d" -->
                                 <option value="d" selected="selected">d- Serial item ceased publication (Dead status)</option>
                         <!-- TMPL_ELSE -->
                                 <option value="d">d- Serial item ceased publication (Dead status)</option>
                         <!-- /TMPL_IF -->
-			<!-- TMPL_IF name="f6u" -->
+            <!-- TMPL_IF name="f6u" -->
                                 <option value="u" selected="selected">u- Serial item status unknown</option>
                         <!-- TMPL_ELSE -->
                                 <option value="u">u- Serial item status unknown</option>
                         <!-- /TMPL_IF -->
 
 
-	
-			</select>
-		</td>
-	</tr>
-	<tr>
-		<td><label for="f710">7-10 Date1 / Beginning date of publication</label> </td>
-		<td>
-			<input type="text" name="f710" id="f710" size="4" maxlength="4" value="<!-- TMPL_VAR NAME="f710" -->"/>
-		</td>
-	</tr>
-	<tr>
-                <td><label for="f1114">11-14 Date2 / ending date of publication</label> </td>
-                <td>
-                        <input type="text" name="f1114" id="f1114" size="4" maxlength="4" value="<!-- TMPL_VAR NAME="f1114" -->"/>                </td>
-        </tr>
-
-	<tr>
-                <td><label for="f1517">15-17 Place of publication, production, or execution</label> See <a href="http://www.loc.gov/marc/countries/countries_code.html">MARC Code List for Countries</a> </td>
-                <td>
-                        <input type="text" name="f1517" id="f1517" size="3"  maxlength="3" value="<!-- TMPL_VAR NAME="f1517" -->"/>
-                </td>
-        </tr>
-	 <tr>
-                <td><label for="f1821">18-21 Illustrations</label> </td>
-		<td><input type="text" name="f1821" id="f1821" size="4"  maxlength="4" value="<!-- TMPL_VAR NAME="f1821" -->"/></td>
-        </tr>
-	<tr>
+            </select>
+        </td>
+    </tr>
+    <tr>
+        <td><label for="f710">7-10 Date1 / Beginning date of publication</label> </td>
+        <td>
+            <input type="text" name="f710" id="f710" size="4" maxlength="4" value="<!-- TMPL_VAR NAME="f710" -->"/>
+        </td>
+    </tr>
+    <tr>
+        <td><label for="f1114">11-14 Date2 / ending date of publication</label> </td>
+        <td>
+            <input type="text" name="f1114" id="f1114" size="4" maxlength="4" value="<!-- TMPL_VAR NAME="f1114" -->"/>
+        </td>
+    </tr>
+
+    <tr>
+        <td><label for="f1517">15-17 Place of publication, production, or execution</label> See <a href="http://www.loc.gov/marc/countries/countries_code.html">MARC Code List for Countries</a> </td>
+        <td>
+            <input type="text" name="f1517" id="f1517" size="3"  maxlength="3" value="<!-- TMPL_VAR NAME="f1517" -->"/>
+        </td>
+    </tr>
+    <tr>
+        <td><label for="f1821">18-21 Illustrations</label> </td>
+        <td><input type="text" name="f1821" id="f1821" size="4"  maxlength="4" value="<!-- TMPL_VAR NAME="f1821" -->"/>
+        </td>
+    </tr>
+    <tr>
                 <!-- 22 Target Audience -->
                 <td><label for="f22">22- Target Audience</label></td>
-                <td>                        
-                <select name="f22" id="f22" size="1">
-
-                        <!-- TMPL_IF name="f22|" -->
+                <td>
+                <select name="f22" id="f22" size="1" style="width:400px">
+                    <!-- TMPL_IF name="f22|" -->
                         <option value="|" selected="selected">|- Default</option>
-                        <!-- TMPL_ELSE -->
+                    <!-- TMPL_ELSE -->
                         <option value="|">|- Default</option>
-                        <!-- /TMPL_IF -->
-			<!-- TMPL_IF name="f220" -->
+                    <!-- /TMPL_IF -->
+                    <!-- TMPL_IF name="f220" -->
                         <option value=" " selected="selected">#- Unknown or not specified</option>
                         <!-- TMPL_ELSE -->
                         <option value=" ">#- Unknown or not specified</option>
                         <!-- /TMPL_IF -->
 
-                        <!-- TMPL_IF name="f22a" -->
+                    <!-- TMPL_IF name="f22a" -->
                          <option value="a" selected="selected">a- Preschool</option>
-	                <!-- TMPL_ELSE -->
-			<option value="a">a- Preschool</option>
-                        <!-- /TMPL_IF -->
+                    <!-- TMPL_ELSE -->
+                        <option value="a">a- Preschool</option>
+                    <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f22b" -->
+                    <!-- TMPL_IF name="f22b" -->
                          <option value="b" selected="selected">b- Primary</option>
                         <!-- TMPL_ELSE -->
                         <option value="b">b- Primary</option>
-                        <!-- /TMPL_IF -->	
+                        <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f22c" -->
+                    <!-- TMPL_IF name="f22c" -->
                          <option value="c" selected="selected">c- Elementary and junior high</option>
                         <!-- TMPL_ELSE -->
                         <option value="c">c- Elementary and junior high</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f22d" -->
+                    <!-- TMPL_IF name="f22d" -->
                          <option value="d" selected="selected">d- Secondary (senior high)</option>
                         <!-- TMPL_ELSE -->
                         <option value="d">d- Secondary (senior high)</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f22e" -->
+                    <!-- TMPL_IF name="f22e" -->
                          <option value="e" selected="selected">e- Adult</option>
                         <!-- TMPL_ELSE -->
                         <option value="e">e- Adult</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f22f" -->
-                         <option value="f" selected="selected">f- Specialized</option>
+                    <!-- TMPL_IF name="f22f" -->
+                        <option value="f" selected="selected">f- Specialized</option>
                         <!-- TMPL_ELSE -->
                         <option value="f">f- Specialized</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f22g" -->
+                    <!-- TMPL_IF name="f22g" -->
                          <option value="g" selected="selected">g- General</option>
                         <!-- TMPL_ELSE -->
                         <option value="g">g- General</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f22j" -->
+                    <!-- TMPL_IF name="f22j" -->
                          <option value="j" selected="selected">j- Juvenile</option>
                         <!-- TMPL_ELSE -->
                         <option value="j">j- Juvenile</option>
                         <!-- /TMPL_IF -->
-		</select>
-		</td>
-	</tr>
-	<tr>
+            </select>
+        </td>
+    </tr>
+    <tr>
                 <!-- 23 Form of an item -->
                 <td><label for="f23">23- Form of an item</label></td>
                 <td>
-                <select name="f23" id="f23" size="1">
-
+                <select name="f23" id="f23" size="1" style="width:400px">
                         <!-- TMPL_IF name="f230" -->
                         <option value=" " selected="selected">#- None of the following</option>
                         <!-- TMPL_ELSE -->
                         <option value=" ">#- None of the following</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f23a" -->
+            <!-- TMPL_IF name="f23a" -->
                         <option value="a" selected="selected">a- Microfilm</option>
                         <!-- TMPL_ELSE -->
                         <option value="a">a- Microfilm</option>
                         <!-- /TMPL_IF -->
-			
-			<!-- TMPL_IF name="f23b" -->
+
+            <!-- TMPL_IF name="f23b" -->
                         <option value="b" selected="selected">b- Microfiche</option>
                         <!-- TMPL_ELSE -->
                         <option value="b">b- Microfiche</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f23c" -->
+            <!-- TMPL_IF name="f23c" -->
                         <option value="c" selected="selected">a- Microopaque</option>
                         <!-- TMPL_ELSE -->
                         <option value="c">a- Microopaque</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f23d" -->
+            <!-- TMPL_IF name="f23d" -->
                         <option value="d" selected="selected">d- Large Print</option>
                         <!-- TMPL_ELSE -->
                         <option value="d">d- Large Print</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f23f" -->
+            <!-- TMPL_IF name="f23f" -->
                         <option value="f" selected="selected">f- Braille</option>
                         <!-- TMPL_ELSE -->
                         <option value="f">f- Braille</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f23r" -->
+            <!-- TMPL_IF name="f23r" -->
                         <option value="r" selected="selected">r- Regular print reproduction</option>
                         <!-- TMPL_ELSE -->
                         <option value="r">r- Regular print reproduction</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f23s" -->
+            <!-- TMPL_IF name="f23s" -->
                         <option value="s" selected="selected">s- Electronic</option>
                         <!-- TMPL_ELSE -->
                         <option value="s">s- Electronic</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f23!" -->
+            <!-- TMPL_IF name="f23!" -->
                         <option value="!" selected="selected">!- No attempt to code</option>
                         <!-- TMPL_ELSE -->
                         <option value="!">!- No attempt to code</option>
                         <!-- /TMPL_IF -->
-		</select>
-		</td>
-	</tr>
-	<tr>
+        </select>
+        </td>
+    </tr>
+    <tr>
                 <td><label for="f2427">24-27 Nature of contents</label> </td>
                 <td>
-                        <input type="text" name="f2427" id="f2427" size="4" maxlength="4" value="<!-- TMPL_VAR NAME="f2427" -->"/>                </td>
+                    <input type="text" name="f2427" id="f2427" size="4" maxlength="4" value="<!-- TMPL_VAR NAME="f2427" -->"/>
+                </td>
         </tr>
         <tr>
                 <td><label for="f28">28- Government Publication</label></td>
                 <td>
-                <select name="f28" id="f28" size="1">                                    
+                <select name="f28" id="f28" size="1" style="width:400px">
                         <!-- TMPL_IF name="f280" -->
                         <option value=" " selected="selected">#- Not a government publication</option>
                         <!-- TMPL_ELSE -->
                         <option value=" ">#- Not a government publication</option>
                         <!-- /TMPL_IF -->
-			
+
                         <!-- TMPL_IF name="f28a" -->
                         <option value="a" selected="selected">a- Autonomous or semi-autonomous component</option>
                         <!-- TMPL_ELSE -->
@@ -288,7 +341,7 @@
                         <!-- TMPL_ELSE -->
                         <option value="c">c- Multilocal</option>
                         <!-- /TMPL_IF -->
-			
+
                         <!-- TMPL_IF name="f28f" -->
                         <option value="f" selected="selected">f- Federal/national</option>
                         <!-- TMPL_ELSE -->
@@ -309,67 +362,67 @@
                         <option value="l">l- Local</option>
                         <!-- /TMPL_IF -->
 
-			
+
                         <!-- TMPL_IF name="f28m" -->
                         <option value="m" selected="selected">m- Multistate</option>
                         <!-- TMPL_ELSE -->
                         <option value="m">m- Multistate</option>
                         <!-- /TMPL_IF -->
-			
+
                         <!-- TMPL_IF name="f28o" -->
                         <option value="o" selected="selected">o- Government publication - level undetermined</option>
                         <!-- TMPL_ELSE -->
                         <option value="o">o- Government publication - level undetermined</option>
                         <!-- /TMPL_IF -->
-			
+
                         <!-- TMPL_IF name="f28s" -->
                         <option value="s" selected="selected">s- State, provincial,territorial,dependent,etc.</option>
                         <!-- TMPL_ELSE -->
                         <option value="s">s- State,provincial,territorial,dependent,etc.</option>
                         <!-- /TMPL_IF -->
-			
+
                         <!-- TMPL_IF name="f28u" -->
                         <option value="u" selected="selected">u- Unknown if item is government publication</option>
                         <!-- TMPL_ELSE -->
                         <option value="u">u- Unknown if item is government publication</option>
                         <!-- /TMPL_IF -->
-			
+
                         <!-- TMPL_IF name="f28z" -->
                         <option value="z" selected="selected">z- Other</option>
                         <!-- TMPL_ELSE -->
                         <option value="z">z- Other</option>
                         <!-- /TMPL_IF -->
-		</select>
-		</td>
-	</tr>
+        </select>
+        </td>
+    </tr>
         <tr>
                 <td><label for="f29">29- Conference publication</label></td>
                 <td>
-                <select name="f29" id="f29" size="1">
+                <select name="f29" id="f29" size="1" style="width:400px">
                         <!-- TMPL_IF name="f290" -->
                         <option value="0" selected="selected">0- Not a conference publication</option>
                         <!-- TMPL_ELSE -->
                         <option value="0">0- Not a conference publication</option>
                         <!-- /TMPL_IF -->
-			<!-- TMPL_IF name="f291" -->
+                        <!-- TMPL_IF name="f291" -->
                         <option value="1" selected="selected">1- Conference publication</option>
                         <!-- TMPL_ELSE -->
                         <option value="1">1- Conference publication</option>
                         <!-- /TMPL_IF -->
 
-		</select>
-		</td>
-	</tr>
-	<tr>
+        </select>
+        </td>
+    </tr>
+    <tr>
                 <td><label for="f30">30- Festschrift</label></td>
                 <td>
-                <select name="f30" id="f30" size="1">
+                <select name="f30" id="f30" size="1" style="width:400px">
                         <!-- TMPL_IF name="f300" -->
                         <option value="0" selected="selected">0- Not a festschrift</option>
                         <!-- TMPL_ELSE -->
                         <option value="0">0- Not a festschrift</option>
                         <!-- /TMPL_IF -->
-			<!-- TMPL_IF name="f301" -->
+                        <!-- TMPL_IF name="f301" -->
                         <option value="1" selected="selected">1- Festschrift</option>
                         <!-- TMPL_ELSE -->
                         <option value="1">1- Festschrift</option>
@@ -381,7 +434,7 @@
         <tr>
                 <td><label for="f31">31- Index</label></td>
                 <td>
-                <select name="f31" id="f31" size="1">
+                <select name="f31" id="f31" size="1" style="width:400px">
                         <!-- TMPL_IF name="f31|" -->
                         <option value="|" selected="selected">|- Default</option>
                         <!-- TMPL_ELSE -->
@@ -400,13 +453,14 @@
                         <!-- /TMPL_IF -->
                 </select>
                 </td>
-        	</tr>
-		<tr><td>32 Undefined</td><td></td>
-		</tr>
-		<tr>
+            </tr>
+        <tr>
+            <td>32 Undefined</td><td></td>
+        </tr>
+        <tr>
                 <td><label for="f33">33- Literary form</label></td>
                 <td>
-                <select name="f33" id="f33" size="1">
+                <select name="f33" id="f33" size="1" style="width:400px">
                         <!-- TMPL_IF name="f330" -->
                         <option value="0" selected="selected">0- Not fiction</option>
                         <!-- TMPL_ELSE -->
@@ -417,12 +471,12 @@
                         <!-- TMPL_ELSE -->
                         <option value="1">1- Fiction</option>
                         <!-- /TMPL_IF -->
-			<!-- TMPL_IF name="f33c" -->
+                        <!-- TMPL_IF name="f33c" -->
                         <option value="c" selected="selected">c- Comic strips</option>
                         <!-- TMPL_ELSE -->
                         <option value="c">c- Comic strips</option>
                         <!-- /TMPL_IF -->
-			
+
                         <!-- TMPL_IF name="f33d" -->
                         <option value="d" selected="selected">d- Dramas</option>
                         <!-- TMPL_ELSE -->
@@ -436,32 +490,32 @@
                         <option value="e">e- Essays</option>
                         <!-- /TMPL_IF -->
 
-			
+
                         <!-- TMPL_IF name="f33f" -->
                         <option value="f" selected="selected">f- Novels</option>
                         <!-- TMPL_ELSE -->
                         <option value="f">f- Novels</option>
                         <!-- /TMPL_IF -->
 
-			
+
                         <!-- TMPL_IF name="f33h" -->
                         <option value="h" selected="selected">h- Humor,satires,etc.</option>
                         <!-- TMPL_ELSE -->
                         <option value="h">h- Humor,satires,etc.</option>
                         <!-- /TMPL_IF -->
-			
+
                         <!-- TMPL_IF name="f33i" -->
                         <option value="i" selected="selected">i- Letters</option>
                         <!-- TMPL_ELSE -->
                         <option value="i">i- Letters</option>
                         <!-- /TMPL_IF -->
-			
+
                         <!-- TMPL_IF name="f33j" -->
                         <option value="j" selected="selected">j- Short stories</option>
                         <!-- TMPL_ELSE -->
                         <option value="j">j- Short stories</option>
                         <!-- /TMPL_IF -->
-			
+
                         <!-- TMPL_IF name="f33m" -->
                         <option value="m" selected="selected">m- Mixed forms</option>
                         <!-- TMPL_ELSE -->
@@ -479,7 +533,7 @@
                         <!-- TMPL_ELSE -->
                         <option value="s">s- Speeches</option>
                         <!-- /TMPL_IF -->
-			
+
                         <!-- TMPL_IF name="f33u" -->
                         <option value="u" selected="selected">u- Unknown</option>
                         <!-- TMPL_ELSE -->
@@ -487,14 +541,13 @@
                         <!-- /TMPL_IF -->
 
 
-
                 </select>
                 </td>
         </tr>
-	<tr>
+    <tr>
                 <td><label for="f34">34- Biography</label></td>
                 <td>
-                <select name="f34" id="f34" size="1">
+                <select name="f34" id="f34" size="1" style="width:400px">
                         <!-- TMPL_IF name="f340" -->
                         <option value=" " selected="selected">#- No biographical material</option>                              <!-- TMPL_ELSE -->
                         <option value=" ">#- No biographical material</option>
@@ -514,7 +567,7 @@
                         <option value="c" selected="selected">c- Collective biography</option>                              <!-- TMPL_ELSE -->
                         <option value="c">c- Collective biography</option>
                         <!-- /TMPL_IF -->
-			
+
                         <!-- TMPL_IF name="f34d" -->
                         <option value="d" selected="selected">d- Contains biographical information</option>                              <!-- TMPL_ELSE -->
                         <option value="d">d- Contains biographical information</option>
@@ -523,60 +576,60 @@
                 </td>
         </tr>
 
-	 <tr>
+     <tr>
 
                 <td><label for="f3537">35-37 Language</label> See <a href="http://www.loc.gov/marc/languages/language_code.html">MARC Code List for Languages</a></td>
                 <td>
-                        <input type="text" name="f3537" id="f3537" size="4"  maxlength="4" value="<!-- TMPL_VAR NAME="f3537" -->"/>
+                    <input type="text" name="f3537" id="f3537" size="4"  maxlength="4" value="<!-- TMPL_VAR NAME="f3537" -->"/>
                 </td>
         </tr>
-	<tr>
+    <tr>
                 <td><label for="f38">38- Modified Record</label></td>
-                <td>                
-		<select name="f38" id="f38" size="1">                        			
-			<!-- TMPL_IF name="f380" -->
-                        <option value=" " selected="selected">#- Not modified</option>
-                        <!-- TMPL_ELSE -->
-                        <option value=" ">#- Not modified</option>
-                        <!-- /TMPL_IF -->
-			
-			<!-- TMPL_IF name="f38s" -->
-                        <option value="s" selected="selected">s- Shortened</option>
-			<!-- TMPL_ELSE -->
-                        <option value="s">s- Shortened</option>
-                        <!-- /TMPL_IF -->
-
-			<!-- TMPL_IF name="f38d" -->
-                        <option value="d" selected="selected">d- Dashed-on information omitted</option>
-                        <!-- TMPL_ELSE -->
-                        <option value="d">d- Dashed-on information omitted</option>
-                        <!-- /TMPL_IF -->
-
-			<!-- TMPL_IF name="f38x" -->
-                        <option value="x" selected="selected">x- Missing characters</option>
-                        <!-- TMPL_ELSE -->
-                        <option value="x">x- Missing characters</option>
-                        <!-- /TMPL_IF -->
-
-			<!-- TMPL_IF name="f38r" -->
-                        <option value="r" selected="selected">r- Completely romanized/printed cards in script</option>
-                        <!-- TMPL_ELSE -->
-                        <option value="r">r- Completely romanized/printed cards in script</option>
-                        <!-- /TMPL_IF -->
-
-			<!-- TMPL_IF name="f38o" -->
-                        <option value="o" selected="selected">o- Completely romainzed/printed cards romanized</option>
-                        <!-- TMPL_ELSE -->
-                        <option value="o">o- Completely romanized/printed cards romanized</option>
-                        <!-- /TMPL_IF -->
-		</select>
+                <td>
+                    <select name="f38" id="f38" size="1" style="width:400px">
+                        <!-- TMPL_IF name="f380" -->
+                                    <option value=" " selected="selected">#- Not modified</option>
+                                    <!-- TMPL_ELSE -->
+                                    <option value=" ">#- Not modified</option>
+                                    <!-- /TMPL_IF -->
+
+                        <!-- TMPL_IF name="f38s" -->
+                                    <option value="s" selected="selected">s- Shortened</option>
+                        <!-- TMPL_ELSE -->
+                                    <option value="s">s- Shortened</option>
+                                    <!-- /TMPL_IF -->
+
+                        <!-- TMPL_IF name="f38d" -->
+                                    <option value="d" selected="selected">d- Dashed-on information omitted</option>
+                                    <!-- TMPL_ELSE -->
+                                    <option value="d">d- Dashed-on information omitted</option>
+                                    <!-- /TMPL_IF -->
+
+                        <!-- TMPL_IF name="f38x" -->
+                                    <option value="x" selected="selected">x- Missing characters</option>
+                                    <!-- TMPL_ELSE -->
+                                    <option value="x">x- Missing characters</option>
+                                    <!-- /TMPL_IF -->
+
+                        <!-- TMPL_IF name="f38r" -->
+                                    <option value="r" selected="selected">r- Completely romanized/printed cards in script</option>
+                                    <!-- TMPL_ELSE -->
+                                    <option value="r">r- Completely romanized/printed cards in script</option>
+                                    <!-- /TMPL_IF -->
+
+                        <!-- TMPL_IF name="f38o" -->
+                                    <option value="o" selected="selected">o- Completely romainzed/printed cards romanized</option>
+                                    <!-- TMPL_ELSE -->
+                                    <option value="o">o- Completely romanized/printed cards romanized</option>
+                                    <!-- /TMPL_IF -->
+                    </select>
 
                 </td>
         </tr>
 <tr>
-                <td><label for="f39">39- Cataloging source</label></td>
+                <td><label for="f39" style="width:400px">39- Cataloging source</label></td>
                 <td>
-                <select name="f39" id="f39" size="1">                                    
+                <select name="f39" id="f39" size="1">
                         <!-- TMPL_IF name="f390" -->
                         <option value=" " selected="selected">#- National bibliographic agency</option>
                         <!-- TMPL_ELSE -->
@@ -588,20 +641,21 @@
                         <!-- TMPL_ELSE -->
                         <option value="c">c- Cooperative cataloging program</option>
                         <!-- /TMPL_IF -->
-			<!-- TMPL_IF name="f39d" -->
+                        <!-- TMPL_IF name="f39d" -->
                         <option value="d" selected="selected">d- Other</option>
                         <!-- TMPL_ELSE -->
                         <option value="d">d- Other</option>
                         <!-- /TMPL_IF -->
 
-			<!-- TMPL_IF name="f39u" -->
+                        <!-- TMPL_IF name="f39u" -->
                         <option value="u" selected="selected">u- Unknown</option>
                         <!-- TMPL_ELSE -->
                         <option value="u">u- Unknown</option>
                         <!-- /TMPL_IF -->
-		</select>
+        </select>
                 </td>
         </tr>
+    <!-- /TMPL_IF -->
 
 </table>
 <fieldset class="action"><input type="submit" value="OK" /> <a href="#" class="cancel close">Cancel</a></fieldset>
@@ -611,49 +665,62 @@
 // Pad the string with spaces so that it is 4 characters long.
 // Also, truncate strings that are longer than 4 characters.
 function pad4(s) {
-	var pad = "";
-	if (s.length < 4) {
-		var padLength = 4 - s.length;
-		for (var i = 0; i < 4 - s.length; i++) {
-			pad += " ";
-		}
-		s += pad;
-	} else {
-		s = s.substring(0, 4);
-	}
-	return s;
+    var pad = "";
+    if (s.length < 4) {
+        var padLength = 4 - s.length;
+        for (var i = 0; i < 4 - s.length; i++) {
+            pad += " ";
+        }
+        s += pad;
+    } else {
+        s = s.substring(0, 4);
+    }
+    return s;
 }
 
+
+function parseField()
+{
+    var result = "";
+    result = document.f_pop.f1.value+
+            document.f_pop.f6.value+
+            // bug 2563 {
+            ( document.f_pop.f710.value.match(/^\s*$/)  ? "    " : pad4(document.f_pop.f710.value)  )+
+            ( document.f_pop.f1114.value.match(/^\s*$/) ? "    " : pad4(document.f_pop.f1114.value) )+
+            // }
+            //MR
+            (document.f_pop.f1517.value+"   ").substr(0,3)+
+            (document.f_pop.f1821.value+"    ").substr(0,4)+
+            document.f_pop.f22.value+
+            document.f_pop.f23.value+
+            (document.f_pop.f2427.value+"    ").substr(0,4)+
+            document.f_pop.f28.value+
+            document.f_pop.f29.value+
+            document.f_pop.f30.value+
+            document.f_pop.f31.value+ ' '+
+            document.f_pop.f33.value+
+            document.f_pop.f34.value+
+            //MR
+            (document.f_pop.f3537.value+"   ").substr(0,3)+
+            document.f_pop.f38.value+
+            document.f_pop.f39.value;
+    return result;
+}//parseField
+
+
 function report() {
-            var doc   = opener.document; 
+            var doc   = opener.document;
             var field = doc.getElementById("<!-- TMPL_VAR NAME='index'-->");
-            field.value = 
-			document.f_pop.f1.value+
-			document.f_pop.f6.value+
-			// bug 2563 {
-			( document.f_pop.f710.value.match(/^\s*$/)  ? "    " : pad4(document.f_pop.f710.value)  )+
-			( document.f_pop.f1114.value.match(/^\s*$/) ? "    " : pad4(document.f_pop.f1114.value) )+
-			// }
-			//MR
-			(document.f_pop.f1517.value+"   ").substr(0,3)+
-			(document.f_pop.f1821.value+"    ").substr(0,4)+
-			document.f_pop.f22.value+
-			document.f_pop.f23.value+
-			(document.f_pop.f2427.value+"    ").substr(0,4)+
-			document.f_pop.f28.value+
-			document.f_pop.f29.value+
-			document.f_pop.f30.value+
-			document.f_pop.f31.value+ ' '+
-			document.f_pop.f33.value+
-			document.f_pop.f34.value+
-			//MR
-			(document.f_pop.f3537.value+"   ").substr(0,3)+
-			document.f_pop.f38.value+
-			document.f_pop.f39.value;
-		self.close();
-		return false;
-	}
-	//]]>
+            <!-- TMPL_IF NAME="viewMaterialTypesMode" -->
+            field.value = document.getElementById("h4_result").innerHTML;
+            <!-- TMPL_ELSE -->
+            field.value = parseField();
+            <!-- /TMPL_IF -->
+
+        self.close();
+        return false;
+    }
+    //]]>
 </script>
 
 <!-- TMPL_INCLUDE NAME="popup-bottom.inc" -->
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_008.xml b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_008.xml
new file mode 100755
index 0000000..c8c7295
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_008.xml
@@ -0,0 +1,1298 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Tagfield tag="008" xmlns="http://koha-community.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "./marc21_field_CF.xsd">
+  <Material id="BKS" name="Books" description="">
+    <Position pos="00-05" name="Date entered on file" description=""/>
+    <Position pos="06" name="Type of date/ Publication status" description="">
+      <Value description="No dates given; B.C. date involved">b</Value>
+      <Value description="Continuing resource currently published">c</Value>
+      <Value description="Continuing resource ceased publication">d</Value>
+      <Value description="Detailed date">e</Value>
+      <Value description="Inclusive dates of colletion">i</Value>
+      <Value description="Range of years of bulk of collection">k</Value>
+      <Value description="Multiple dates">m</Value>
+      <Value description="Dates unknown">n</Value>
+      <Value description="Date of distribution/ release/ issue and production/ recording session when different">p</Value>
+      <Value description="Questionable date">q</Value>
+      <Value description="Reprint / reissue date and original date">r</Value>
+      <Value description="Single know date / probable date">s</Value>
+      <Value description="Publication date and copyright date">t</Value>
+      <Value description="Continuings resource status unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="07-10" name="Date 1" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="11-14" name="Date 2" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="15-17" url="http://www.loc.gov/marc/countries/countries_code.html" urltext="MARC Code List for Countries" name="Place of publication, production, or execution" description="">
+      <Value description="Various places">vp# </Value>
+      <Value description="No place, unknown, or undetermined">xx#</Value>
+      <Value description="Two-character alphabetic code">[aa#]</Value>
+      <Value description="Three-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="18-21" name="Illustrations" description="Up to four (4) one-character alphabetic codes (recorded in alphabetical order) that indicate the presence of types of illustrations in the item. If fewer than four alphabetic codes are assigned, the codes are left justified and unused positions contain blanks (#)">
+      <Value description="No illustrations">#</Value>
+      <Value description="Illustrations">a</Value>
+      <Value description="Maps">b</Value>
+      <Value description="Portraits">c</Value>
+      <Value description="Charts">d</Value>
+      <Value description="Plans">e</Value>
+      <Value description="Plates">f</Value>
+      <Value description="Music">g</Value>
+      <Value description="Facsimiles">h</Value>
+      <Value description="Coats of arms">i</Value>
+      <Value description="Genealogical tables">j</Value>
+      <Value description="Forms">k</Value>
+      <Value description="Samples">l</Value>
+      <Value description="Phonodisc, phonowire, etc">m</Value>
+      <Value description="Photographs">o</Value>
+      <Value description="Illuminations">p</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="22" name="Target audience" description="One- character alphabetic code that describes the intellectual level of the target audience for which the material is intended">
+      <Value description="Unknown or not specified">#</Value>
+      <Value description="Preschool">a</Value>
+      <Value description="Primary">b</Value>
+      <Value description="Pre-adolescent">c</Value>
+      <Value description="Adolescent">d</Value>
+      <Value description="Adult">e</Value>
+      <Value description="Specialized">f</Value>
+      <Value description="General">g</Value>
+      <Value description="Juvenile">j</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="23" name="Form of item" description="One character alphabetic code that specifies the form of material for the item">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Braille">f</Value>
+      <Value description="Online">o</Value>
+      <Value description="Direct electronic">q</Value>
+      <Value description="Regular print reproduction">r</Value>
+      <Value description="Electronic">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="24-27" name="Nature of contents" description="Up to four one-character codes that indicate whether a significant part of the item is or contains certain types of material. If fewer than four codes are assigned, the codes are left justified and unused positions contain blanks (#)">
+      <Value description="No specified nature of contents">#</Value>
+      <Value description="Offprints.Publication that originally was published as an article in a monograph or a serial and that is also issued separately and independently. Includes prepints and postprints">2</Value>
+      <Value description="Calendars">5</Value>
+      <Value description="Comics/graphic novels">6</Value>
+      <Value description="Abstracts/summaries. Abstracts or summaries of other publications. Not used when a publication includes an abstract or summary of its own content.">a</Value>
+      <Value description="Bibliographies">b</Value>
+      <Value description="Catalogs">c</Value>
+      <Value description="Dictionaries. Also used for a glossary or a gazetteer.">d</Value>
+      <Value description="Encyclopedias">e</Value>
+      <Value description="Handbooks">f</Value>
+      <Value description="Legal articles">g</Value>
+      <Value description="Indexes. Index to bibliographical material other than itself. Not used when a publication contains an index to its own content.">i</Value>
+      <Value description="Patent document">j</Value>
+      <Value description="Discographies">k</Value>
+      <Value description="Legislation. Full or partial text of enactments of legislative bodies, published either in statute or in code form, or text of rules and regulations issued by executive or adminitrative agencies.">l</Value>
+      <Value description="Theses. Thesis, dissertation, or work identified as having been created to satisfy the requirements for an academic certification or degree.">m</Value>
+      <Value description="Surveys of literature in a subject area. Composed entirely of authored surveys that summarize what has been published about a subject.">n</Value>
+      <Value description="Reviews. Devoted entirely to critical reviews of published or performed works (e.g., books, films, sound recordings, theater)">o</Value>
+      <Value description="Programmed texts">p</Value>
+      <Value description="Filmographies. Entire item, or a significant part of it, is a filmography or other  bibliografy of moving images.">q</Value>
+      <Value description="Directories">r</Value>
+      <Value description="Statistics">s</Value>
+      <Value description="Technical reports">t</Value>
+      <Value description="Standars/specifications">u</Value>
+      <Value description="Legal cases and case notes">v</Value>
+      <Value description="Law reports and digests">w</Value>
+      <Value description="Yearbooks">y</Value>
+      <Value description="Treaties. Treaty or accord negotiated between two or more parties to settle a disagreement, establish a relationship, gran rights,etc.">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="28" name="Government publication" description="One-character code that indicates whether or not the item is published or produced by or for an international, national, state, provincial, or local government agency, or by any subdivision of such a body">
+      <Value description="Not a government publication">#</Value>
+      <Value description="Autonomous or semi-autonomous component">a</Value>
+      <Value description="Multilocal">c</Value>
+      <Value description="Federal / National">f</Value>
+      <Value description="International intergovernmental">i</Value>
+      <Value description="Local">l</Value>
+      <Value description="Multistate">m</Value>
+      <Value description="Government publication-level undetermined">o</Value>
+      <Value description="State, provincial, territorial, dependent, etc.">s</Value>
+      <Value description="Unknown if item is government publication">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="29" name="Conference publication" description="One-character code that indicates whether the item consists of the proceedings, reports, or summaries of a conference.">
+      <Value description="Not a conference publication">0</Value>
+      <Value description="Conference">1</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="30" name="Festschrift" description="One-character code that indicates whether the item is a festschrift">
+      <Value description="Not a festschrift">0</Value>
+      <Value description="Festschrift">1</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="31" name="Index" description="One-character numeric code that indicates whether the item includes an index to its own contents">
+      <Value description="No index">0</Value>
+      <Value description="Index present">1</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="32" name="Undefined" description="Contains a blank (#) or a fill character (|)."/>
+    <Position pos="33" name="Literary form" description="One-character code used to indicate the literary form of an item. Numeric codes 0 and 1 provide a generic identification of whether or not the item is a work of fiction. Alphabetic codes may be used to identify specific literary forms.">
+      <Value description="Not fiction (not further specified)">0</Value>
+      <Value description="Fiction (not further specified)">1</Value>
+      <Value description="Dramas">d</Value>
+      <Value description="Essays">e</Value>
+      <Value description="Novels">f</Value>
+      <Value description="Humor, satires, etc.">h</Value>
+      <Value description="Letters. Single letter or collection of correspondence">i</Value>
+      <Value description="Short stories. Short story or collection of short stories.">j</Value>
+      <Value description="Mixed forms. Represents a variety of literary forms (e.g., poetry and short stories)">m</Value>
+      <Value description="Poetry">p</Value>
+      <Value description="Speeches">s</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="34" name="Biography" description="One-character alphabetic code that indicates whether or not an item contains biographical material, and if so, what the biographical characteristics are.">
+      <Value description="No biographical material">#</Value>
+      <Value description="Autobiography">a</Value>
+      <Value description="Individual biography">b</Value>
+      <Value description="Collective biography">c</Value>
+      <Value description="Contains biographical information">d</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="35-37" url="http://www.loc.gov/marc/languages/language_code.html" urltext="MARC Code List for Languages" name="Language" description="">
+      <Value description="No information provided">###</Value>
+      <Value description="Multiple languages">mul</Value>
+      <Value description="Sign languages">sgn</Value>
+      <Value description="Undetermined">und</Value>
+      <Value description="No linguistic content">zxx</Value>
+      <Value description="Tree-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="38" name="Modified record" description="One-character code that indicates whether any data in a bibliographic record is a modification of information that appeared on the item being cataloged or that was intended to be included in the MARC record.">
+      <Value description="No modified">#</Value>
+      <Value description="Dashed-on information omitted">d</Value>
+      <Value description="Completely romanized/printed cards romanized">o</Value>
+      <Value description="Completely romanized/printed cards in script">r</Value>
+      <Value description="Shortened">s</Value>
+      <Value description="Missing characters">x</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="39" name="Cataloging source" description="">
+      <Value description="National bibliographic agency">#</Value>
+      <Value description="Cooperative cataloging program">c</Value>
+      <Value description="Other">d</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+  </Material>
+  <Material id="CF" name="Computer Files" description="">
+    <Position pos="00-05" name="Date entered on file" description=""/>
+    <Position pos="06" name="Type of date/ Publication status" description="">
+      <Value description="No dates given; B.C. date involved">b</Value>
+      <Value description="Continuing resource currently published">c</Value>
+      <Value description="Continuing resource ceased publication">d</Value>
+      <Value description="Detailed date">e</Value>
+      <Value description="Inclusive dates of colletion">i</Value>
+      <Value description="Range of years of bulk of collection">k</Value>
+      <Value description="Multiple dates">m</Value>
+      <Value description="Dates unknown">n</Value>
+      <Value description="Date of distribution/ release/ issue and production/ recording session when different">p</Value>
+      <Value description="Questionable date">q</Value>
+      <Value description="Reprint / reissue date and original date">r</Value>
+      <Value description="Single know date / probable date">s</Value>
+      <Value description="Publication date and copyright date">t</Value>
+      <Value description="Continuings resource status unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="07-10" name="Date 1" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="11-14" name="Date 2" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="15-17" url="http://www.loc.gov/marc/countries/countries_code.html" urltext="MARC Code List for Countries" name="Place of publication, production, or execution" description="">
+      <Value description="Various places">vp# </Value>
+      <Value description="No place, unknown, or undetermined">xx#</Value>
+      <Value description="Two-character alphabetic code">[aa#]</Value>
+      <Value description="Three-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="18-21" name="Undefined" description="Each one contains a blank (#) or a fill character (|)"/>
+    <Position pos="22" name="Target audience" description="One- character alphabetic code that describes the intellectual level of the target audience for which the material is intended">
+      <Value description="Unknown or not specified">#</Value>
+      <Value description="Preschool">a</Value>
+      <Value description="Primary">b</Value>
+      <Value description="Pre-adolescent">c</Value>
+      <Value description="Adolescent">d</Value>
+      <Value description="Adult">e</Value>
+      <Value description="Specialized">f</Value>
+      <Value description="General">g</Value>
+      <Value description="Juvenile">j</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="23" name="Form of item" description="One-character alphabetic code that specifies the form of material for the item">
+      <Value description="Unknown or not specified">#</Value>
+      <Value description="Online">o</Value>
+      <Value description="Direct electronic">q</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="24-25" name="Undefined" description="Two undefined character positions; each contains a blank (#) or a fill character (|)."/>
+    <Position pos="26" name="Type of computer file " description="One-character alphabetic code that indicates the type of computer file described in the bibliographic record">
+      <Value description="Numeric data">a</Value>
+      <Value description="Computer program">b</Value>
+      <Value description="Representational. Pictorial or graphic information that can be manipulated in conjunction with other types of files to produce graphic patterns that can be used to interpret and give meaning to the information. Does not include a document in image format.">c</Value>
+      <Value description="Document">d</Value>
+      <Value description="Bibliographic data">e</Value>
+      <Value description="Font">f</Value>
+      <Value description="Game">g</Value>
+      <Value description="Sound">h</Value>
+      <Value description="Interactive multimedia">i</Value>
+      <Value description="Online system or service">j</Value>
+      <Value description="Combination">m</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="27" name="No definido" description="One-character code that contains a blank (#) or a fill character (|)"/>
+    <Position pos="28" name="Government publication" description="One-character code that indicates whether or not the item is published or produced by or for an international, national, state, provincial, or local government agency, or by any subdivision of such a body">
+      <Value description="Not a government publication">#</Value>
+      <Value description="Autonomous or semi-autonomous component">a</Value>
+      <Value description="Multilocal">c</Value>
+      <Value description="Federal / National">f</Value>
+      <Value description="International intergovernmental">i</Value>
+      <Value description="Local">l</Value>
+      <Value description="Multistate">m</Value>
+      <Value description="Government publication-level undetermined">o</Value>
+      <Value description="State, provincial, territorial, dependent, etc.">s</Value>
+      <Value description="Unknown if item is government publication">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="29-34" name="Undefined" description="Six undefined character positions; each contains a blank (#) or a fill character (|)."/>
+    <Position pos="35-37" url="http://www.loc.gov/marc/languages/language_code.html" urltext="MARC Code List for Languages" name="Language" description="">
+      <Value description="No information provided">###</Value>
+      <Value description="Multiple languages">mul</Value>
+      <Value description="Sign languages">sgn</Value>
+      <Value description="Undetermined">und</Value>
+      <Value description="No linguistic content">zxx</Value>
+      <Value description="Tree-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="38" name="Modified record" description="One-character code that indicates whether any data in a bibliographic record is a modification of information that appeared on the item being cataloged or that was intended to be included in the MARC record.">
+      <Value description="No modified">#</Value>
+      <Value description="Dashed-on information omitted">d</Value>
+      <Value description="Completely romanized/printed cards romanized">o</Value>
+      <Value description="Completely romanized/printed cards in script">r</Value>
+      <Value description="Shortened">s</Value>
+      <Value description="Missing characters">x</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="39" name="Cataloging source" description="">
+      <Value description="National bibliographic agency">#</Value>
+      <Value description="Cooperative cataloging program">c</Value>
+      <Value description="Other">d</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+  </Material>
+  <Material id="MP" name="Maps" description="">
+    <Position pos="00-05" name="Date entered on file" description=""/>
+    <Position pos="06" name="Type of date/ Publication status" description="">
+      <Value description="No dates given; B.C. date involved">b</Value>
+      <Value description="Continuing resource currently published">c</Value>
+      <Value description="Continuing resource ceased publication">d</Value>
+      <Value description="Detailed date">e</Value>
+      <Value description="Inclusive dates of colletion">i</Value>
+      <Value description="Range of years of bulk of collection">k</Value>
+      <Value description="Multiple dates">m</Value>
+      <Value description="Dates unknown">n</Value>
+      <Value description="Date of distribution/ release/ issue and production/ recording session when different">p</Value>
+      <Value description="Questionable date">q</Value>
+      <Value description="Reprint / reissue date and original date">r</Value>
+      <Value description="Single know date / probable date">s</Value>
+      <Value description="Publication date and copyright date">t</Value>
+      <Value description="Continuings resource status unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="07-10" name="Date 1" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="11-14" name="Date 2" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="15-17" url="http://www.loc.gov/marc/countries/countries_code.html" urltext="MARC Code List for Countries" name="Place of publication, production, or execution" description="">
+      <Value description="Various places">vp# </Value>
+      <Value description="No place, unknown, or undetermined">xx#</Value>
+      <Value description="Two-character alphabetic code">[aa#]</Value>
+      <Value description="Three-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="18-21" name="Relief" description="Up to four one-character alphabetic codes that indicate the relief type specified on the item. Codes are recorded in order of their importance to the described item. If fewer than four codes are assigned, the codes are left justified and each unused position contains a blank (#).">
+      <Value description="No relief shown"># </Value>
+      <Value description="Contours">a</Value>
+      <Value description="Shading">b</Value>
+      <Value description="Gradient and bathymetric tints">c</Value>
+      <Value description="Hachures">d</Value>
+      <Value description="Bathymetry/soundings">e</Value>
+      <Value description="Form lines">f</Value>
+      <Value description="Spot heights">g</Value>
+      <Value description="Pictorially">i</Value>
+      <Value description="Land forms">j</Value>
+      <Value description="Bathymetry/ isolines">k</Value>
+      <Value description="Rock drawings">m</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="22-23" name="Projection" description="Two-character alphabetic code that indicates the projection used in producing the item.">
+      <Value description="Projection not specified">##</Value>
+      <Value description="Aitoff ">aa</Value>
+      <Value description="Gnomic">ab</Value>
+      <Value description="Lambert's azimuthal equal area">ac</Value>
+      <Value description="Orthographic">ad</Value>
+      <Value description="Azimuthal equidistant">ae</Value>
+      <Value description="Stereographic">af</Value>
+      <Value description="General vertical near-sided">ag</Value>
+      <Value description="Modified stereographic for Alaska">am</Value>
+      <Value description="Chamberlin trimetric">an</Value>
+      <Value description="Polar stereographic">ap</Value>
+      <Value description="Azimuthal, specific type unknown">au</Value>
+      <Value description="Azimutal, other">az</Value>
+      <Value description="Gall ">ba</Value>
+      <Value description="Goode's homolographic">bb</Value>
+      <Value description="Lambert's cylindrical equal area">bc</Value>
+      <Value description="Mercator">bd</Value>
+      <Value description="Miller ">be</Value>
+      <Value description="Mollweide ">bf</Value>
+      <Value description="Sinusoidal ">bg</Value>
+      <Value description="Transverse Mercator">bh</Value>
+      <Value description="Gauss-Kruger ">bi</Value>
+      <Value description="Equirectangular ">bj</Value>
+      <Value description="Krovak">bk</Value>
+      <Value description="Cassini-Soldner">bl</Value>
+      <Value description="Oblique Mercator">bo</Value>
+      <Value description="Robinson ">br</Value>
+      <Value description="Space oblique Mercator">bs</Value>
+      <Value description="Cylindrical, specific type unknown">bu</Value>
+      <Value description="Cylindrical, other">bz</Value>
+      <Value description="Albers equal area">ca</Value>
+      <Value description="Bonne ">cb</Value>
+      <Value description="Lambert's conformal conic">cc</Value>
+      <Value description="Equidistant conic">ce</Value>
+      <Value description="Polyconic">cp</Value>
+      <Value description="Conic, specific type unknown">cu</Value>
+      <Value description="Conic, other">cz</Value>
+      <Value description="Armadillo ">da</Value>
+      <Value description="Butterfly ">db</Value>
+      <Value description="Eckert ">dc</Value>
+      <Value description="Goode's homolosine">dd</Value>
+      <Value description="Miller's bipolar oblique conformal conic">de</Value>
+      <Value description="Van Der Grinten ">df</Value>
+      <Value description="Dimaxión ">dg</Value>
+      <Value description="Cordiform">dh</Value>
+      <Value description="Lambert conformal ">dl</Value>
+      <Value description="Other">zz</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="24" name="Undefined" description="Undefined; contains a blank (#) or a fill character (|)."/>
+    <Position pos="25" name="Type of cartographic material" description="One-character alphabetic code that indicates the type of cartographic item described.">
+      <Value description="Single map">a</Value>
+      <Value description="Map Series. Number of related but physically separate and bibliographically distinct cartographic units intended by the producer(s) or issuing body(s) to form a single group.">b</Value>
+      <Value description="Map serial. Issued in successive parts bearing numerical or chronological designations and intended to be continued indefinitely">c</Value>
+      <Value description="Globe">d</Value>
+      <Value description="Atlas ">e</Value>
+      <Value description="Separate supplement to another work">f</Value>
+      <Value description="Bound as part of another work">g</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="26-27" name="Undefined" description="Each contains a blank (#) or a fill character (|)"/>
+    <Position pos="28" name="Government publication" description="One-character code that indicates whether or not the item is published or produced by or for an international, national, state, provincial, or local government agency, or by any subdivision of such a body">
+      <Value description="Not a government publication">#</Value>
+      <Value description="Autonomous or semi-autonomous component">a</Value>
+      <Value description="Multilocal">c</Value>
+      <Value description="Federal / National">f</Value>
+      <Value description="International intergovernmental">i</Value>
+      <Value description="Local">l</Value>
+      <Value description="Multistate">m</Value>
+      <Value description="Government publication-level undetermined">o</Value>
+      <Value description="State, provincial, territorial, dependent, etc.">s</Value>
+      <Value description="Unknown if item is government publication">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="29" name="Form of item" description="One-character alphabetic code that indicates the form of material for the item.">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Braille ">f</Value>
+      <Value description="Online.  The resource is accessed by means of hardware and software connections to a communications network. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">o</Value>
+      <Value description="Direct electronic. Storage on a directly accessible tangible recording medium, e.g. disc, tape, playaway device, flashdrive, portable hard drive, etc. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">q</Value>
+      <Value description="Regular print reproduction">r</Value>
+      <Value description="Electronic. Intended for manipulation by a computer. May reside in a carrier accessed either directly or remotely, in some cases requiring the use of peripheral devices attached to the computer (e.g., a CD-ROM player). Not used for items that do not require the use of a computer (e.g., music compact discs, videodiscs). This code can be used as a generic code for any form of electronic resource. Codes o and q may be used if there is a need to separately identify online and direct electronic resources.">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="30" name="Undefined" description="Contains a blank (#) or a fill character (|)."/>
+    <Position pos="31" name="Index" description="One-character numeric code that indicates whether the item or accompanying material includes a location index or gazetteer.">
+      <Value description="No index">0</Value>
+      <Value description="Index present">1</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="32" name="Undefined" description="Contains a blank (#) or a fill character (|)."/>
+    <Position pos="33-34" name="Special format characteristics" description="Up to two one-character alphabetic codes that indicate the special format characteristics of the map. Codes are recorded in order of their importance to the described item. If only one code is assigned, it is left justified and the unused position contains a blank (#).">
+      <Value description="No specified special format characteristics">#</Value>
+      <Value description="Manuscript">e</Value>
+      <Value description="Picture card, post card">j</Value>
+      <Value description="Calendar">k</Value>
+      <Value description="Puzzle">l</Value>
+      <Value description="Game">n</Value>
+      <Value description="Wall map">o</Value>
+      <Value description="Playing cards">p</Value>
+      <Value description="Loose-leaf">r</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="35-37" url="http://www.loc.gov/marc/languages/language_code.html" urltext="MARC Code List for Languages" name="Language" description="">
+      <Value description="No information provided">###</Value>
+      <Value description="Multiple languages">mul</Value>
+      <Value description="Sign languages">sgn</Value>
+      <Value description="Undetermined">und</Value>
+      <Value description="No linguistic content">zxx</Value>
+      <Value description="Tree-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="38" name="Modified record" description="One-character code that indicates whether any data in a bibliographic record is a modification of information that appeared on the item being cataloged or that was intended to be included in the MARC record.">
+      <Value description="No modified">#</Value>
+      <Value description="Dashed-on information omitted">d</Value>
+      <Value description="Completely romanized/printed cards romanized">o</Value>
+      <Value description="Completely romanized/printed cards in script">r</Value>
+      <Value description="Shortened">s</Value>
+      <Value description="Missing characters">x</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="39" name="Cataloging source" description="">
+      <Value description="National bibliographic agency">#</Value>
+      <Value description="Cooperative cataloging program">c</Value>
+      <Value description="Other">d</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+  </Material>
+  <Material id="MU" name="Music" description="">
+    <Position pos="00-05" name="Date entered on file" description=""/>
+    <Position pos="06" name="Type of date/ Publication status" description="">
+      <Value description="No dates given; B.C. date involved">b</Value>
+      <Value description="Continuing resource currently published">c</Value>
+      <Value description="Continuing resource ceased publication">d</Value>
+      <Value description="Detailed date">e</Value>
+      <Value description="Inclusive dates of colletion">i</Value>
+      <Value description="Range of years of bulk of collection">k</Value>
+      <Value description="Multiple dates">m</Value>
+      <Value description="Dates unknown">n</Value>
+      <Value description="Date of distribution/ release/ issue and production/ recording session when different">p</Value>
+      <Value description="Questionable date">q</Value>
+      <Value description="Reprint / reissue date and original date">r</Value>
+      <Value description="Single know date / probable date">s</Value>
+      <Value description="Publication date and copyright date">t</Value>
+      <Value description="Continuings resource status unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="07-10" name="Date 1" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="11-14" name="Date 2" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="15-17" url="http://www.loc.gov/marc/countries/countries_code.html" urltext="MARC Code List for Countries" name="Place of publication, production, or execution" description="">
+      <Value description="Various places">vp# </Value>
+      <Value description="No place, unknown, or undetermined">xx#</Value>
+      <Value description="Two-character alphabetic code">[aa#]</Value>
+      <Value description="Three-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="18-19" name="Form of composition" description="">
+      <Value description="Anthems">an</Value>
+      <Value description="Ballads">bd</Value>
+      <Value description="Bluegrass music">bg</Value>
+      <Value description="Blues ">bl</Value>
+      <Value description="Ballets ">bt</Value>
+      <Value description="Chaconnes">ca</Value>
+      <Value description="Chants, Other religions">cb</Value>
+      <Value description="Chants, Christian">cc</Value>
+      <Value description="Concerti grossi ">cg</Value>
+      <Value description="Chorales">ch</Value>
+      <Value description="Chorale preludes">cl</Value>
+      <Value description="Canons and rounds">cn</Value>
+      <Value description="Concertos">co</Value>
+      <Value description="Chansons, polyphonic">cp</Value>
+      <Value description="Carols">cr</Value>
+      <Value description="Chance compositions">cs</Value>
+      <Value description="Cantatas">ct</Value>
+      <Value description="Country music">cy</Value>
+      <Value description="Canzonas">cz</Value>
+      <Value description="Dance forms">df</Value>
+      <Value description="Divertimentos, serenades, cassations, divertissements, and notturni">dv</Value>
+      <Value description="Fugues">fg</Value>
+      <Value description="Flamenco">fl</Value>
+      <Value description="Folk music">fm</Value>
+      <Value description="Fantasias ">ft</Value>
+      <Value description="Gospel music">gm</Value>
+      <Value description="Hymns">hy</Value>
+      <Value description="Jazz">jz</Value>
+      <Value description="Musical revues and comedies">mc</Value>
+      <Value description="Madrigals">md</Value>
+      <Value description="Minuets ">mi</Value>
+      <Value description="Motets">mo</Value>
+      <Value description="Motion picture music">mp</Value>
+      <Value description="Marches">mr</Value>
+      <Value description="Masses">ms</Value>
+      <Value description="Multiple forms">mu</Value>
+      <Value description="Mazurkas">mz</Value>
+      <Value description="Nocturnes">nc</Value>
+      <Value description="Not applicable">nn</Value>
+      <Value description="Operas">op</Value>
+      <Value description="Oratorios ">or</Value>
+      <Value description="Overtures">ov</Value>
+      <Value description="Program music">pg</Value>
+      <Value description="Passion music">pm</Value>
+      <Value description="Polonaises">po</Value>
+      <Value description="Popular music">pp</Value>
+      <Value description="Preludes">pr</Value>
+      <Value description="Passacaglias">ps</Value>
+      <Value description="Part-songs">pt</Value>
+      <Value description="Pavans">pv</Value>
+      <Value description=" Rock music">rc</Value>
+      <Value description="Rondos">rd</Value>
+      <Value description="Ragtime music">rg</Value>
+      <Value description="Ricercars ">ri</Value>
+      <Value description="Rhapsodies">rp</Value>
+      <Value description="Requiems ">rq</Value>
+      <Value description="Square dance music">sd</Value>
+      <Value description="Songs">sg</Value>
+      <Value description="Sonatas ">sn</Value>
+      <Value description="Symphonic poems">sp</Value>
+      <Value description="Studies and exercises">st</Value>
+      <Value description="Suites ">su</Value>
+      <Value description="Symphonies">sy</Value>
+      <Value description="Toccatas">tc</Value>
+      <Value description="Teatro lirico">tl</Value>
+      <Value description="Trio-sonatas">ts</Value>
+      <Value description="Unknown">uu</Value>
+      <Value description="Villacincos">vi</Value>
+      <Value description="Variations">vr</Value>
+      <Value description="Waltzers">wz</Value>
+      <Value description="Zarzuelas">za</Value>
+      <Value description="Other">zz</Value>
+      <Value description="No attempt to code">||</Value>
+    </Position>
+    <Position pos="20" name="Format of music" description="One-character code that indicates the format of a musical composition (e.g., piano-conductor score).">
+      <Value description="Full score">a</Value>
+      <Value description="Full score, miniature or study size">b</Value>
+      <Value description="Accompaniment reduced for keyboard">c</Value>
+      <Value description="Voice score">d</Value>
+      <Value description="Condensed score or piano-conductor score">e</Value>
+      <Value description="Close score">g</Value>
+      <Value description="Chorus score">h</Value>
+      <Value description="Condensed score">i</Value>
+      <Value description="Performer-conductor part">j</Value>
+      <Value description="Multiple score formats">m</Value>
+      <Value description="Not applicable">n</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="21" name="Music Parts" description="">
+      <Value description="No parts in hand or not specified">#</Value>
+      <Value description="Instrumental and vocal parts">d</Value>
+      <Value description="Instrumental parts">e</Value>
+      <Value description="Vocal parts">f</Value>
+      <Value description="Not applicable">n</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="22" name="Target audience" description="One- character alphabetic code that describes the intellectual level of the target audience for which the material is intended">
+      <Value description="Unknown or not specified">#</Value>
+      <Value description="Preschool">a</Value>
+      <Value description="Primary">b</Value>
+      <Value description="Pre-adolescent">c</Value>
+      <Value description="Adolescent">d</Value>
+      <Value description="Adult">e</Value>
+      <Value description="Specialized">f</Value>
+      <Value description="General">g</Value>
+      <Value description="Juvenile">j</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="23" name="Form of item" description="One-character alphabetic code that indicates the form of material for the item.">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Braille ">f</Value>
+      <Value description="Online.  The resource is accessed by means of hardware and software connections to a communications network. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">o</Value>
+      <Value description="Direct electronic. Storage on a directly accessible tangible recording medium, e.g. disc, tape, playaway device, flashdrive, portable hard drive, etc. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">q</Value>
+      <Value description="Regular print reproduction">r</Value>
+      <Value description="Electronic. Intended for manipulation by a computer. May reside in a carrier accessed either directly or remotely, in some cases requiring the use of peripheral devices attached to the computer (e.g., a CD-ROM player). Not used for items that do not require the use of a computer (e.g., music compact discs, videodiscs). This code can be used as a generic code for any form of electronic resource. Codes o and q may be used if there is a need to separately identify online and direct electronic resources.">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="24-29" name="Accompanying matter" description="Up to six one-character alphabetic codes (recorded in alphabetical order) that indicate the contents of program notes and other accompanying material for sound recording, music manuscripts, or notated music. If fewer than six codes are assigned, the codes are left justified and each unused position contains a blank (#).">
+      <Value description="No accompanying matter">#</Value>
+      <Value description="Discography">a</Value>
+      <Value description="Bibliography">b</Value>
+      <Value description="Thematic indez">c</Value>
+      <Value description="Libretto or text">d</Value>
+      <Value description="Bibliography of composer or autor">e</Value>
+      <Value description="Biography of performer or history of ensemble">f</Value>
+      <Value description="Technical and/or historical information on instruments">g</Value>
+      <Value description="Technical information on music">h</Value>
+      <Value description="Historical information">i</Value>
+      <Value description="Ethnological information">k</Value>
+      <Value description="Instrutional materials">r</Value>
+      <Value description="Music">s</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="30-31" name="Literary text for sound recordings " description="Up to two one-character codes (recorded in the order of the following list) that indicate the type of literary text contained in a nonmusical sound recording. If only one code is assigned, it is left justified and the unused position contains a blank (#).">
+      <Value description="Item is a music sound recording">#</Value>
+      <Value description="Autobiography">a</Value>
+      <Value description="Biography">b</Value>
+      <Value description="Conference proceedings">c</Value>
+      <Value description="Drama ">d</Value>
+      <Value description="Essays">e</Value>
+      <Value description="Fiction">f</Value>
+      <Value description="Reporting">g</Value>
+      <Value description="History">h</Value>
+      <Value description="Instruction">i</Value>
+      <Value description="Language instruction">j</Value>
+      <Value description="Comedy">k</Value>
+      <Value description="Lectures, speeches">l</Value>
+      <Value description="Memoirs">m</Value>
+      <Value description="Not applicable">n</Value>
+      <Value description="Folktales">o</Value>
+      <Value description="Poetry">p</Value>
+      <Value description="Rehearsals">r</Value>
+      <Value description="Sounds">s</Value>
+      <Value description="Interviews">t</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="32" name="Undefined" description="Undefined; contains a blank (#) or a fill character (|)."/>
+    <Position pos="33" name="Transposition and arrangement" description="Whether all or part of the item being cataloged is a transposition and/or arrangement of another work.">
+      <Value description="Not arrangement or transposition or not specified">#</Value>
+      <Value description="Transposition">a</Value>
+      <Value description="Arragement">b</Value>
+      <Value description="Both transposed and arranged">c</Value>
+      <Value description="Not applicable">n</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="34" name="Undefined" description="Undefined; contains a blank (#) or a fill character (|)."/>
+    <Position pos="35-37" url="http://www.loc.gov/marc/languages/language_code.html" urltext="MARC Code List for Languages" name="Language" description="">
+      <Value description="No information provided">###</Value>
+      <Value description="Multiple languages">mul</Value>
+      <Value description="Sign languages">sgn</Value>
+      <Value description="Undetermined">und</Value>
+      <Value description="No linguistic content">zxx</Value>
+      <Value description="Tree-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="38" name="Modified record" description="One-character code that indicates whether any data in a bibliographic record is a modification of information that appeared on the item being cataloged or that was intended to be included in the MARC record.">
+      <Value description="No modified">#</Value>
+      <Value description="Dashed-on information omitted">d</Value>
+      <Value description="Completely romanized/printed cards romanized">o</Value>
+      <Value description="Completely romanized/printed cards in script">r</Value>
+      <Value description="Shortened">s</Value>
+      <Value description="Missing characters">x</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="39" name="Cataloging source" description="">
+      <Value description="National bibliographic agency">#</Value>
+      <Value description="Cooperative cataloging program">c</Value>
+      <Value description="Other">d</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+  </Material>
+  <Material id="CR" name="Continuing Resources" description="">
+    <Position pos="00-05" name="Date entered on file" description=""/>
+    <Position pos="06" name="Type of date/ Publication status" description="">
+      <Value description="No dates given; B.C. date involved">b</Value>
+      <Value description="Continuing resource currently published">c</Value>
+      <Value description="Continuing resource ceased publication">d</Value>
+      <Value description="Detailed date">e</Value>
+      <Value description="Inclusive dates of colletion">i</Value>
+      <Value description="Range of years of bulk of collection">k</Value>
+      <Value description="Multiple dates">m</Value>
+      <Value description="Dates unknown">n</Value>
+      <Value description="Date of distribution/ release/ issue and production/ recording session when different">p</Value>
+      <Value description="Questionable date">q</Value>
+      <Value description="Reprint / reissue date and original date">r</Value>
+      <Value description="Single know date / probable date">s</Value>
+      <Value description="Publication date and copyright date">t</Value>
+      <Value description="Continuings resource status unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="07-10" name="Date 1" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="11-14" name="Date 2" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="15-17" url="http://www.loc.gov/marc/countries/countries_code.html" urltext="MARC Code List for Countries" name="Place of publication, production, or execution" description="">
+      <Value description="Various places">vp# </Value>
+      <Value description="No place, unknown, or undetermined">xx#</Value>
+      <Value description="Two-character alphabetic code">[aa#]</Value>
+      <Value description="Three-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="18" name="Frequency" description="One-character alphabetic code that indicates the frequency of an item; used in conjunction with 008/19 (Regularity).">
+      <Value description="No determinable frequency">#</Value>
+      <Value description="Annual">a</Value>
+      <Value description="Bimonthly">b</Value>
+      <Value description="Semiweekly">c</Value>
+      <Value description="Daily">d</Value>
+      <Value description="Biweekly">e</Value>
+      <Value description="Semiannual">f</Value>
+      <Value description="Biennial">g</Value>
+      <Value description="Triennial">h</Value>
+      <Value description="Three times a week">i</Value>
+      <Value description="Three times a month">j</Value>
+      <Value description="Continuously updated">k</Value>
+      <Value description="Monthly">m</Value>
+      <Value description="Quarterly">q</Value>
+      <Value description="Semimonthly">s</Value>
+      <Value description="Three times a year">t</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Weekly">w</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="19" name="Regularity" description="One-character alphabetic code that indicates the intended regularity of an item; used in conjunction with 008/18 (Frequency).">
+      <Value description="Normalized irregular">n</Value>
+      <Value description="Regular ">r</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Completely irregular">x</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="20" name="Undefined" description="Undefined; contains a blank (#) or a fill character (|)."/>
+    <Position pos="21" name="Type of continuing resource" description="One-character alphabetic code that indicates the type of continuing resource.">
+      <Value description="None of the following">#</Value>
+      <Value description="Updating database">d</Value>
+      <Value description="Updating loose-leaf">l</Value>
+      <Value description="Monographic series">m</Value>
+      <Value description="Newspaper">n</Value>
+      <Value description="Periodical">p</Value>
+      <Value description="Updating web site">w</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="22" name="Form of original item" description="One-character alphabetic code that indicates the form of material in which an item was originally published.">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Newspaper format">e</Value>
+      <Value description="Braille ">f</Value>
+      <Value description="Online.  The resource is accessed by means of hardware and software connections to a communications network. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">o</Value>
+      <Value description="Direct electronic">q</Value>
+      <Value description="Electronic. Intended for manipulation by a computer. May reside in a carrier accessed either directly or remotely, in some cases requiring the use of peripheral devices attached to the computer (e.g., a CD-ROM player). Not used for items that do not requi">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="23" name="Form of item" description="One-character alphabetic code that specifies the form of material for the item being described">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Braille ">f</Value>
+      <Value description="Online.  The resource is accessed by means of hardware and software connections to a communications network. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">o</Value>
+      <Value description="Direct electronic">q</Value>
+      <Value description="Regular print reproduction">r</Value>
+      <Value description="Electronic. Intended for manipulation by a computer. May reside in a carrier accessed either directly or remotely, in some cases requiring the use of peripheral devices attached to the computer (e.g., a CD-ROM player). Not used for items that do not requi">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="24" name="Nature of entire work" description="">
+      <Value description="Not specified">#</Value>
+      <Value description="Calendars">5</Value>
+      <Value description="Comics/graphic novels">6</Value>
+      <Value description="Abstracts/ summaries">a</Value>
+      <Value description="Bibliographies">b</Value>
+      <Value description="Catalogs">c</Value>
+      <Value description="Dictionaries. Also used for a glossary or a gazetteer.">d</Value>
+      <Value description="Encyclopedias">e</Value>
+      <Value description="Handbooks">f</Value>
+      <Value description="Legal articles">g</Value>
+      <Value description="Biography">h</Value>
+      <Value description="Indexes. Index to bibliographical material other than itself. Not used when a publication contains an index to its own content.">i</Value>
+      <Value description="Discographies">k</Value>
+      <Value description="Legislation. Full or partial text of enactments of legislative bodies, published either in statute or in code form, or text of rules and regulations issued by executive or adminitrative agencies.">l</Value>
+      <Value description="Theses">m</Value>
+      <Value description="Survey of literature in a subject area">n</Value>
+      <Value description="Reviews">o</Value>
+      <Value description="Programmed texts">p</Value>
+      <Value description="Filmographies">q</Value>
+      <Value description="Directories">r</Value>
+      <Value description="Statistics">s</Value>
+      <Value description="Technical reports">t</Value>
+      <Value description="Standards/ specifications">u</Value>
+      <Value description="Legal cases and case notes">v</Value>
+      <Value description="Law reorts and digests">w</Value>
+      <Value description="Yearbooks">y</Value>
+      <Value description="Teatries">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="25-27" name="Nature of contents" description="">
+      <Value description="Not specified">#</Value>
+      <Value description="Calendars">5</Value>
+      <Value description="Comics/graphic novels">6</Value>
+      <Value description="Abstracts/ summaries">a</Value>
+      <Value description="Bibliographies">b</Value>
+      <Value description="Catalogs">c</Value>
+      <Value description="Dictionaries. Also used for a glossary or a gazetteer.">d</Value>
+      <Value description="Encyclopedias">e</Value>
+      <Value description="Handbooks">f</Value>
+      <Value description="Legal articles">g</Value>
+      <Value description="Biography">h</Value>
+      <Value description="Indexes. Index to bibliographical material other than itself. Not used when a publication contains an index to its own content.">i</Value>
+      <Value description="Discographies">k</Value>
+      <Value description="Legislation. Full or partial text of enactments of legislative bodies, published either in statute or in code form, or text of rules and regulations issued by executive or adminitrative agencies.">l</Value>
+      <Value description="Theses">m</Value>
+      <Value description="Survey of literature in a subject area">n</Value>
+      <Value description="Reviews">o</Value>
+      <Value description="Programmed texts">p</Value>
+      <Value description="Filmographies">q</Value>
+      <Value description="Directories">r</Value>
+      <Value description="Statistics">s</Value>
+      <Value description="Technical reports">t</Value>
+      <Value description="Standars/specifications">u</Value>
+      <Value description="Legal cases and case notes">v</Value>
+      <Value description="Law reports and digests">w</Value>
+      <Value description="Treaties">z</Value>
+      <Value description="No attempt to code">|||</Value>
+    </Position>
+    <Position pos="28" name="Government publication" description="One-character code that indicates whether or not the item is published or produced by or for an international, national, state, provincial, or local government agency, or by any subdivision of such a body">
+      <Value description="Not a government publication">#</Value>
+      <Value description="Autonomous or semi-autonomous component">a</Value>
+      <Value description="Multilocal">c</Value>
+      <Value description="Federal / National">f</Value>
+      <Value description="International intergovernmental">i</Value>
+      <Value description="Local">l</Value>
+      <Value description="Multistate">m</Value>
+      <Value description="Government publication-level undetermined">o</Value>
+      <Value description="State, provincial, territorial, dependent, etc.">s</Value>
+      <Value description="Unknown if item is government publication">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="29" name="Conference publication" description="One-character numeric code that indicates whether an item consists of the proceedings, reports, or summaries of a conference.">
+      <Value description="Not a conference publication">0</Value>
+      <Value description="Conference publication">1</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="30-32" name="Undefined" description="Undefined; each contains a blank (#) or a fill character (|)."/>
+    <Position pos="33" name="Original alphabet or script of title" description="One-character alphabetic code that indicates the original alphabet or script of the language of the title on the source item upon which the key title (field 222) is based.">
+      <Value description="No alphabet or script given / No key title">#</Value>
+      <Value description="Basic Roman">a</Value>
+      <Value description="Extended Roman">b</Value>
+      <Value description="Cyrillic">c</Value>
+      <Value description="Japanese">d</Value>
+      <Value description="Chinese">e</Value>
+      <Value description="Arabic">f</Value>
+      <Value description="Greek">g</Value>
+      <Value description="Hebrew">h</Value>
+      <Value description="Thai ">i</Value>
+      <Value description="Devanagari ">j</Value>
+      <Value description="Korean">k</Value>
+      <Value description="Tamil ">l</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="34" name="Entry convention" description="One-character numeric code that indicates whether the item was cataloged according to successive entry, latest entry, or integrated entry cataloging conventions.">
+      <Value description="Succesive entry.New bibliographic record is created each time 1) a title changes, or 2) a corporate body used as main entry or uniform title qualifier, changes. The earlier or later title or author/title is recorded in a linking field (field 780/785) on each record.">0</Value>
+      <Value description="Latest entry. Cataloged under its latest (most recent) title or issuing body (pre-AACR cataloging rules). All former titles and/or issuing bodies are given in notes (fields 247, 547, and 550).">1</Value>
+      <Value description="Integrated entry. Cataloged under its latest (most recent) title and/or responsible person or corporate body. Used for integrating resources and electronic serials that do not retain their earlier titles.">2</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="35-37" url="http://www.loc.gov/marc/languages/language_code.html" urltext="MARC Code List for Languages" name="Language" description="">
+      <Value description="No information provided">###</Value>
+      <Value description="Multiple languages">mul</Value>
+      <Value description="Sign languages">sgn</Value>
+      <Value description="Undetermined">und</Value>
+      <Value description="No linguistic content">zxx</Value>
+      <Value description="Tree-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="38" name="Modified record" description="One-character code that indicates whether any data in a bibliographic record is a modification of information that appeared on the item being cataloged or that was intended to be included in the MARC record.">
+      <Value description="No modified">#</Value>
+      <Value description="Dashed-on information omitted">d</Value>
+      <Value description="Completely romanized/printed cards romanized">o</Value>
+      <Value description="Completely romanized/printed cards in script">r</Value>
+      <Value description="Shortened">s</Value>
+      <Value description="Missing characters">x</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="39" name="Cataloging source" description="">
+      <Value description="National bibliographic agency">#</Value>
+      <Value description="Cooperative cataloging program">c</Value>
+      <Value description="Other">d</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+  </Material>
+  <Material id="VM" name="Visual Materials" description="">
+    <Position pos="00-05" name="Date entered on file" description=""/>
+    <Position pos="06" name="Type of date/ Publication status" description="">
+      <Value description="No dates given; B.C. date involved">b</Value>
+      <Value description="Continuing resource currently published">c</Value>
+      <Value description="Continuing resource ceased publication">d</Value>
+      <Value description="Detailed date">e</Value>
+      <Value description="Inclusive dates of colletion">i</Value>
+      <Value description="Range of years of bulk of collection">k</Value>
+      <Value description="Multiple dates">m</Value>
+      <Value description="Dates unknown">n</Value>
+      <Value description="Date of distribution/ release/ issue and production/ recording session when different">p</Value>
+      <Value description="Questionable date">q</Value>
+      <Value description="Reprint / reissue date and original date">r</Value>
+      <Value description="Single know date / probable date">s</Value>
+      <Value description="Publication date and copyright date">t</Value>
+      <Value description="Continuings resource status unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="07-10" name="Date 1" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="11-14" name="Date 2" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="15-17" url="http://www.loc.gov/marc/countries/countries_code.html" urltext="MARC Code List for Countries" name="Place of publication, production, or execution" description="">
+      <Value description="Various places">vp# </Value>
+      <Value description="No place, unknown, or undetermined">xx#</Value>
+      <Value description="Two-character alphabetic code">[aa#]</Value>
+      <Value description="Three-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="18-20" name="Running time for motion pictures and videorecordings " description="Three-digit number that indicates the total running time of the motion picture or videorecording. The number is right justified and each unused position contains a zero.">
+      <Value description="Running time exceeds three characters">000</Value>
+      <Value description="Running time">001-999</Value>
+      <Value description="Not applicable">nnn</Value>
+      <Value description="No attempt to code">|||</Value>
+      <Value description="Unknown">                         --- </Value>
+    </Position>
+    <Position pos="21" name="Undefined" description="Undefined; contains a blank (#) or a fill character (|)."/>
+    <Position pos="22" name="Target audience" description="One- character alphabetic code that describes the intellectual level of the target audience for which the material is intended">
+      <Value description="Unknown or not specified">#</Value>
+      <Value description="Preschool">a</Value>
+      <Value description="Primary">b</Value>
+      <Value description="Pre-adolescent">c</Value>
+      <Value description="Adolescent">d</Value>
+      <Value description="Adult">e</Value>
+      <Value description="Specialized">f</Value>
+      <Value description="General">g</Value>
+      <Value description="Juvenile">j</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="23-27" name="Undefined" description="Undefined; each contains a blank (#) or a fill character (|)."/>
+    <Position pos="28" name="Government publication" description="One-character code that indicates whether or not the item is published or produced by or for an international, national, state, provincial, or local government agency, or by any subdivision of such a body">
+      <Value description="Not a government publication">#</Value>
+      <Value description="Autonomous or semi-autonomous component">a</Value>
+      <Value description="Multilocal">c</Value>
+      <Value description="Federal / National">f</Value>
+      <Value description="International intergovernmental">i</Value>
+      <Value description="Local">l</Value>
+      <Value description="Multistate">m</Value>
+      <Value description="Government publication-level undetermined">o</Value>
+      <Value description="State, provincial, territorial, dependent, etc.">s</Value>
+      <Value description="Unknown if item is government publication">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="29" name="Form of item" description="One-character alphabetic code that indicates the form of material for the item.">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Braille ">f</Value>
+      <Value description="Online.  The resource is accessed by means of hardware and software connections to a communications network. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">o</Value>
+      <Value description="Direct electronic. Storage on a directly accessible tangible recording medium, e.g. disc, tape, playaway device, flashdrive, portable hard drive, etc. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">q</Value>
+      <Value description="Regular print reproduction">r</Value>
+      <Value description="Electronic. Intended for manipulation by a computer. May reside in a carrier accessed either directly or remotely, in some cases requiring the use of peripheral devices attached to the computer (e.g., a CD-ROM player). Not used for items that do not require the use of a computer (e.g., music compact discs, videodiscs). This code can be used as a generic code for any form of electronic resource. Codes o and q may be used if there is a need to separately identify online and direct electronic resources.">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="30-32" name="Undefined" description="Undefined; each contains a blank (#) or a fill character (|)."/>
+    <Position pos="33" name="Type of visual material" description="One-character alphabetic code that indicates the type of visual material being described.">
+      <Value description="Art original ">a</Value>
+      <Value description="Kit.Mixture of components from two or more categories, that is, sound recording, maps, filmstrips, etc., no one of which is the predominant constituent of the item.">b</Value>
+      <Value description="Art reproduction">c</Value>
+      <Value description="Diorama ">d</Value>
+      <Value description="Filmstrip">f</Value>
+      <Value description="Game">g</Value>
+      <Value description="Picture">i</Value>
+      <Value description="Graphic">k</Value>
+      <Value description="Technical drawing">l</Value>
+      <Value description="Motion picture">m</Value>
+      <Value description="Chart">n</Value>
+      <Value description="Flash card">o</Value>
+      <Value description="Microscope slide">p</Value>
+      <Value description="Model">q</Value>
+      <Value description="Realia ">r</Value>
+      <Value description="Slide">s</Value>
+      <Value description="Transparency">t</Value>
+      <Value description="Videorecording">v</Value>
+      <Value description="Toy">w</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="34" name="Technique" description="One-character alphabetic code that indicates the technique used in creating motion in motion pictures or videorecordings.">
+      <Value description="Animation">a</Value>
+      <Value description="Animation and live action">c</Value>
+      <Value description="Live action">l</Value>
+      <Value description="Not applicable">n</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="Other">z</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="35-37" url="http://www.loc.gov/marc/languages/language_code.html" urltext="MARC Code List for Languages" name="Language" description="">
+      <Value description="No information provided">###</Value>
+      <Value description="Multiple languages">mul</Value>
+      <Value description="Sign languages">sgn</Value>
+      <Value description="Undetermined">und</Value>
+      <Value description="No linguistic content">zxx</Value>
+      <Value description="Tree-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="38" name="Modified record" description="One-character code that indicates whether any data in a bibliographic record is a modification of information that appeared on the item being cataloged or that was intended to be included in the MARC record.">
+      <Value description="No modified">#</Value>
+      <Value description="Dashed-on information omitted">d</Value>
+      <Value description="Completely romanized/printed cards romanized">o</Value>
+      <Value description="Completely romanized/printed cards in script">r</Value>
+      <Value description="Shortened">s</Value>
+      <Value description="Missing characters">x</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="39" name="Cataloging source" description="">
+      <Value description="National bibliographic agency">#</Value>
+      <Value description="Cooperative cataloging program">c</Value>
+      <Value description="Other">d</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+  </Material>
+  <Material id="MX" name="Mixed Materials" description="">
+    <Position pos="00-05" name="Date entered on file" description=""/>
+    <Position pos="06" name="Type of date/ Publication status" description="">
+      <Value description="No dates given; B.C. date involved">b</Value>
+      <Value description="Continuing resource currently published">c</Value>
+      <Value description="Continuing resource ceased publication">d</Value>
+      <Value description="Detailed date">e</Value>
+      <Value description="Inclusive dates of colletion">i</Value>
+      <Value description="Range of years of bulk of collection">k</Value>
+      <Value description="Multiple dates">m</Value>
+      <Value description="Dates unknown">n</Value>
+      <Value description="Date of distribution/ release/ issue and production/ recording session when different">p</Value>
+      <Value description="Questionable date">q</Value>
+      <Value description="Reprint / reissue date and original date">r</Value>
+      <Value description="Single know date / probable date">s</Value>
+      <Value description="Publication date and copyright date">t</Value>
+      <Value description="Continuings resource status unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="07-10" name="Date 1" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="11-14" name="Date 2" description="A date specified by the code in 008/06 (Type of date/ Publication status)">
+      <Value description="Date element is not applicable">#</Value>
+      <Value description="Date digit">1</Value>
+      <Value description="Date digit">2</Value>
+      <Value description="Date digit">3</Value>
+      <Value description="Date digit">4</Value>
+      <Value description="Date digit">5</Value>
+      <Value description="Date digit">6</Value>
+      <Value description="Date digit">7</Value>
+      <Value description="Date digit">8</Value>
+      <Value description="Date digit">9</Value>
+      <Value description="Date element is totally or partially unknown">u</Value>
+      <Value description="No attempt to code">||||</Value>
+    </Position>
+    <Position pos="15-17" url="http://www.loc.gov/marc/countries/countries_code.html" urltext="MARC Code List for Countries" name="Place of publication, production, or execution" description="">
+      <Value description="Various places">vp# </Value>
+      <Value description="No place, unknown, or undetermined">xx#</Value>
+      <Value description="Two-character alphabetic code">[aa#]</Value>
+      <Value description="Three-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="18-22" name="Undefined" description="Undefined; each contains a blank (#) or a fill character (|)."/>
+    <Position pos="23" name="Form of item" description="One-character alphabetic code that specifies the form of material for the item being described">
+      <Value description="None of the following">#</Value>
+      <Value description="Microfilm">a</Value>
+      <Value description="Microfiche">b</Value>
+      <Value description="Microopaque">c</Value>
+      <Value description="Large print">d</Value>
+      <Value description="Braille ">f</Value>
+      <Value description="Online.  The resource is accessed by means of hardware and software connections to a communications network. If a distinction between types of electronic resources is not necessary, code s can be used as a generic code for any form of electronic resource.">o</Value>
+      <Value description="Direct electronic">q</Value>
+      <Value description="Regular print reproduction">r</Value>
+      <Value description="Electronic. Intended for manipulation by a computer. May reside in a carrier accessed either directly or remotely, in some cases requiring the use of peripheral devices attached to the computer (e.g., a CD-ROM player). Not used for items that do not requi">s</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="24-34" name="Undefined" description="Undefined; each contains a blank (#) or a fill character (|)."/>
+    <Position pos="35-37" url="http://www.loc.gov/marc/languages/language_code.html" urltext="MARC Code List for Languages" name="Language" description="">
+      <Value description="No information provided">###</Value>
+      <Value description="Multiple languages">mul</Value>
+      <Value description="Sign languages">sgn</Value>
+      <Value description="Undetermined">und</Value>
+      <Value description="No linguistic content">zxx</Value>
+      <Value description="Tree-character alphabetic code">[aaa]</Value>
+    </Position>
+    <Position pos="38" name="Modified record" description="One-character code that indicates whether any data in a bibliographic record is a modification of information that appeared on the item being cataloged or that was intended to be included in the MARC record.">
+      <Value description="No modified">#</Value>
+      <Value description="Dashed-on information omitted">d</Value>
+      <Value description="Completely romanized/printed cards romanized">o</Value>
+      <Value description="Completely romanized/printed cards in script">r</Value>
+      <Value description="Shortened">s</Value>
+      <Value description="Missing characters">x</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+    <Position pos="39" name="Cataloging source" description="">
+      <Value description="National bibliographic agency">#</Value>
+      <Value description="Cooperative cataloging program">c</Value>
+      <Value description="Other">d</Value>
+      <Value description="Unknown">u</Value>
+      <Value description="No attempt to code">|</Value>
+    </Position>
+  </Material>
+</Tagfield>
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_CF.xsd b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_CF.xsd
new file mode 100755
index 0000000..7b0b27b
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_CF.xsd
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<xs:schema xmlns="http://koha-community.org" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://koha-community.org" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1">
+  <xs:annotation>
+    <xs:documentation>Control Field Plugin Type of Materials schema</xs:documentation>
+  </xs:annotation>
+
+
+  <xs:element name="Tagfield" type="TagfieldType" nillable="false">
+    <xs:annotation>
+      <xs:documentation>Element indicating the control field</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+
+  <xs:complexType name="TagfieldType">
+    <xs:sequence minOccurs="1" maxOccurs="unbounded">
+      <xs:element name="Material" type="MaterialType"/>
+    </xs:sequence>
+    <xs:attribute name="tag" type="controltagDataType" use="required"/>
+  </xs:complexType>
+
+
+  <xs:simpleType name="controltagDataType">
+    <xs:restriction base="xs:string">
+      <xs:whiteSpace value="collapse"/>
+      <xs:pattern value="00[1-9A-Za-z]{1}"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+
+  <xs:complexType name="MaterialType">
+    <xs:sequence minOccurs="1" maxOccurs="unbounded">
+      <xs:element name="Position" type="PositionType"/>
+    </xs:sequence>
+    <xs:attribute name="id" type="idDataType" use="required"/>
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="description" type="xs:string" use="required"/>
+  </xs:complexType>
+
+
+  <xs:simpleType name="idDataType">
+    <xs:restriction base="xs:string">
+      <xs:whiteSpace value="collapse"/>
+      <xs:enumeration value="BKS"/>
+      <xs:enumeration value="CF"/>
+      <xs:enumeration value="MP"/>
+      <xs:enumeration value="MU"/>
+      <xs:enumeration value="CR"/>
+      <xs:enumeration value="VM"/>
+      <xs:enumeration value="MX"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+
+  <xs:complexType name="PositionType">
+    <xs:sequence minOccurs="0" maxOccurs="unbounded">
+      <xs:element name="Value" type="ValueType"/>
+    </xs:sequence>
+    <xs:attribute name="pos" type="posDataType" use="required"/>
+    <xs:attribute name="url" type="xs:anyURI" use="optional"/>
+    <xs:attribute name="urltext" type="xs:string" use="optional"/>
+    <xs:attribute name="name" type="xs:string" use="required"/>
+    <xs:attribute name="description" type="xs:string" use="required"/>
+  </xs:complexType>
+
+
+  <xs:simpleType name="posDataType">
+    <xs:restriction base="xs:string">
+      <xs:whiteSpace value="collapse"/>
+      <xs:pattern value="[0-9]+(-[0-9]+)?"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+
+  <xs:complexType name="ValueType">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute name="description" type="xs:string" />
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+
+</xs:schema>
diff --git a/kohaversion.pl b/kohaversion.pl
old mode 100644
new mode 100755
-- 
1.5.6.5



More information about the Koha-patches mailing list