Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Refactor toXMLHeader(), toXMLFooter(), and XMLWriter constructor to F…

…ile_MARCBASE

Add several tests of the new toXML() collection support.
Drop MARCFLAT as an unmaintained option.


git-svn-id: https://svn.php.net/repository/pear/packages/File_MARC/trunk@301733 c90b9560-bf6c-de11-be94-00142212c4b1
  • Loading branch information...
commit 8912d8e7eb44cd67e4dc87fe24f8bd3d02d85d72 1 parent 41a9e82
authored July 31, 2010
62  MARC.php
@@ -30,7 +30,7 @@
30 30
  * @package   File_MARC
31 31
  * @author    Christoffer Landtman <landtman@realnode.com>
32 32
  * @author    Dan Scott <dscott@laurentian.ca>
33  
- * @copyright 2003-2008 Oy Realnode Ab, Dan Scott
  33
+ * @copyright 2003-2010 Oy Realnode Ab, Dan Scott
34 34
  * @license   http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
35 35
  * @version   CVS: $Id$
36 36
  * @link      http://pear.php.net/package/File_MARC
@@ -41,6 +41,7 @@
41 41
 
42 42
 require_once 'PEAR/Exception.php';
43 43
 require_once 'Structures/LinkedList/Double.php';
  44
+require_once 'File/MARCBASE.php';
44 45
 require_once 'File/MARC/Record.php';
45 46
 require_once 'File/MARC/Field.php';
46 47
 require_once 'File/MARC/Control_Field.php';
@@ -61,7 +62,7 @@
61 62
  * @license  http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
62 63
  * @link     http://pear.php.net/package/File_MARC
63 64
  */
64  
-class File_MARC
  65
