From d2110a0b50239a32dc56811007aa8a1e3b428e92 Mon Sep 17 00:00:00 2001
From: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Date: Tue, 4 Feb 2020 21:07:44 -0300
Subject: [PATCH] Bug 24584: Rewrite optional/marc21_holdings_coded_values to
 YAML

YAML version of optional marc21_holdings_coded_values

To test:
1) Same test plan of first patch, only check table
   authorised_values

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
---
 .../optional/marc21_holdings_coded_values.sql | 146 -----
 .../optional/marc21_holdings_coded_values.txt |   2 -
 .../optional/marc21_holdings_coded_values.yml | 509 ++++++++++++++++++
 3 files changed, 509 insertions(+), 148 deletions(-)
 delete mode 100644 installer/data/mysql/en/optional/marc21_holdings_coded_values.sql
 delete mode 100644 installer/data/mysql/en/optional/marc21_holdings_coded_values.txt
 create mode 100644 installer/data/mysql/en/optional/marc21_holdings_coded_values.yml

diff --git a/installer/data/mysql/en/optional/marc21_holdings_coded_values.sql b/installer/data/mysql/en/optional/marc21_holdings_coded_values.sql
deleted file mode 100644
index 31062ce9f8..0000000000
--- a/installer/data/mysql/en/optional/marc21_holdings_coded_values.sql
+++ /dev/null
@@ -1,146 +0,0 @@
--- Coded values conforming to the Z39.77-2006 Holdings Statements for Bibliographic Items');
--- ISSN: 1041-5653
--- Refer to https://www.niso.org/publications/standards
-
--- General Holdings: Type of Unit Designator
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_UT','0','Information not available; Not applicable');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_UT','a','Basic bibliographic unit');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_UT','c','Secondary bibliographic unit: supplements, special issues, accompanying material, other secondary bibliographic units');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_UT','d','Indexes');
-
--- Physical Form Designators
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','au','Cartographic material');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ad','Cartographic material, atlas');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ag' ,'Cartographic material, diagram');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','aj' ,'Cartographic material, map');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ak' ,'Cartographic material, profile');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','aq' ,'Cartographic material, model');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ar' ,'Cartographic material, remote sensing image');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','as' ,'Cartographic material, section');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ay' ,'Cartographic material, view');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','az' ,'Cartographic material, other');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','cu' ,'Computer file');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ca' ,'Computer file, tape cartridge');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','cb' ,'Computer file, chip cartridge');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','cc' ,'Computer file, computer optical disk cartridge');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','cf' ,'Computer file, tape cassette');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ch' ,'Computer file, tape reel');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','cj' ,'Computer file, magnetic disk');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','cm' ,'Computer file, magneto-optical disk');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','co' ,'Computer file, optical disk');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','cr' ,'Computer file, remote');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','cz' ,'Computer file, other');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','du' ,'Globe');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','da' ,'Globe, celestial');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','db' ,'Globe, planetary or lunar');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','dc' ,'Globe, terrestrial');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','de' ,'Globe, earth moon');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','dz' ,'Globe, other');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ou' ,'Kit');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','hu' ,'Microform');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ha' ,'Microform, aperture card');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','hb',' Microform, microfilm cartridge');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','hc',' Microform, microfilm cassette');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','hd',' Microform, microfilm reel');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','he' ,'Microform, microfiche');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','hf' ,'Microform, microfiche cassette');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','hg' ,'Microform, micro-opaque');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','hz' ,'Microform, other');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','mu' ,'Motion picture');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','mc' ,'Motion picture, film cartridge');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','mf' ,'Motion picture, film cassette');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','mr' ,'Motion picture, film reel');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','mz' ,'Motion picture, other');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ku' ,'Nonprojected graphic');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','kc' ,'Nonprojected graphic, collage');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','kd' ,'Nonprojected graphic, drawing');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ke' ,'Nonprojected graphic, painting');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','kf' ,'Nonprojected graphic, photomechanical print');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','kg' ,'Nonprojected graphic, photonegative');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','kh' ,'Nonprojected graphic, photoprint');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ki' ,'Nonprojected graphic, picture');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','kj' ,'Nonprojected graphic, print');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','kl' ,'Nonprojected graphic, technical drawing');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','kn' ,'Nonprojected graphic, chart');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ko' ,'Nonprojected graphic, flash card');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','kz' ,'Nonprojected graphic, other');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','qu' ,'Notated music');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','gu' ,'Projected graphic');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','gc' ,'Projected graphic, filmstrip cartridge');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','gd' ,'Projected graphic, filmstrip');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','gf' ,'Projected graphic, other type of filmstrip');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','go' ,'Projected graphic, filmstrip roll');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','gs' ,'Projected graphic, slide');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','gt' ,'Projected graphic, transparency');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','gz' ,'Projected graphic, other');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ru' ,'Remote-sensing image');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','su' ,'Sound recording');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','sd' ,'Sound recording, sound disk');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','se' ,'Sound recording, cylinder');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','sg' ,'Sound recording, sound cartridge');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','si' ,'Sound recording, sound-track film');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','sq' ,'Sound recording, roll');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ss' ,'Sound recording, sound cassette');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','st' ,'Sound recording, sound-tape reel');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','sw' ,'Sound recording, wire recording');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','sz' ,'Sound recording, other');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','tu' ,'Text');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','ta' ,'Text, regular print');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','tb' ,'Text, large print');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','tc' ,'Text, Braille');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','td' ,'Text, loose-leaf');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','tz' ,'Text, other');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','vu' ,'Videorecording');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','vc' ,'Videorecording, videocartridge');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','vd' ,'Videorecording, videodisc');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','vf' ,'Videorecording, videocassette');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','vr' ,'Videorecording, videoreel');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','vz' ,'Videorecording, other');
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','zu' ,'Physical form is unspecified');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','zm' ,'Multiple physical forms');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_PF','zz' ,'Other physical media');
-
--- General Holdings: Completeness Designator 
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_C','0','Information not available, or Retention is limited');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_C','1','Complete (95%-100% held)');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_C','2','Incomplete (50%-94% held)');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_C','3','Very incomplete or scattered (less than 50% held)');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_C','4','Not applicable');
-
--- General Holdings: Acquisition Status Designator
--- This data element specifies acquisition status for the unit at the time of the holdings report.
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_AS','0','Information not available, or Retention is limited');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_AS','1','Other');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_AS','2','Received and complete or Ceased');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_AS','3','On order');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_AS','4','Currently received');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_AS','5','Not currently received');
-
--- General Holdings: Retention Designator
--- This data element specifies the retention policy for the unit at the time of the holdings report. 
-
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_RD','0','Information not available');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_RD','1','Other');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_RD','2','Retained except as replaced by updates');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_RD','3','Sample issue retained');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_RD','4','Retained until replaced by microform, or other preservation format');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_RD','5','Retained until replaced by cumulation, replacement volume, or revision');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_RD','6','Limited retention (only some parts kept)');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_RD','7','No retention (no parts kept)');
-INSERT INTO `authorised_values` (category, authorised_value, lib) VALUES ('HINGS_RD','8','Permanent retention (all parts kept permanently)');
-
diff --git a/installer/data/mysql/en/optional/marc21_holdings_coded_values.txt b/installer/data/mysql/en/optional/marc21_holdings_coded_values.txt
deleted file mode 100644
index 7d15d46abe..0000000000
--- a/installer/data/mysql/en/optional/marc21_holdings_coded_values.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Coded values conforming to the Z39.71-2006 holdings statements for bibliographic items.
-Refer to https://www.niso.org/publications/standards for details.
diff --git a/installer/data/mysql/en/optional/marc21_holdings_coded_values.yml b/installer/data/mysql/en/optional/marc21_holdings_coded_values.yml
new file mode 100644
index 0000000000..6f5a559532
--- /dev/null
+++ b/installer/data/mysql/en/optional/marc21_holdings_coded_values.yml
@@ -0,0 +1,509 @@
+---
+#
+#  Copyright 2020 Koha Development Team
+#
+#  This file is part of Koha.
+#
+#  Koha is free software; you can redistribute it and/or modify it under the
+#  terms of the GNU General Public License as published by the Free Software
+#  Foundation; either version 2 of the License, or (at your option) any later
+#  version.
+#
+#  Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with Koha; if not, write to the Free Software Foundation, Inc.,
+#  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+
+description:
+  - "Coded values conforming to the Z39.71-2006 holdings statements for bibliographic items."
+  - "Refer to https://www.niso.org/publications/standards for details."
+
+tables:
+  - authorised_values:
+      translatable: [ lib ]
+      multiline: []
+      rows:
+        # General Holdings: Type of Unit Designator
+        - category: "HINGS_UT"
+          authorised_value: "0"
+          lib: "Information not available; Not applicable"
+
+        - category: "HINGS_UT"
+          authorised_value: "a"
+          lib: "Basic bibliographic unit"
+
+        - category: "HINGS_UT"
+          authorised_value: "c"
+          lib: "Secondary bibliographic unit: supplements, special issues, accompanying material, other secondary bibliographic units"
+
+        - category: "HINGS_UT"
+          authorised_value: "d"
+          lib: "Indexes"
+
+
+        # Physical Form Designators
+        - category: "HINGS_PF"
+          authorised_value: "au"
+          lib: "Cartographic material"
+
+        - category: "HINGS_PF"
+          authorised_value: "ad"
+          lib: "Cartographic material, atlas"
+
+        - category: "HINGS_PF"
+          authorised_value: "ag"
+          lib: "Cartographic material, diagram"
+
+        - category: "HINGS_PF"
+          authorised_value: "aj"
+          lib: "Cartographic material, map"
+
+        - category: "HINGS_PF"
+          authorised_value: "ak"
+          lib: "Cartographic material, profile"
+
+        - category: "HINGS_PF"
+          authorised_value: "aq"
+          lib: "Cartographic material, model"
+
+        - category: "HINGS_PF"
+          authorised_value: "ar"
+          lib: "Cartographic material, remote sensing image"
+
+        - category: "HINGS_PF"
+          authorised_value: "as"
+          lib: "Cartographic material, section"
+
+        - category: "HINGS_PF"
+          authorised_value: "ay"
+          lib: "Cartographic material, view"
+
+        - category: "HINGS_PF"
+          authorised_value: "az"
+          lib: "Cartographic material, other"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "cu"
+          lib: "Computer file"
+
+        - category: "HINGS_PF"
+          authorised_value: "ca"
+          lib: "Computer file, tape cartridge"
+
+        - category: "HINGS_PF"
+          authorised_value: "cb"
+          lib: "Computer file, chip cartridge"
+
+        - category: "HINGS_PF"
+          authorised_value: "cc"
+          lib: "Computer file, computer optical disk cartridge"
+
+        - category: "HINGS_PF"
+          authorised_value: "cf"
+          lib: "Computer file, tape cassette"
+
+        - category: "HINGS_PF"
+          authorised_value: "ch"
+          lib: "Computer file, tape reel"
+
+        - category: "HINGS_PF"
+          authorised_value: "cj"
+          lib: "Computer file, magnetic disk"
+
+        - category: "HINGS_PF"
+          authorised_value: "cm"
+          lib: "Computer file, magneto-optical disk"
+
+        - category: "HINGS_PF"
+          authorised_value: "co"
+          lib: "Computer file, optical disk"
+
+        - category: "HINGS_PF"
+          authorised_value: "cr"
+          lib: "Computer file, remote"
+
+        - category: "HINGS_PF"
+          authorised_value: "cz"
+          lib: "Computer file, other"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "du"
+          lib: "Globe"
+
+        - category: "HINGS_PF"
+          authorised_value: "da"
+          lib: "Globe, celestial"
+
+        - category: "HINGS_PF"
+          authorised_value: "db"
+          lib: "Globe, planetary or lunar"
+
+        - category: "HINGS_PF"
+          authorised_value: "dc"
+          lib: "Globe, terrestrial"
+
+        - category: "HINGS_PF"
+          authorised_value: "de"
+          lib: "Globe, earth moon"
+
+        - category: "HINGS_PF"
+          authorised_value: "dz"
+          lib: "Globe, other"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "ou"
+          lib: "Kit"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "hu"
+          lib: "Microform"
+
+        - category: "HINGS_PF"
+          authorised_value: "ha"
+          lib: "Microform, aperture card"
+
+        - category: "HINGS_PF"
+          authorised_value: "hb"
+          lib: " Microform, microfilm cartridge"
+
+        - category: "HINGS_PF"
+          authorised_value: "hc"
+          lib: " Microform, microfilm cassette"
+
+        - category: "HINGS_PF"
+          authorised_value: "hd"
+          lib: " Microform, microfilm reel"
+
+        - category: "HINGS_PF"
+          authorised_value: "he"
+          lib: "Microform, microfiche"
+
+        - category: "HINGS_PF"
+          authorised_value: "hf"
+          lib: "Microform, microfiche cassette"
+
+        - category: "HINGS_PF"
+          authorised_value: "hg"
+          lib: "Microform, micro-opaque"
+
+        - category: "HINGS_PF"
+          authorised_value: "hz"
+          lib: "Microform, other"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "mu"
+          lib: "Motion picture"
+
+        - category: "HINGS_PF"
+          authorised_value: "mc"
+          lib: "Motion picture, film cartridge"
+
+        - category: "HINGS_PF"
+          authorised_value: "mf"
+          lib: "Motion picture, film cassette"
+
+        - category: "HINGS_PF"
+          authorised_value: "mr"
+          lib: "Motion picture, film reel"
+
+        - category: "HINGS_PF"
+          authorised_value: "mz"
+          lib: "Motion picture, other"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "ku"
+          lib: "Nonprojected graphic"
+
+        - category: "HINGS_PF"
+          authorised_value: "kc"
+          lib: "Nonprojected graphic, collage"
+
+        - category: "HINGS_PF"
+          authorised_value: "kd"
+          lib: "Nonprojected graphic, drawing"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "ke"
+          lib: "Nonprojected graphic, painting"
+
+        - category: "HINGS_PF"
+          authorised_value: "kf"
+          lib: "Nonprojected graphic, photomechanical print"
+
+        - category: "HINGS_PF"
+          authorised_value: "kg"
+          lib: "Nonprojected graphic, photonegative"
+
+        - category: "HINGS_PF"
+          authorised_value: "kh"
+          lib: "Nonprojected graphic, photoprint"
+
+        - category: "HINGS_PF"
+          authorised_value: "ki"
+          lib: "Nonprojected graphic, picture"
+
+        - category: "HINGS_PF"
+          authorised_value: "kj"
+          lib: "Nonprojected graphic, print"
+
+        - category: "HINGS_PF"
+          authorised_value: "kl"
+          lib: "Nonprojected graphic, technical drawing"
+
+        - category: "HINGS_PF"
+          authorised_value: "kn"
+          lib: "Nonprojected graphic, chart"
+
+        - category: "HINGS_PF"
+          authorised_value: "ko"
+          lib: "Nonprojected graphic, flash card"
+
+        - category: "HINGS_PF"
+          authorised_value: "kz"
+          lib: "Nonprojected graphic, other"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "qu"
+          lib: "Notated music"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "gu"
+          lib: "Projected graphic"
+
+        - category: "HINGS_PF"
+          authorised_value: "gc"
+          lib: "Projected graphic, filmstrip cartridge"
+
+        - category: "HINGS_PF"
+          authorised_value: "gd"
+          lib: "Projected graphic, filmstrip"
+
+        - category: "HINGS_PF"
+          authorised_value: "gf"
+          lib: "Projected graphic, other type of filmstrip"
+
+        - category: "HINGS_PF"
+          authorised_value: "go"
+          lib: "Projected graphic, filmstrip roll"
+
+        - category: "HINGS_PF"
+          authorised_value: "gs"
+          lib: "Projected graphic, slide"
+
+        - category: "HINGS_PF"
+          authorised_value: "gt"
+          lib: "Projected graphic, transparency"
+
+        - category: "HINGS_PF"
+          authorised_value: "gz"
+          lib: "Projected graphic, other"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "ru"
+          lib: "Remote-sensing image"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "su"
+          lib: "Sound recording"
+
+        - category: "HINGS_PF"
+          authorised_value: "sd"
+          lib: "Sound recording, sound disk"
+
+        - category: "HINGS_PF"
+          authorised_value: "se"
+          lib: "Sound recording, cylinder"
+
+        - category: "HINGS_PF"
+          authorised_value: "sg"
+          lib: "Sound recording, sound cartridge"
+
+        - category: "HINGS_PF"
+          authorised_value: "si"
+          lib: "Sound recording, sound-track film"
+
+        - category: "HINGS_PF"
+          authorised_value: "sq"
+          lib: "Sound recording, roll"
+
+        - category: "HINGS_PF"
+          authorised_value: "ss"
+          lib: "Sound recording, sound cassette"
+
+        - category: "HINGS_PF"
+          authorised_value: "st"
+          lib: "Sound recording, sound-tape reel"
+
+        - category: "HINGS_PF"
+          authorised_value: "sw"
+          lib: "Sound recording, wire recording"
+
+        - category: "HINGS_PF"
+          authorised_value: "sz"
+          lib: "Sound recording, other"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "tu"
+          lib: "Text"
+
+        - category: "HINGS_PF"
+          authorised_value: "ta"
+          lib: "Text, regular print"
+
+        - category: "HINGS_PF"
+          authorised_value: "tb"
+          lib: "Text, large print"
+
+        - category: "HINGS_PF"
+          authorised_value: "tc"
+          lib: "Text, Braille"
+
+        - category: "HINGS_PF"
+          authorised_value: "td"
+          lib: "Text, loose-leaf"
+
+        - category: "HINGS_PF"
+          authorised_value: "tz"
+          lib: "Text, other"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "vu"
+          lib: "Videorecording"
+
+        - category: "HINGS_PF"
+          authorised_value: "vc"
+          lib: "Videorecording, videocartridge"
+
+        - category: "HINGS_PF"
+          authorised_value: "vd"
+          lib: "Videorecording, videodisc"
+
+        - category: "HINGS_PF"
+          authorised_value: "vf"
+          lib: "Videorecording, videocassette"
+
+        - category: "HINGS_PF"
+          authorised_value: "vr"
+          lib: "Videorecording, videoreel"
+
+        - category: "HINGS_PF"
+          authorised_value: "vz"
+          lib: "Videorecording, other"
+
+
+        - category: "HINGS_PF"
+          authorised_value: "zu"
+          lib: "Physical form is unspecified"
+
+        - category: "HINGS_PF"
+          authorised_value: "zm"
+          lib: "Multiple physical forms"
+
+        - category: "HINGS_PF"
+          authorised_value: "zz"
+          lib: "Other physical media"
+
+
+        # General Holdings: Completeness Designator
+        - category: "HINGS_C"
+          authorised_value: "0"
+          lib: "Information not available, or Retention is limited"
+
+        - category: "HINGS_C"
+          authorised_value: "1"
+          lib: "Complete (95%-100% held)"
+
+        - category: "HINGS_C"
+          authorised_value: "2"
+          lib: "Incomplete (50%-94% held)"
+
+        - category: "HINGS_C"
+          authorised_value: "3"
+          lib: "Very incomplete or scattered (less than 50% held)"
+
+        - category: "HINGS_C"
+          authorised_value: "4"
+          lib: "Not applicable"
+
+
+        # General Holdings: Acquisition Status Designator
+        # This data element specifies acquisition status for the unit at the time of the holdings report.
+        - category: "HINGS_AS"
+          authorised_value: "0"
+          lib: "Information not available, or Retention is limited"
+
+        - category: "HINGS_AS"
+          authorised_value: "1"
+          lib: "Other"
+
+        - category: "HINGS_AS"
+          authorised_value: "2"
+          lib: "Received and complete or Ceased"
+
+        - category: "HINGS_AS"
+          authorised_value: "3"
+          lib: "On order"
+
+        - category: "HINGS_AS"
+          authorised_value: "4"
+          lib: "Currently received"
+
+        - category: "HINGS_AS"
+          authorised_value: "5"
+          lib: "Not currently received"
+
+
+        # General Holdings: Retention Designator
+        # This data element specifies the retention policy for the unit at the time of the holdings report.
+        - category: "HINGS_RD"
+          authorised_value: "0"
+          lib: "Information not available"
+
+        - category: "HINGS_RD"
+          authorised_value: "1"
+          lib: "Other"
+
+        - category: "HINGS_RD"
+          authorised_value: "2"
+          lib: "Retained except as replaced by updates"
+
+        - category: "HINGS_RD"
+          authorised_value: "3"
+          lib: "Sample issue retained"
+
+        - category: "HINGS_RD"
+          authorised_value: "4"
+          lib: "Retained until replaced by microform, or other preservation format"
+
+        - category: "HINGS_RD"
+          authorised_value: "5"
+          lib: "Retained until replaced by cumulation, replacement volume, or revision"
+
+        - category: "HINGS_RD"
+          authorised_value: "6"
+          lib: "Limited retention (only some parts kept)"
+
+        - category: "HINGS_RD"
+          authorised_value: "7"
+          lib: "No retention (no parts kept)"
+
+        - category: "HINGS_RD"
+          authorised_value: "8"
+          lib: "Permanent retention (all parts kept permanently)"
-- 
2.20.1