+class File_MARC extends File_MARCBASE
65 66
 {
66 67
 
67 68
     // {{{ constants
@@ -153,8 +154,8 @@ class File_MARC
153 154
     function __construct($source, $type = self::SOURCE_FILE)
154 155
     {
155 156
 
156  
-        $this->xmlwriter = new XMLWriter();
157  
-        $this->xmlwriter->openMemory();
  157
+        parent::__construct($source, $type);
  158
+
158 159
         switch ($type) {
159 160
 
160 161
         case self::SOURCE_FILE:
@@ -377,59 +378,6 @@ private function _decode($text)
377 378
     }
378 379
     // }}}
379 380
 
380  
-    // {{{ toXMLHeader()
381  
-    /**
382  
-     * Initializes the MARCXML output of a record or collection of records 
383  
-     *
384  
-     * This method produces an XML representation of a MARC record that
385  
-     * attempts to adhere to the MARCXML standard documented at
386  
-     * http://www.loc.gov/standards/marcxml/
387  
-     *
388  
-     * @return bool true if successful
389  
-     */
390  
-    function toXMLHeader()
391  
-    {
392  
-        $this->xmlwriter->startDocument('1.0', 'UTF-8');
393  
-        $this->xmlwriter->startElement("collection");
394  
-        $this->xmlwriter->writeAttribute("xmlns", "http://www.loc.gov/MARC21/slim");
395  
-        return true;
396  
-    }
397  
-    // }}}
398  
-
399  
-    // {{{ getXMLWriter()
400  
-    /**
401  
-     * Returns the XMLWriter object
402  
-     *
403  
-     * This method produces an XML representation of a MARC record that
404  
-     * attempts to adhere to the MARCXML standard documented at
405  
-     * http://www.loc.gov/standards/marcxml/
406  
-     *
407  
-     * @return XMLWriter XMLWriter instance
408  
-     */
409  
-    function getXMLWriter()
410  
-    {
411  
-        return $this->xmlwriter;
412  
-    }
413  
-    // }}}
414  
-
415  
-    // {{{ toXMLFooter()
416  
-    /**
417  
-     * Returns the MARCXML collection footer
418  
-     *
419  
-     * This method produces an XML representation of a MARC record that
420  
-     * attempts to adhere to the MARCXML standard documented at
421  
-     * http://www.loc.gov/standards/marcxml/
422  
-     *
423  
-     * @return string           representation of MARC record in MARCXML format
424  
-     */
425  
-    function toXMLFooter()
426  
-    {
427  
-        $this->xmlwriter->endElement(); // end collection
428  
-        $this->xmlwriter->endDocument();
429  
-        return $this->xmlwriter->outputMemory();
430  
-    }
431  
-    // }}}
432  
-
433 381
 }
434 382
 // }}}
435 383
 
63  MARCXML.php
@@ -29,7 +29,7 @@
29 29
  * @category  File_Formats
30 30
  * @package   File_MARC
31 31
  * @author    Dan Scott <dscott@laurentian.ca>
32  
- * @copyright 2007-2008 Dan Scott
  32
+ * @copyright 2007-2010 Dan Scott
33 33
  * @license   http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
34 34
  * @version   CVS: $Id$
35 35
  * @link      http://pear.php.net/package/File_MARC
@@ -40,6 +40,7 @@
40 40
 
41 41
 require_once 'PEAR/Exception.php';
42 42
 require_once 'Structures/LinkedList/Double.php';
  43
+require_once 'File/MARCBASE.php';
43 44
 require_once 'File/MARC.php';
44 45
 require_once 'File/MARC/Record.php';
45 46
 require_once 'File/MARC/Field.php';
@@ -60,7 +61,7 @@
60 61
  * @license  http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
61 62
  * @link     http://pear.php.net/package/File_MARC
62 63
  */
63  
-class File_MARCXML
  64
+class File_MARCXML extends File_MARCBASE
64 65
 {
65 66
 
66 67
     // {{{ constants
@@ -128,11 +129,9 @@ class File_MARCXML
128 129
      */
129 130
     function __construct($source, $type = self::SOURCE_FILE)
130 131
     {
131  
-        $this->counter = 0;
  132
+        parent::__construct($source, $type);
132 133
 
133  
-        $this->xmlwriter = new XMLWriter();
134  
-        $this->xmlwriter->openMemory();
135  
-        $this->xmlwriter->startDocument('1.0', 'UTF-8');
  134
+        $this->counter = 0;
136 135
 
137 136
         switch ($type) {
138 137
 
@@ -239,58 +238,6 @@ private function _decode($text)
239 238
     }
240 239
     // }}}
241 240
 
242  
-    // {{{ toXMLHeader()
243  
-    /**
244  
-     * Initializes the MARCXML output of a record or collection of records 
245  
-     *
246  
-     * This method produces an XML representation of a MARC record that
247  
-     * attempts to adhere to the MARCXML standard documented at
248  
-     * http://www.loc.gov/standards/marcxml/
249  
-     *
250  
-     * @return bool true if successful
251  
-     */
252  
-    function toXMLHeader()
253  
-    {
254  
-        $this->xmlwriter->startElement("collection");
255  
-        $this->xmlwriter->writeAttribute("xmlns", "http://www.loc.gov/MARC21/slim");
256  
-        return true;
257  
-    }
258  
-    // }}}
259  
-
260  
-    // {{{ getXMLWriter()
261  
-    /**
262  
-     * Returns the XMLWriter object
263  
-     *
264  
-     * This method produces an XML representation of a MARC record that
265  
-     * attempts to adhere to the MARCXML standard documented at
266  
-     * http://www.loc.gov/standards/marcxml/
267  
-     *
268  
-     * @return XMLWriter XMLWriter instance
269  
-     */
270  
-    function getXMLWriter()
271  
-    {
272  
-        return $this->xmlwriter;
273  
-    }
274  
-    // }}}
275  
-
276  
-    // {{{ toXMLFooter()
277  
-    /**
278  
-     * Returns the MARCXML collection footer
279  
-     *
280  
-     * This method produces an XML representation of a MARC record that
281  
-     * attempts to adhere to the MARCXML standard documented at
282  
-     * http://www.loc.gov/standards/marcxml/
283  
-     *
284  
-     * @return string           representation of MARC record in MARCXML format
285  
-     */
286  
-    function toXMLFooter()
287  
-    {
288  
-        $this->xmlwriter->endElement(); // end collection
289  
-        $this->xmlwriter->endDocument();
290  
-        return $this->xmlwriter->outputMemory();
291  
-    }
292  
-    // }}}
293  
-
294 241
 }
295 242
 // }}}
296 243
 
18  package.xml
@@ -19,10 +19,10 @@ This package is based on the PHP MARC package, originally called "php-marc", tha
19 19
   <email>dbs@php.net</email>
20 20
   <active>yes</active>
21 21
  </lead>
22  
- <date>2009-12-17</date>
  22
+ <date>2010-07-30</date>
23 23
  <version>
24  
-  <release>0.4.4</release>
25  
-  <api>0.4.0</api>
  24
+  <release>0.5.0</release>
  25
+  <api>0.5.0</api>
26 26
  </version>
27 27
  <stability>
28 28
   <release>beta</release>
@@ -30,14 +30,17 @@ This package is based on the PHP MARC package, originally called "php-marc", tha
30 30
  </stability>
31 31
  <license uri="http://www.gnu.org/copyleft/lesser.html">GNU Lesser General Public License</license>
32 32
  <notes>
33  
-0.4.5-beta
34  
-  * Add a unit test for appending and prepending control fields and data fields
  33
+0.5.0-beta
  34
+  * Drop MARCFLAT as it is unmaintained and, to my knowledge, unused
  35
+  * Add the ability to generate a proper collection of MARCXML records
  36
+  * Factor out some of the common toXML()-related methods to a new base class
  37
+  * Add tests of the new toXML() functionality for both MARC and MARCXML sources
35 38
  </notes>
36 39
  <contents>
37 40
   <dir name="/" baseinstalldir="File">
38 41
    <file name="CHANGELOG" role="doc" />
39 42
    <file name="MARC.php" role="php" />
40  
-   <file name="MARCFLAT.php" role="php" />
  43
+   <file name="MARCBASE.php" role="php" />
41 44
    <file name="MARCXML.php" role="php" />
42 45
    <file name="LICENSE" role="doc" />
43 46
    <dir name="MARC">
@@ -74,6 +77,7 @@ This package is based on the PHP MARC package, originally called "php-marc", tha
74 77
     <file name="marc_013.phpt" role="test" />
75 78
     <file name="marc_014.phpt" role="test" />
76 79
     <file name="marc_015.phpt" role="test" />
  80
+    <file name="marc_016.phpt" role="test" />
77 81
     <file name="marc_16783.phpt" role="test" />
78 82
     <file name="marc_field_001.phpt" role="test" />
79 83
     <file name="marc_field_002.phpt" role="test" />
@@ -88,9 +92,11 @@ This package is based on the PHP MARC package, originally called "php-marc", tha
88 92
     <file name="marc_xml_005.phpt" role="test" />
89 93
     <file name="marc_xml_006.phpt" role="test" />
90 94
     <file name="marc_xml_007.phpt" role="test" />
  95
+    <file name="marc_xml_008.phpt" role="test" />
91 96
     <file name="marc_xml_16642.phpt" role="test" />
92 97
     <file name="marc_xml_rsinger.phpt" role="test" />
93 98
     <file name="music.mrc" role="test" />
  99
+    <file name="music.xml" role="test" />
94 100
     <file name="bigarchive.xml" role="test" />
95 101
     <file name="onerecord.xml" role="test" />
96 102
     <file name="sandburg.mrc" role="test" />
308  tests/marc_016.phpt
... ...
@@ -0,0 +1,308 @@
  1
+--TEST--
  2
+marc_016: generate a single collection of MARCXML records from a MARC record
  3
+--FILE--
  4
+<?php
  5
+$dir = dirname(__FILE__);
  6
+require 'File/MARC.php';
  7
+
  8
+$records = new File_MARC($dir . '/' . 'music.mrc');
  9
+
  10
+// Add the XML header and opening <collection> element
  11
+$records->toXMLHeader();
  12
+
  13
+// Iterate through the retrieved records
  14
+while ($record = $records->next()) {
  15
+
  16
+    // Change each 852 $c to "Audio-Visual"
  17
+    $holdings = $record->getFields('852');
  18
+    foreach ($holdings as $holding) {
  19
+
  20
+        // Get the $c subfields from this field
  21
+        $formats = $holding->getSubfields('c');
  22
+        foreach ($formats as $format) {
  23
+            if ($format->getData('AV')) {
  24
+                $format->setData('Audio-Visual');
  25
+            }
  26
+        }
  27
+    }
  28
+
  29
+    // Generate the XML output for this record
  30
+    $record->toXML('UTF-8', true, false);
  31
+}
  32
+// Add the </collection> closing element and dump the XMLWriter contents
  33
+print $records->toXMLFooter();
  34
+--EXPECT--
  35
+<?xml version="1.0" encoding="UTF-8"?>
  36
+<collection xmlns="http://www.loc.gov/MARC21/slim">
  37
+ <record>
  38
+  <leader>01145ncm  2200277 i 4500</leader>
  39
+  <controlfield tag="001">000073594</controlfield>
  40
+  <controlfield tag="004">AAJ5802</controlfield>
  41
+  <controlfield tag="005">20030415102100.0</controlfield>
  42
+  <controlfield tag="008">801107s1977    nyujza                   </controlfield>
  43
+  <datafield tag="010" ind1=" " ind2=" ">
  44
+   <subfield code="a">   77771106 </subfield>
  45
+  </datafield>
  46
+  <datafield tag="035" ind1=" " ind2=" ">
  47
+   <subfield code="a">(CaOTUIC)15460184</subfield>
  48
+  </datafield>
  49
+  <datafield tag="035" ind1="9" ind2=" ">
  50
+   <subfield code="a">AAJ5802</subfield>
  51
+  </datafield>
  52
+  <datafield tag="040" ind1=" " ind2=" ">
  53
+   <subfield code="a">LC</subfield>
  54
+  </datafield>
  55
+  <datafield tag="050" ind1="0" ind2="0">
  56
+   <subfield code="a">M1366</subfield>
  57
+   <subfield code="b">.M62</subfield>
  58
+   <subfield code="d">M1527.2</subfield>
  59
+  </datafield>
  60
+  <datafield tag="245" ind1="0" ind2="4">
  61
+   <subfield code="a">The Modern Jazz Quartet :</subfield>
  62
+   <subfield code="b">The legendary profile. --</subfield>
  63
+  </datafield>
  64
+  <datafield tag="260" ind1=" " ind2=" ">
  65
+   <subfield code="a">New York :</subfield>
  66
+   <subfield code="b">M.J.Q. Music,</subfield>
  67
+   <subfield code="c">c1977.</subfield>
  68
+  </datafield>
  69
+  <datafield tag="300" ind1=" " ind2=" ">
  70
+   <subfield code="a">score (72 p.) ;</subfield>
  71
+   <subfield code="c">31 cm.</subfield>
  72
+  </datafield>
  73
+  <datafield tag="500" ind1=" " ind2=" ">
  74
+   <subfield code="a">For piano, vibraphone, drums, and double bass.</subfield>
  75
+  </datafield>
  76
+  <datafield tag="505" ind1="0" ind2=" ">
  77
+   <subfield code="a">Lewis, J. Django.--Lewis, J. Plastic dreams (music from the film Kemek).--Lewis, J. Dancing (music from the film Kemek).--Lewis, J. Blues in A minor.--Lewis, J. Blues in B♭.--Lewis, J. Precious joy.--Jackson, M. The martyr.--Jackson, M. The legendary profile.</subfield>
  78
+  </datafield>
  79
+  <datafield tag="650" ind1=" " ind2="0">
  80
+   <subfield code="a">Jazz.</subfield>
  81
+  </datafield>
  82
+  <datafield tag="650" ind1=" " ind2="0">
  83
+   <subfield code="a">Motion picture music</subfield>
  84
+   <subfield code="v">Excerpts</subfield>
  85
+   <subfield code="v">Scores.</subfield>
  86
+  </datafield>
  87
+  <datafield tag="700" ind1="1" ind2="2">
  88
+   <subfield code="a">Lewis, John,</subfield>
  89
+   <subfield code="d">1920-</subfield>
  90
+   <subfield code="t">Selections.</subfield>
  91
+   <subfield code="f">1977.</subfield>
  92
+  </datafield>
  93
+  <datafield tag="700" ind1="1" ind2="2">
  94
+   <subfield code="a">Jackson, Milt.</subfield>
  95
+   <subfield code="t">Martyrs.</subfield>
  96
+   <subfield code="f">1977.</subfield>
  97
+  </datafield>
  98
+  <datafield tag="700" ind1="1" ind2="2">
  99
+   <subfield code="a">Jackson, Milt.</subfield>
  100
+   <subfield code="t">Legendary profile.</subfield>
  101
+   <subfield code="f">1977.</subfield>
  102
+  </datafield>
  103
+  <datafield tag="740" ind1="4" ind2=" ">
  104
+   <subfield code="a">The legendary profile.</subfield>
  105
+  </datafield>
  106
+  <datafield tag="852" ind1="0" ind2="0">
  107
+   <subfield code="b">MUSIC</subfield>
  108
+   <subfield code="c">Audio-Visual</subfield>
  109
+   <subfield code="k">folio</subfield>
  110
+   <subfield code="h">M1366</subfield>
  111
+   <subfield code="i">M62</subfield>
  112
+   <subfield code="9">1</subfield>
  113
+   <subfield code="4">Marvin Duchow Music</subfield>
  114
+   <subfield code="5"></subfield>
  115
+  </datafield>
  116
+ </record>
  117
+ <record>
  118
+  <leader>01293cjm  2200289 a 4500</leader>
  119
+  <controlfield tag="001">001878039</controlfield>
  120
+  <controlfield tag="005">20050110174900.0</controlfield>
  121
+  <controlfield tag="007">sd fungnn|||e|</controlfield>
  122
+  <controlfield tag="008">940202r19931981nyujzn   i              d</controlfield>
  123
+  <datafield tag="024" ind1="1" ind2=" ">
  124
+   <subfield code="a">7464573372</subfield>
  125
+  </datafield>
  126
+  <datafield tag="028" ind1="0" ind2="2">
  127
+   <subfield code="a">JK 57337</subfield>
  128
+   <subfield code="b">Red Baron</subfield>
  129
+  </datafield>
  130
+  <datafield tag="035" ind1=" " ind2=" ">
  131
+   <subfield code="a">(OCoLC)29737267</subfield>
  132
+  </datafield>
  133
+  <datafield tag="040" ind1=" " ind2=" ">
  134
+   <subfield code="a">SVP</subfield>
  135
+   <subfield code="c">SVP</subfield>
  136
+   <subfield code="d">LGG</subfield>
  137
+  </datafield>
  138
+  <datafield tag="100" ind1="1" ind2=" ">
  139
+   <subfield code="a">Desmond, Paul,</subfield>
  140
+   <subfield code="d">1924-</subfield>
  141
+  </datafield>
  142
+  <datafield tag="245" ind1="1" ind2="0">
  143
+   <subfield code="a">Paul Desmond &amp; the Modern Jazz Quartet</subfield>
  144
+   <subfield code="h">[sound recording]</subfield>
  145
+  </datafield>
  146
+  <datafield tag="260" ind1=" " ind2=" ">
  147
+   <subfield code="a">New York, N.Y. :</subfield>
  148
+   <subfield code="b">Red Baron :</subfield>
  149
+   <subfield code="b">Manufactured by Sony Music Entertainment,</subfield>
  150
+   <subfield code="c">p1993.</subfield>
  151
+  </datafield>
  152
+  <datafield tag="300" ind1=" " ind2=" ">
  153
+   <subfield code="a">1 sound disc (39 min.) :</subfield>
  154
+   <subfield code="b">digital ;</subfield>
  155
+   <subfield code="c">4 3/4 in.</subfield>
  156
+  </datafield>
  157
+  <datafield tag="511" ind1="0" ind2=" ">
  158
+   <subfield code="a">Paul Desmond, alto saxophone; Modern Jazz Quartet: John Lewis, piano; Milt Jackson, vibraphone; Percy Heath, bass; Connie Kay, drums.</subfield>
  159
+  </datafield>
  160
+  <datafield tag="500" ind1=" " ind2=" ">
  161
+   <subfield code="a">All arrangements by John Lewis.</subfield>
  162
+  </datafield>
  163
+  <datafield tag="518" ind1=" " ind2=" ">
  164
+   <subfield code="a">Recorded live on December 25, 1971 at Town Hall, NYC.</subfield>
  165
+  </datafield>
  166
+  <datafield tag="500" ind1=" " ind2=" ">
  167
+   <subfield code="a">Originally released in 1981 by Finesse as LP FW 27487.</subfield>
  168
+  </datafield>
  169
+  <datafield tag="500" ind1=" " ind2=" ">
  170
+   <subfield code="a">Program notes by Irving Townsend, June 1981, on container insert.</subfield>
  171
+  </datafield>
  172
+  <datafield tag="505" ind1="0" ind2=" ">
  173
+   <subfield code="a">Greensleeves -- You go to my head -- Blue dove -- Jesus Christ Superstar -- Here's that rainy day -- East of the sun -- Bags' new groove.</subfield>
  174
+  </datafield>
  175
+  <datafield tag="650" ind1=" " ind2="0">
  176
+   <subfield code="a">Jazz</subfield>
  177
+   <subfield code="y">1971-1980.</subfield>
  178
+  </datafield>
  179
+  <datafield tag="700" ind1="1" ind2=" ">
  180
+   <subfield code="a">Lewis, John,</subfield>
  181
+   <subfield code="d">1920-</subfield>
  182
+  </datafield>
  183
+  <datafield tag="710" ind1="2" ind2=" ">
  184
+   <subfield code="a">Modern Jazz Quartet.</subfield>
  185
+  </datafield>
  186
+  <datafield tag="740" ind1="0" ind2=" ">
  187
+   <subfield code="a">Paul Desmond and the Modern Jazz Quartet.</subfield>
  188
+  </datafield>
  189
+ </record>
  190
+ <record>
  191
+  <leader>01829cjm  2200385 a 4500</leader>
  192
+  <controlfield tag="001">001964482</controlfield>
  193
+  <controlfield tag="005">20060626132700.0</controlfield>
  194
+  <controlfield tag="007">sd fzngnn|m|e|</controlfield>
  195
+  <controlfield tag="008">871211p19871957nyujzn                  d</controlfield>
  196
+  <datafield tag="024" ind1="1" ind2=" ">
  197
+   <subfield code="a">4228332902</subfield>
  198
+  </datafield>
  199
+  <datafield tag="028" ind1="0" ind2="1">
  200
+   <subfield code="a">833 290-2</subfield>
  201
+   <subfield code="b">Verve</subfield>
  202
+  </datafield>
  203
+  <datafield tag="033" ind1="0" ind2=" ">
  204
+   <subfield code="a">19571027</subfield>
  205
+   <subfield code="b">6299</subfield>
  206
+   <subfield code="c">D56</subfield>
  207
+  </datafield>
  208
+  <datafield tag="033" ind1="0" ind2=" ">
  209
+   <subfield code="a">196112--</subfield>
  210
+   <subfield code="b">3804</subfield>
  211
+   <subfield code="c">N4</subfield>
  212
+  </datafield>
  213
+  <datafield tag="033" ind1="0" ind2=" ">
  214
+   <subfield code="a">19571019</subfield>
  215
+   <subfield code="b">4104</subfield>
  216
+   <subfield code="c">C6</subfield>
  217
+  </datafield>
  218
+  <datafield tag="033" ind1="0" ind2=" ">
  219
+   <subfield code="a">197107--</subfield>
  220
+   <subfield code="b">6299</subfield>
  221
+   <subfield code="c">V7</subfield>
  222
+  </datafield>
  223
+  <datafield tag="035" ind1=" " ind2=" ">
  224
+   <subfield code="a">(OCoLC)17222092</subfield>
  225
+  </datafield>
  226
+  <datafield tag="040" ind1=" " ind2=" ">
  227
+   <subfield code="a">CPL</subfield>
  228
+   <subfield code="c">CPL</subfield>
  229
+   <subfield code="d">OCL</subfield>
  230
+   <subfield code="d">LGG</subfield>
  231
+  </datafield>
  232
+  <datafield tag="048" ind1=" " ind2=" ">
  233
+   <subfield code="a">pz01</subfield>
  234
+   <subfield code="a">ka01</subfield>
  235
+   <subfield code="a">sd01</subfield>
  236
+   <subfield code="a">pd01</subfield>
  237
+  </datafield>
  238
+  <datafield tag="110" ind1="2" ind2=" ">
  239
+   <subfield code="a">Modern Jazz Quartet.</subfield>
  240
+   <subfield code="4">prf</subfield>
  241
+  </datafield>
  242
+  <datafield tag="245" ind1="1" ind2="4">
  243
+   <subfield code="a">The Modern Jazz Quartet plus</subfield>
  244
+   <subfield code="h">[sound recording].</subfield>
  245
+  </datafield>
  246
+  <datafield tag="260" ind1=" " ind2=" ">
  247
+   <subfield code="a">[New York] :</subfield>
  248
+   <subfield code="b">Verve,</subfield>
  249
+   <subfield code="c">p1987.</subfield>
  250
+  </datafield>
  251
+  <datafield tag="300" ind1=" " ind2=" ">
  252
+   <subfield code="a">1 sound disc :</subfield>
  253
+   <subfield code="b">digital ;</subfield>
  254
+   <subfield code="c">4 3/4 in.</subfield>
  255
+  </datafield>
  256
+  <datafield tag="440" ind1=" " ind2="0">
  257
+   <subfield code="a">Compact jazz</subfield>
  258
+  </datafield>
  259
+  <datafield tag="511" ind1="0" ind2=" ">
  260
+   <subfield code="a">Modern Jazz Quartet (principally) ; Milt Jackson, vibraphone (2nd and 8th works) ; Oscar Peterson, piano (2nd and 8th works) ; Ray Brown, bass (2nd and 8th works) ; Ed Thigpen (2nd work), Louis Hayes (8th work), drums.</subfield>
  261
+  </datafield>
  262
+  <datafield tag="518" ind1=" " ind2=" ">
  263
+   <subfield code="a">Recorded live, Oct. 27, 1957, at the Donaueschingen Jazz Festival (1st, 5th, 7th, and 10th works); Dec. 1961, in New York (2nd work); live, Oct. 19, 1957, at the Opera House, Chicago (3rd, 4th, 6th, and 9th works); July 1971, in Villingen, Germany (8th work).</subfield>
  264
+  </datafield>
  265
+  <datafield tag="500" ind1=" " ind2=" ">
  266
+   <subfield code="a">Compact disc.</subfield>
  267
+  </datafield>
  268
+  <datafield tag="500" ind1=" " ind2=" ">
  269
+   <subfield code="a">Analog recording.</subfield>
  270
+  </datafield>
  271
+  <datafield tag="505" ind1="0" ind2=" ">
  272
+   <subfield code="a">The golden striker (4:08) -- On Green Dolphin Street (7:28) -- D &amp; E (4:55) -- I'll remember April (4:51) -- Cortège (7:15) -- Now's the time (4:43) -- J.B. blues (5:09) -- Reunion blues (6:35) -- 'Round midnight (3:56) -- Three windows (7:20).</subfield>
  273
+  </datafield>
  274
+  <datafield tag="650" ind1=" " ind2="0">
  275
+   <subfield code="a">Jazz.</subfield>
  276
+  </datafield>
  277
+  <datafield tag="700" ind1="1" ind2=" ">
  278
+   <subfield code="a">Jackson, Milt.</subfield>
  279
+   <subfield code="4">prf</subfield>
  280
+  </datafield>
  281
+  <datafield tag="700" ind1="1" ind2=" ">
  282
+   <subfield code="a">Peterson, Oscar,</subfield>
  283
+   <subfield code="d">1925-</subfield>
  284
+   <subfield code="4">prf</subfield>
  285
+  </datafield>
  286
+  <datafield tag="700" ind1="1" ind2=" ">
  287
+   <subfield code="a">Brown, Ray,</subfield>
  288
+   <subfield code="d">1926-2002.</subfield>
  289
+   <subfield code="4">prf</subfield>
  290
+  </datafield>
  291
+  <datafield tag="700" ind1="1" ind2=" ">
  292
+   <subfield code="a">Thigpen, Ed.</subfield>
  293
+   <subfield code="4">prf</subfield>
  294
+  </datafield>
  295
+  <datafield tag="700" ind1="1" ind2=" ">
  296
+   <subfield code="a">Hayes, Louis,</subfield>
  297
+   <subfield code="d">1937-</subfield>
  298
+   <subfield code="4">prf</subfield>
  299
+  </datafield>
  300
+  <datafield tag="852" ind1="8" ind2="0">
  301
+   <subfield code="b">MUSIC</subfield>
  302
+   <subfield code="c">Audio-Visual</subfield>
  303
+   <subfield code="h">CD 1131</subfield>
  304
+   <subfield code="4">Marvin Duchow Music</subfield>
  305
+   <subfield code="5">Audio-Visual</subfield>
  306
+  </datafield>
  307
+ </record>
  308
+</collection>
308  tests/marc_xml_008.phpt
... ...
@@ -0,0 +1,308 @@
  1
+--TEST--
  2
+marc_xml_008: generate a single collection of MARCXML records from a MARCXML record
  3
+--FILE--
  4
+<?php
  5
+$dir = dirname(__FILE__);
  6
+require 'File/MARCXML.php';
  7
+
  8
+$records = new File_MARCXML($dir . '/' . 'music.xml');
  9
+
  10
+// Add the XML header and opening <collection> element
  11
+$records->toXMLHeader();
  12
+
  13
+// Iterate through the retrieved records
  14
+while ($record = $records->next()) {
  15
+
  16
+    // Change each 852 $c to "Audio-Visual"
  17
+    $holdings = $record->getFields('852');
  18
+    foreach ($holdings as $holding) {
  19
+
  20
+        // Get the $c subfields from this field
  21
+        $formats = $holding->getSubfields('c');
  22
+        foreach ($formats as $format) {
  23
+            if ($format->getData('AV')) {
  24
+                $format->setData('Audio-Visual');
  25
+            }
  26
+        }
  27
+    }
  28
+
  29
+    // Generate the XML output for this record
  30
+    $record->toXML('UTF-8', true, false);
  31
+}
  32
+// Add the </collection> closing element and dump the XMLWriter contents
  33
+print $records->toXMLFooter();
  34
+--EXPECT--
  35
+<?xml version="1.0" encoding="UTF-8"?>
  36
+<collection xmlns="http://www.loc.gov/MARC21/slim">
  37
+ <record>
  38
+  <leader>01145ncm a2200277 i 4500</leader>
  39
+  <controlfield tag="001">000073594</controlfield>
  40
+  <controlfield tag="004">AAJ5802</controlfield>
  41
+  <controlfield tag="005">20030415102100.0</controlfield>
  42
+  <controlfield tag="008">801107s1977    nyujza                   </controlfield>
  43
+  <datafield tag="010" ind1=" " ind2=" ">
  44
+   <subfield code="a">   77771106 </subfield>
  45
+  </datafield>
  46
+  <datafield tag="035" ind1=" " ind2=" ">
  47
+   <subfield code="a">(CaOTUIC)15460184</subfield>
  48
+  </datafield>
  49
+  <datafield tag="035" ind1="9" ind2=" ">
  50
+   <subfield code="a">AAJ5802</subfield>
  51
+  </datafield>
  52
+  <datafield tag="040" ind1=" " ind2=" ">
  53
+   <subfield code="a">LC</subfield>
  54
+  </datafield>
  55
+  <datafield tag="050" ind1="0" ind2="0">
  56
+   <subfield code="a">M1366</subfield>
  57
+   <subfield code="b">.M62</subfield>
  58
+   <subfield code="d">M1527.2</subfield>
  59
+  </datafield>
  60
+  <datafield tag="245" ind1="0" ind2="4">
  61
+   <subfield code="a">The Modern Jazz Quartet :</subfield>
  62
+   <subfield code="b">The legendary profile. --</subfield>
  63
+  </datafield>
  64
+  <datafield tag="260" ind1=" " ind2=" ">
  65
+   <subfield code="a">New York :</subfield>
  66
+   <subfield code="b">M.J.Q. Music,</subfield>
  67
+   <subfield code="c">c1977.</subfield>
  68
+  </datafield>
  69
+  <datafield tag="300" ind1=" " ind2=" ">
  70
+   <subfield code="a">score (72 p.) ;</subfield>
  71
+   <subfield code="c">31 cm.</subfield>
  72
+  </datafield>
  73
+  <datafield tag="500" ind1=" " ind2=" ">
  74
+   <subfield code="a">For piano, vibraphone, drums, and double bass.</subfield>
  75
+  </datafield>
  76
+  <datafield tag="505" ind1="0" ind2=" ">
  77
+   <subfield code="a">Lewis, J. Django.--Lewis, J. Plastic dreams (music from the film Kemek).--Lewis, J. Dancing (music from the film Kemek).--Lewis, J. Blues in A minor.--Lewis, J. Blues in B́Ư.--Lewis, J. Precious joy.--Jackson, M. The martyr.--Jackson, M. The legendary profile.</subfield>
  78
+  </datafield>
  79
+  <datafield tag="650" ind1=" " ind2="0">
  80
+   <subfield code="a">Jazz.</subfield>
  81
+  </datafield>
  82
+  <datafield tag="650" ind1=" " ind2="0">
  83
+   <subfield code="a">Motion picture music</subfield>
  84
+   <subfield code="v">Excerpts</subfield>
  85
+   <subfield code="v">Scores.</subfield>
  86
+  </datafield>
  87
+  <datafield tag="700" ind1="1" ind2="2">
  88
+   <subfield code="a">Lewis, John,</subfield>
  89
+   <subfield code="d">1920-</subfield>
  90
+   <subfield code="t">Selections.</subfield>
  91
+   <subfield code="f">1977.</subfield>
  92
+  </datafield>
  93
+  <datafield tag="700" ind1="1" ind2="2">
  94
+   <subfield code="a">Jackson, Milt.</subfield>
  95
+   <subfield code="t">Martyrs.</subfield>
  96
+   <subfield code="f">1977.</subfield>
  97
+  </datafield>
  98
+  <datafield tag="700" ind1="1" ind2="2">
  99
+   <subfield code="a">Jackson, Milt.</subfield>
  100
+   <subfield code="t">Legendary profile.</subfield>
  101
+   <subfield code="f">1977.</subfield>
  102
+  </datafield>
  103
+  <datafield tag="740" ind1="4" ind2=" ">
  104
+   <subfield code="a">The legendary profile.</subfield>
  105
+  </datafield>
  106
+  <datafield tag="852" ind1="0" ind2="0">
  107
+   <subfield code="b">MUSIC</subfield>
  108
+   <subfield code="c">Audio-Visual</subfield>
  109
+   <subfield code="k">folio</subfield>
  110
+   <subfield code="h">M1366</subfield>
  111
+   <subfield code="i">M62</subfield>
  112
+   <subfield code="9">1</subfield>
  113
+   <subfield code="4">Marvin Duchow Music</subfield>
  114
+   <subfield code="5"></subfield>
  115
+  </datafield>
  116
+ </record>
  117
+ <record>
  118
+  <leader>01293cjm a2200289 a 4500</leader>
  119
+  <controlfield tag="001">001878039</controlfield>
  120
+  <controlfield tag="005">20050110174900.0</controlfield>
  121
+  <controlfield tag="007">sd fungnn|||e|</controlfield>
  122
+  <controlfield tag="008">940202r19931981nyujzn   i              d</controlfield>
  123
+  <datafield tag="024" ind1="1" ind2=" ">
  124
+   <subfield code="a">7464573372</subfield>
  125
+  </datafield>
  126
+  <datafield tag="028" ind1="0" ind2="2">
  127
+   <subfield code="a">JK 57337</subfield>
  128
+   <subfield code="b">Red Baron</subfield>
  129
+  </datafield>
  130
+  <datafield tag="035" ind1=" " ind2=" ">
  131
+   <subfield code="a">(OCoLC)29737267</subfield>
  132
+  </datafield>
  133
+  <datafield tag="040" ind1=" " ind2=" ">
  134
+   <subfield code="a">SVP</subfield>
  135
+   <subfield code="c">SVP</subfield>
  136
+   <subfield code="d">LGG</subfield>
  137
+  </datafield>
  138
+  <datafield tag="100" ind1="1" ind2=" ">
  139
+   <subfield code="a">Desmond, Paul,</subfield>
  140
+   <subfield code="d">1924-</subfield>
  141
+  </datafield>
  142
+  <datafield tag="245" ind1="1" ind2="0">
  143
+   <subfield code="a">Paul Desmond &amp; the Modern Jazz Quartet</subfield>
  144
+   <subfield code="h">[sound recording]</subfield>
  145
+  </datafield>
  146
+  <datafield tag="260" ind1=" " ind2=" ">
  147
+   <subfield code="a">New York, N.Y. :</subfield>
  148
+   <subfield code="b">Red Baron :</subfield>
  149
+   <subfield code="b">Manufactured by Sony Music Entertainment,</subfield>
  150
+   <subfield code="c">p1993.</subfield>
  151
+  </datafield>
  152
+  <datafield tag="300" ind1=" " ind2=" ">
  153
+   <subfield code="a">1 sound disc (39 min.) :</subfield>
  154
+   <subfield code="b">digital ;</subfield>
  155
+   <subfield code="c">4 3/4 in.</subfield>
  156
+  </datafield>
  157
+  <datafield tag="511" ind1="0" ind2=" ">
  158
+   <subfield code="a">Paul Desmond, alto saxophone; Modern Jazz Quartet: John Lewis, piano; Milt Jackson, vibraphone; Percy Heath, bass; Connie Kay, drums.</subfield>
  159
+  </datafield>
  160
+  <datafield tag="500" ind1=" " ind2=" ">
  161
+   <subfield code="a">All arrangements by John Lewis.</subfield>
  162
+  </datafield>
  163
+  <datafield tag="518" ind1=" " ind2=" ">
  164
+   <subfield code="a">Recorded live on December 25, 1971 at Town Hall, NYC.</subfield>
  165
+  </datafield>
  166
+  <datafield tag="500" ind1=" " ind2=" ">
  167
+   <subfield code="a">Originally released in 1981 by Finesse as LP FW 27487.</subfield>
  168
+  </datafield>
  169
+  <datafield tag="500" ind1=" " ind2=" ">
  170
+   <subfield code="a">Program notes by Irving Townsend, June 1981, on container insert.</subfield>
  171
+  </datafield>
  172
+  <datafield tag="505" ind1="0" ind2=" ">
  173
+   <subfield code="a">Greensleeves -- You go to my head -- Blue dove -- Jesus Christ Superstar -- Here's that rainy day -- East of the sun -- Bags' new groove.</subfield>
  174
+  </datafield>
  175
+  <datafield tag="650" ind1=" " ind2="0">
  176
+   <subfield code="a">Jazz</subfield>
  177
+   <subfield code="y">1971-1980.</subfield>
  178
+  </datafield>
  179
+  <datafield tag="700" ind1="1" ind2=" ">
  180
+   <subfield code="a">Lewis, John,</subfield>
  181
+   <subfield code="d">1920-</subfield>
  182
+  </datafield>
  183
+  <datafield tag="710" ind1="2" ind2=" ">
  184
+   <subfield code="a">Modern Jazz Quartet.</subfield>
  185
+  </datafield>
  186
+  <datafield tag="740" ind1="0" ind2=" ">
  187
+   <subfield code="a">Paul Desmond and the Modern Jazz Quartet.</subfield>
  188
+  </datafield>
  189
+ </record>
  190
+ <record>
  191
+  <leader>01829cjm a2200385 a 4500</leader>
  192
+  <controlfield tag="001">001964482</controlfield>
  193
+  <controlfield tag="005">20060626132700.0</controlfield>
  194
+  <controlfield tag="007">sd fzngnn|m|e|</controlfield>
  195
+  <controlfield tag="008">871211p19871957nyujzn                  d</controlfield>
  196
+  <datafield tag="024" ind1="1" ind2=" ">
  197
+   <subfield code="a">4228332902</subfield>
  198
+  </datafield>
  199
+  <datafield tag="028" ind1="0" ind2="1">
  200
+   <subfield code="a">833 290-2</subfield>
  201
+   <subfield code="b">Verve</subfield>
  202
+  </datafield>
  203
+  <datafield tag="033" ind1="0" ind2=" ">
  204
+   <subfield code="a">19571027</subfield>
  205
+   <subfield code="b">6299</subfield>
  206
+   <subfield code="c">D56</subfield>
  207
+  </datafield>
  208
+  <datafield tag="033" ind1="0" ind2=" ">
  209
+   <subfield code="a">196112--</subfield>
  210
+   <subfield code="b">3804</subfield>
  211
+   <subfield code="c">N4</subfield>
  212
+  </datafield>
  213
+  <datafield tag="033" ind1="0" ind2=" ">
  214
+   <subfield code="a">19571019</subfield>
  215
+   <subfield code="b">4104</subfield>
  216
+   <subfield code="c">C6</subfield>
  217
+  </datafield>
  218
+  <datafield tag="033" ind1="0" ind2=" ">
  219
+   <subfield code="a">197107--</subfield>
  220
+   <subfield code="b">6299</subfield>
  221
+   <subfield code="c">V7</subfield>
  222
+  </datafield>
  223
+  <datafield tag="035" ind1=" " ind2=" ">
  224
+   <subfield code="a">(OCoLC)17222092</subfield>
  225
+  </datafield>
  226
+  <datafield tag="040" ind1=" " ind2=" ">
  227
+   <subfield code="a">CPL</subfield>
  228
+   <subfield code="c">CPL</subfield>
  229
+   <subfield code="d">OCL</subfield>
  230
+   <subfield code="d">LGG</subfield>
  231
+  </datafield>
  232
+  <datafield tag="048" ind1=" " ind2=" ">
  233
+   <subfield code="a">pz01</subfield>
  234
+   <subfield code="a">ka01</subfield>
  235
+   <subfield code="a">sd01</subfield>
  236
+   <subfield code="a">pd01</subfield>
  237
+  </datafield>
  238
+  <datafield tag="110" ind1="2" ind2=" ">
  239
+   <subfield code="a">Modern Jazz Quartet.</subfield>
  240
+   <subfield code="4">prf</subfield>
  241
+  </datafield>
  242
+  <datafield tag="245" ind1="1" ind2="4">
  243
+   <subfield code="a">The Modern Jazz Quartet plus</subfield>
  244
+   <subfield code="h">[sound recording].</subfield>
  245
+  </datafield>
  246
+  <datafield tag="260" ind1=" " ind2=" ">
  247
+   <subfield code="a">[New York] :</subfield>
  248
+   <subfield code="b">Verve,</subfield>
  249
+   <subfield code="c">p1987.</subfield>
  250
+  </datafield>
  251
+  <datafield tag="300" ind1=" " ind2=" ">
  252
+   <subfield code="a">1 sound disc :</subfield>
  253
+   <subfield code="b">digital ;</subfield>
  254
+   <subfield code="c">4 3/4 in.</subfield>
  255
+  </datafield>
  256
+  <datafield tag="440" ind1=" " ind2="0">
  257
+   <subfield code="a">Compact jazz</subfield>
  258
+  </datafield>
  259
+  <datafield tag="511" ind1="0" ind2=" ">
  260
+   <subfield code="a">Modern Jazz Quartet (principally) ; Milt Jackson, vibraphone (2nd and 8th works) ; Oscar Peterson, piano (2nd and 8th works) ; Ray Brown, bass (2nd and 8th works) ; Ed Thigpen (2nd work), Louis Hayes (8th work), drums.</subfield>
  261
+  </datafield>
  262
+  <datafield tag="518" ind1=" " ind2=" ">
  263
+   <subfield code="a">Recorded live, Oct. 27, 1957, at the Donaueschingen Jazz Festival (1st, 5th, 7th, and 10th works); Dec. 1961, in New York (2nd work); live, Oct. 19, 1957, at the Opera House, Chicago (3rd, 4th, 6th, and 9th works); July 1971, in Villingen, Germany (8th work).</subfield>
  264
+  </datafield>
  265
+  <datafield tag="500" ind1=" " ind2=" ">
  266
+   <subfield code="a">Compact disc.</subfield>
  267
+  </datafield>
  268
+  <datafield tag="500" ind1=" " ind2=" ">
  269
+   <subfield code="a">Analog recording.</subfield>
  270
+  </datafield>
  271
+  <datafield tag="505" ind1="0" ind2=" ">
  272
+   <subfield code="a">The golden striker (4:08) -- On Green Dolphin Street (7:28) -- D &amp; E (4:55) -- I'll remember April (4:51) -- Cort©·ge (7:15) -- Now's the time (4:43) -- J.B. blues (5:09) -- Reunion blues (6:35) -- 'Round midnight (3:56) -- Three windows (7:20).</subfield>
  273
+  </datafield>
  274
+  <datafield tag="650" ind1=" " ind2="0">
  275
+   <subfield code="a">Jazz.</subfield>
  276
+  </datafield>
  277
+  <datafield tag="700" ind1="1" ind2=" ">
  278
+   <subfield code="a">Jackson, Milt.</subfield>
  279
+   <subfield code="4">prf</subfield>
  280
+  </datafield>
  281
+  <datafield tag="700" ind1="1" ind2=" ">
  282
+   <subfield code="a">Peterson, Oscar,</subfield>
  283
+   <subfield code="d">1925-</subfield>
  284
+   <subfield code="4">prf</subfield>
  285
+  </datafield>
  286
+  <datafield tag="700" ind1="1" ind2=" ">
  287
+   <subfield code="a">Brown, Ray,</subfield>
  288
+   <subfield code="d">1926-2002.</subfield>
  289
+   <subfield code="4">prf</subfield>
  290
+  </datafield>
  291
+  <datafield tag="700" ind1="1" ind2=" ">
  292
+   <subfield code="a">Thigpen, Ed.</subfield>
  293
+   <subfield code="4">prf</subfield>
  294
+  </datafield>
  295
+  <datafield tag="700" ind1="1" ind2=" ">
  296
+   <subfield code="a">Hayes, Louis,</subfield>
  297
+   <subfield code="d">1937-</subfield>
  298
+   <subfield code="4">prf</subfield>
  299
+  </datafield>
  300
+  <datafield tag="852" ind1="8" ind2="0">
  301
+   <subfield code="b">MUSIC</subfield>
  302
+   <subfield code="c">Audio-Visual</subfield>
  303
+   <subfield code="h">CD 1131</subfield>
  304
+   <subfield code="4">Marvin Duchow Music</subfield>
  305
+   <subfield code="5">Audio-Visual</subfield>
  306
+  </datafield>
  307
+ </record>
  308
+</collection>
274  tests/music.xml
... ...
@@ -0,0 +1,274 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<collection xmlns="http://www.loc.gov/MARC21/slim">
  3
+<record>
  4
+  <leader>01145ncm a2200277 i 4500</leader>
  5
+  <controlfield tag="001">000073594</controlfield>
  6
+  <controlfield tag="004">AAJ5802</controlfield>
  7
+  <controlfield tag="005">20030415102100.0</controlfield>
  8
+  <controlfield tag="008">801107s1977    nyujza                   </controlfield>
  9
+  <datafield tag="010" ind1=" " ind2=" ">
  10
+    <subfield code="a">   77771106 </subfield>
  11
+  </datafield>
  12
+  <datafield tag="035" ind1=" " ind2=" ">
  13
+    <subfield code="a">(CaOTUIC)15460184</subfield>
  14
+  </datafield>
  15
+  <datafield tag="035" ind1="9" ind2=" ">
  16
+    <subfield code="a">AAJ5802</subfield>
  17
+  </datafield>
  18
+  <datafield tag="040" ind1=" " ind2=" ">
  19
+    <subfield code="a">LC</subfield>
  20
+  </datafield>
  21
+  <datafield tag="050" ind1="0" ind2="0">
  22
+    <subfield code="a">M1366</subfield>
  23
+    <subfield code="b">.M62</subfield>
  24
+    <subfield code="d">M1527.2</subfield>
  25
+  </datafield>
  26
+  <datafield tag="245" ind1="0" ind2="4">
  27
+    <subfield code="a">The Modern Jazz Quartet :</subfield>
  28
+    <subfield code="b">The legendary profile. --</subfield>
  29
+  </datafield>
  30
+  <datafield tag="260" ind1=" " ind2=" ">
  31
+    <subfield code="a">New York :</subfield>
  32
+    <subfield code="b">M.J.Q. Music,</subfield>
  33
+    <subfield code="c">c1977.</subfield>
  34
+  </datafield>
  35
+  <datafield tag="300" ind1=" " ind2=" ">
  36
+    <subfield code="a">score (72 p.) ;</subfield>
  37
+    <subfield code="c">31 cm.</subfield>
  38
+  </datafield>
  39
+  <datafield tag="500" ind1=" " ind2=" ">
  40
+    <subfield code="a">For piano, vibraphone, drums, and double bass.</subfield>
  41
+  </datafield>
  42
+  <datafield tag="505" ind1="0" ind2=" ">
  43
+    <subfield code="a">Lewis, J. Django.--Lewis, J. Plastic dreams (music from the film Kemek).--Lewis, J. Dancing (music from the film Kemek).--Lewis, J. Blues in A minor.--Lewis, J. Blues in B́Ư.--Lewis, J. Precious joy.--Jackson, M. The martyr.--Jackson, M. The legendary profile.</subfield>
  44
+  </datafield>
  45
+  <datafield tag="650" ind1=" " ind2="0">
  46
+    <subfield code="a">Jazz.</subfield>
  47
+  </datafield>
  48
+  <datafield tag="650" ind1=" " ind2="0">
  49
+    <subfield code="a">Motion picture music</subfield>
  50
+    <subfield code="v">Excerpts</subfield>
  51
+    <subfield code="v">Scores.</subfield>
  52
+  </datafield>
  53
+  <datafield tag="700" ind1="1" ind2="2">
  54
+    <subfield code="a">Lewis, John,</subfield>
  55
+    <subfield code="d">1920-</subfield>
  56
+    <subfield code="t">Selections.</subfield>
  57
+    <subfield code="f">1977.</subfield>
  58
+  </datafield>
  59
+  <datafield tag="700" ind1="1" ind2="2">
  60
+    <subfield code="a">Jackson, Milt.</subfield>
  61
+    <subfield code="t">Martyrs.</subfield>
  62
+    <subfield code="f">1977.</subfield>
  63
+  </datafield>
  64
+  <datafield tag="700" ind1="1" ind2="2">
  65
+    <subfield code="a">Jackson, Milt.</subfield>
  66
+    <subfield code="t">Legendary profile.</subfield>
  67
+    <subfield code="f">1977.</subfield>
  68
+  </datafield>
  69
+  <datafield tag="740" ind1="4" ind2=" ">
  70
+    <subfield code="a">The legendary profile.</subfield>
  71
+  </datafield>
  72
+  <datafield tag="852" ind1="0" ind2="0">
  73
+    <subfield code="b">MUSIC</subfield>
  74
+    <subfield code="c">MAIN</subfield>
  75
+    <subfield code="k">folio</subfield>
  76
+    <subfield code="h">M1366</subfield>
  77
+    <subfield code="i">M62</subfield>
  78
+    <subfield code="9">1</subfield>
  79
+    <subfield code="4">Marvin Duchow Music</subfield>
  80
+    <subfield code="5"></subfield>
  81
+  </datafield>
  82
+</record>
  83
+<record>
  84
+  <leader>01293cjm a2200289 a 4500</leader>
  85
+  <controlfield tag="001">001878039</controlfield>
  86
+  <controlfield tag="005">20050110174900.0</controlfield>
  87
+  <controlfield tag="007">sd fungnn|||e|</controlfield>
  88
+  <controlfield tag="008">940202r19931981nyujzn   i              d</controlfield>
  89
+  <datafield tag="024" ind1="1" ind2=" ">
  90
+    <subfield code="a">7464573372</subfield>
  91
+  </datafield>
  92
+  <datafield tag="028" ind1="0" ind2="2">
  93
+    <subfield code="a">JK 57337</subfield>
  94
+    <subfield code="b">Red Baron</subfield>
  95
+  </datafield>
  96
+  <datafield tag="035" ind1=" " ind2=" ">
  97
+    <subfield code="a">(OCoLC)29737267</subfield>
  98
+  </datafield>
  99
+  <datafield tag="040" ind1=" " ind2=" ">
  100
+    <subfield code="a">SVP</subfield>
  101
+    <subfield code="c">SVP</subfield>
  102
+    <subfield code="d">LGG</subfield>
  103
+  </datafield>
  104
+  <datafield tag="100" ind1="1" ind2=" ">
  105
+    <subfield code="a">Desmond, Paul,</subfield>
  106
+    <subfield code="d">1924-</subfield>
  107
+  </datafield>
  108
+  <datafield tag="245" ind1="1" ind2="0">
  109
+    <subfield code="a">Paul Desmond &amp; the Modern Jazz Quartet</subfield>
  110
+    <subfield code="h">[sound recording]</subfield>
  111
+  </datafield>
  112
+  <datafield tag="260" ind1=" " ind2=" ">
  113
+    <subfield code="a">New York, N.Y. :</subfield>
  114
+    <subfield code="b">Red Baron :</subfield>
  115
+    <subfield code="b">Manufactured by Sony Music Entertainment,</subfield>
  116
+    <subfield code="c">p1993.</subfield>
  117
+  </datafield>
  118
+  <datafield tag="300" ind1=" " ind2=" ">
  119
+    <subfield code="a">1 sound disc (39 min.) :</subfield>
  120
+    <subfield code="b">digital ;</subfield>
  121
+    <subfield code="c">4 3/4 in.</subfield>
  122
+  </datafield>
  123
+  <datafield tag="511" ind1="0" ind2=" ">
  124
+    <subfield code="a">Paul Desmond, alto saxophone; Modern Jazz Quartet: John Lewis, piano; Milt Jackson, vibraphone; Percy Heath, bass; Connie Kay, drums.</subfield>
  125
+  </datafield>
  126
+  <datafield tag="500" ind1=" " ind2=" ">
  127
+    <subfield code="a">All arrangements by John Lewis.</subfield>
  128
+  </datafield>
  129
+  <datafield tag="518" ind1=" " ind2=" ">
  130
+    <subfield code="a">Recorded live on December 25, 1971 at Town Hall, NYC.</subfield>
  131
+  </datafield>
  132
+  <datafield tag="500" ind1=" " ind2=" ">
  133
+    <subfield code="a">Originally released in 1981 by Finesse as LP FW 27487.</subfield>
  134
+  </datafield>
  135
+  <datafield tag="500" ind1=" " ind2=" ">
  136
+    <subfield code="a">Program notes by Irving Townsend, June 1981, on container insert.</subfield>
  137
+  </datafield>
  138
+  <datafield tag="505" ind1="0" ind2=" ">
  139
+    <subfield code="a">Greensleeves -- You go to my head -- Blue dove -- Jesus Christ Superstar -- Here&apos;s that rainy day -- East of the sun -- Bags&apos; new groove.</subfield>
  140
+  </datafield>
  141
+  <datafield tag="650" ind1=" " ind2="0">
  142
+    <subfield code="a">Jazz</subfield>
  143
+    <subfield code="y">1971-1980.</subfield>
  144
+  </datafield>
  145
+  <datafield tag="700" ind1="1" ind2=" ">
  146
+    <subfield code="a">Lewis, John,</subfield>
  147
+    <subfield code="d">1920-</subfield>
  148
+  </datafield>
  149
+  <datafield tag="710" ind1="2" ind2=" ">
  150
+    <subfield code="a">Modern Jazz Quartet.</subfield>
  151
+  </datafield>
  152
+  <datafield tag="740" ind1="0" ind2=" ">
  153
+    <subfield code="a">Paul Desmond and the Modern Jazz Quartet.</subfield>
  154
+  </datafield>
  155
+</record>
  156
+<record>
  157
+  <leader>01829cjm a2200385 a 4500</leader>
  158
+  <controlfield tag="001">001964482</controlfield>
  159
+  <controlfield tag="005">20060626132700.0</controlfield>
  160
+  <controlfield tag="007">sd fzngnn|m|e|</controlfield>
  161
+  <controlfield tag="008">871211p19871957nyujzn                  d</controlfield>
  162
+  <datafield tag="024" ind1="1" ind2=" ">
  163
+    <subfield code="a">4228332902</subfield>
  164
+  </datafield>
  165
+  <datafield tag="028" ind1="0" ind2="1">
  166
+    <subfield code="a">833 290-2</subfield>
  167
+    <subfield code="b">Verve</subfield>
  168
+  </datafield>
  169
+  <datafield tag="033" ind1="0" ind2=" ">
  170
+    <subfield code="a">19571027</subfield>
  171
+    <subfield code="b">6299</subfield>
  172
+    <subfield code="c">D56</subfield>
  173
+  </datafield>
  174
+  <datafield tag="033" ind1="0" ind2=" ">
  175
+    <subfield code="a">196112--</subfield>
  176
+    <subfield code="b">3804</subfield>
  177
+    <subfield code="c">N4</subfield>
  178
+  </datafield>
  179
+  <datafield tag="033" ind1="0" ind2=" ">
  180
+    <subfield code="a">19571019</subfield>
  181
+    <subfield code="b">4104</subfield>
  182
+    <subfield code="c">C6</subfield>
  183
+  </datafield>
  184
+  <datafield tag="033" ind1="0" ind2=" ">
  185
+    <subfield code="a">197107--</subfield>
  186
+    <subfield code="b">6299</subfield>
  187
+    <subfield code="c">V7</subfield>
  188
+  </datafield>
  189
+  <datafield tag="035" ind1=" " ind2=" ">
  190
+    <subfield code="a">(OCoLC)17222092</subfield>
  191
+  </datafield>
  192
+  <datafield tag="040" ind1=" " ind2=" ">
  193
+    <subfield code="a">CPL</subfield>
  194
+    <subfield code="c">CPL</subfield>
  195
+    <subfield code="d">OCL</subfield>
  196
+    <subfield code="d">LGG</subfield>
  197
+  </datafield>
  198
+  <datafield tag="048" ind1=" " ind2=" ">
  199
+    <subfield code="a">pz01</subfield>
  200
+    <subfield code="a">ka01</subfield>
  201
+    <subfield code="a">sd01</subfield>
  202
+    <subfield code="a">pd01</subfield>
  203
+  </datafield>
  204
+  <datafield tag="110" ind1="2" ind2=" ">
  205
+    <subfield code="a">Modern Jazz Quartet.</subfield>
  206
+    <subfield code="4">prf</subfield>
  207
+  </datafield>
  208
+  <datafield tag="245" ind1="1" ind2="4">
  209
+    <subfield code="a">The Modern Jazz Quartet plus</subfield>
  210
+    <subfield code="h">[sound recording].</subfield>
  211
+  </datafield>
  212
+  <datafield tag="260" ind1=" " ind2=" ">
  213
+    <subfield code="a">[New York] :</subfield>
  214
+    <subfield code="b">Verve,</subfield>
  215
+    <subfield code="c">p1987.</subfield>
  216
+  </datafield>
  217
+  <datafield tag="300" ind1=" " ind2=" ">
  218
+    <subfield code="a">1 sound disc :</subfield>
  219
+    <subfield code="b">digital ;</subfield>
  220
+    <subfield code="c">4 3/4 in.</subfield>
  221
+  </datafield>
  222
+  <datafield tag="440" ind1=" " ind2="0">
  223
+    <subfield code="a">Compact jazz</subfield>
  224
+  </datafield>
  225
+  <datafield tag="511" ind1="0" ind2=" ">
  226
+    <subfield code="a">Modern Jazz Quartet (principally) ; Milt Jackson, vibraphone (2nd and 8th works) ; Oscar Peterson, piano (2nd and 8th works) ; Ray Brown, bass (2nd and 8th works) ; Ed Thigpen (2nd work), Louis Hayes (8th work), drums.</subfield>
  227
+  </datafield>
  228
+  <datafield tag="518" ind1=" " ind2=" ">
  229
+    <subfield code="a">Recorded live, Oct. 27, 1957, at the Donaueschingen Jazz Festival (1st, 5th, 7th, and 10th works); Dec. 1961, in New York (2nd work); live, Oct. 19, 1957, at the Opera House, Chicago (3rd, 4th, 6th, and 9th works); July 1971, in Villingen, Germany (8th work).</subfield>
  230
+  </datafield>
  231
+  <datafield tag="500" ind1=" " ind2=" ">
  232
+    <subfield code="a">Compact disc.</subfield>
  233
+  </datafield>
  234
+  <datafield tag="500" ind1=" " ind2=" ">
  235
+    <subfield code="a">Analog recording.</subfield>
  236
+  </datafield>
  237
+  <datafield tag="505" ind1="0" ind2=" ">
  238
+    <subfield code="a">The golden striker (4:08) -- On Green Dolphin Street (7:28) -- D &amp; E (4:55) -- I&apos;ll remember April (4:51) -- Cort©·ge (7:15) -- Now&apos;s the time (4:43) -- J.B. blues (5:09) -- Reunion blues (6:35) -- &apos;Round midnight (3:56) -- Three windows (7:20).</subfield>
  239
+  </datafield>
  240
+  <datafield tag="650" ind1=" " ind2="0">
  241
+    <subfield code="a">Jazz.</subfield>
  242
+  </datafield>
  243
+  <datafield tag="700" ind1="1" ind2=" ">
  244
+    <subfield code="a">Jackson, Milt.</subfield>
  245
+    <subfield code="4">prf</subfield>
  246
+  </datafield>
  247
+  <datafield tag="700" ind1="1" ind2=" ">
  248
+    <subfield code="a">Peterson, Oscar,</subfield>
  249
+    <subfield code="d">1925-</subfield>
  250
+    <subfield code="4">prf</subfield>
  251
+  </datafield>
  252
+  <datafield tag="700" ind1="1" ind2=" ">
  253
+    <subfield code="a">Brown, Ray,</subfield>
  254
+    <subfield code="d">1926-2002.</subfield>
  255
+    <subfield code="4">prf</subfield>
  256
+  </datafield>
  257
+  <datafield tag="700" ind1="1" ind2=" ">
  258
+    <subfield code="a">Thigpen, Ed.</subfield>
  259
+    <subfield code="4">prf</subfield>
  260
+  </datafield>
  261
+  <datafield tag="700" ind1="1" ind2=" ">
  262
+    <subfield code="a">Hayes, Louis,</subfield>
  263
+    <subfield code="d">1937-</subfield>
  264
+    <subfield code="4">prf</subfield>
  265
+  </datafield>
  266
+  <datafield tag="852" ind1="8" ind2="0">
  267
+    <subfield code="b">MUSIC</subfield>
  268
+    <subfield code="c">AV</subfield>
  269
+    <subfield code="h">CD 1131</subfield>
  270
+    <subfield code="4">Marvin Duchow Music</subfield>
  271
+    <subfield code="5">Audio-Visual</subfield>
  272
+  </datafield>
  273
+</record>
  274
+</collection>

0 notes on commit 8912d8e

Please sign in to comment.
Something went wrong with that request. Please try again.