Разбор объекта библиотеки MARC21 с помощью PHP
Я использую ILS Sierra API для поиска книг. Сложность заключается в анализе библиографической информации, которая отформатирована в формате библиотеки MARC21. API служит для записи книги как объект PHP, но оттуда у меня возникают проблемы с анализом данных. Я пытался работать с библиотекой под названием PHP-MARC ( https://github.com/scriptotek/php-marc), но для этого требуется, чтобы данные MARC21 были в специальном формате XML, который я изо всех сил пытаюсь понять из. Будем весьма благодарны за любые предложения о конвертации этого объекта PHP в MARC 21 в нечто читабельное.
Вот массив объектов MARC21, которые я получаю:
(array) [24 elements]
0:
stdClass (object) [Object ID #35][5 properties]
fieldTag: (string) a
marcTag: (string) 100
ind1: (string) 1
ind2: (string)
subfields:
(array) [1 element]
0:
stdClass (object) [Object ID #36][2 properties]
tag: (string) a
content: (string) Zobel, Hiller B.
1:
stdClass (object) [Object ID #37][5 properties]
fieldTag: (string) c
marcTag: (string) 092
ind1: (string)
ind2: (string)
subfields:
(array) [2 elements]
0:
stdClass (object) [Object ID #38][2 properties]
tag: (string) a
content: (string) 973.311
1:
stdClass (object) [Object ID #39][2 properties]
tag: (string) b
content: (string) Z
2:
stdClass (object) [Object ID #40][5 properties]
fieldTag: (string) d
marcTag: (string) 650
ind1: (string)
ind2: (string) 0
subfields:
(array) [1 element]
0:
stdClass (object) [Object ID #41][2 properties]
tag: (string) a
content: (string) Boston Massacre, 1770.
3:
stdClass (object) [Object ID #42][5 properties]
fieldTag: (string) d
marcTag: (string) 651
ind1: (string)
ind2: (string) 0
subfields:
(array) [3 elements]
0:
stdClass (object) [Object ID #43][2 properties]
tag: (string) a
content: (string) Massachusetts
1:
stdClass (object) [Object ID #44][2 properties]
tag: (string) x
content: (string) History
2:
stdClass (object) [Object ID #45][2 properties]
tag: (string) y
content: (string) Colonial period, ca. 1600-1775.
4:
stdClass (object) [Object ID #46][5 properties]
fieldTag: (string) e
marcTag: (string) 250
ind1: (string)
ind2: (string)
subfields:
(array) [1 element]
0:
stdClass (object) [Object ID #47][2 properties]
tag: (string) a
content: (string) [First edition].
5:
stdClass (object) [Object ID #48][5 properties]
fieldTag: (string) i
marcTag: (string) 020
ind1: (string)
ind2: (string)
subfields:
(array) [1 element]
0:
stdClass (object) [Object ID #49][2 properties]
tag: (string) a
content: (string) 0393053768
6:
stdClass (object) [Object ID #50][5 properties]
fieldTag: (string) k
marcTag: (string) 050
ind1: (string) 0
ind2: (string) 0
subfields:
(array) [2 elements]
0:
stdClass (object) [Object ID #51][2 properties]
tag: (string) a
content: (string) E215.4
1:
stdClass (object) [Object ID #52][2 properties]
tag: (string) b
content: (string) .Z6 1970
7:
stdClass (object) [Object ID #53][5 properties]
fieldTag: (string) l
marcTag: (string) 010
ind1: (string)
ind2: (string)
subfields:
(array) [1 element]
0:
stdClass (object) [Object ID #54][2 properties]
tag: (string) a
content: (string) 79-077413
8:
stdClass (object) [Object ID #55][5 properties]
fieldTag: (string) n
marcTag: (string) 504
ind1: (string)
ind2: (string)
subfields:
(array) [1 element]
0:
stdClass (object) [Object ID #56][2 properties]
tag: (string) a
content: (string) Bibliography: pages [304]-316.
9:
stdClass (object) [Object ID #57][5 properties]
fieldTag: (string) o
marcTag: (string) 001
ind1: (string)
ind2: (string)
content: (string) 59163
10:
stdClass (object) [Object ID #58][5 properties]
fieldTag: (string) p
marcTag: (string) 264
ind1: (string)
ind2: (string) 1
subfields:
(array) [3 elements]
0:
stdClass (object) [Object ID #59][2 properties]
tag: (string) a
content: (string) New York :
1:
stdClass (object) [Object ID #60][2 properties]
tag: (string) b
content: (string) W. W. Norton,
2:
stdClass (object) [Object ID #61][2 properties]
tag: (string) c
content: (string) [1970]
11:
stdClass (object) [Object ID #62][5 properties]
fieldTag: (string) p
marcTag: (string) 264
ind1: (string)
ind2: (string) 4
subfields:
(array) [1 element]
0:
stdClass (object) [Object ID #63][2 properties]
tag: (string) c
content: (string) ©1970
12:
stdClass (object) [Object ID #64][5 properties]
fieldTag: (string) r
marcTag: (string) 300
ind1: (string)
ind2: (string)
subfields:
(array) [3 elements]
0:
stdClass (object) [Object ID #65][2 properties]
tag: (string) a
content: (string) xi, 372 pages :
1:
stdClass (object) [Object ID #66][2 properties]
tag: (string) b
content: (string) illustrations, facsimiles, map, portraits ;
2:
stdClass (object) [Object ID #67][2 properties]
tag: (string) c
content: (string) 25 cm
13:
stdClass (object) [Object ID #68][5 properties]
fieldTag: (string) r
marcTag: (string) 336
ind1: (string)
ind2: (string)
subfields:
(array) [3 elements]
0:
stdClass (object) [Object ID #69][2 properties]
tag: (string) a
content: (string) text
1:
stdClass (object) [Object ID #70][2 properties]
tag: (string) b
content: (string) txt
2:
stdClass (object) [Object ID #71][2 properties]
tag: (string) 2
content: (string) rdacontent
14:
stdClass (object) [Object ID #72][5 properties]
fieldTag: (string) r
marcTag: (string) 337
ind1: (string)
ind2: (string)
subfields:
(array) [3 elements]
0:
stdClass (object) [Object ID #73][2 properties]
tag: (string) a
content: (string) unmediated
1:
stdClass (object) [Object ID #74][2 properties]
tag: (string) b
content: (string) n
2:
stdClass (object) [Object ID #75][2 properties]
tag: (string) 2
content: (string) rdamedia
15:
stdClass (object) [Object ID #76][5 properties]
fieldTag: (string) r
marcTag: (string) 338
ind1: (string)
ind2: (string)
subfields:
(array) [3 elements]
0:
stdClass (object) [Object ID #77][2 properties]
tag: (string) a
content: (string) volume
1:
stdClass (object) [Object ID #78][2 properties]
tag: (string) b
content: (string) nc
2:
stdClass (object) [Object ID #79][2 properties]
tag: (string) 2
content: (string) rdacarrier
16:
stdClass (object) [Object ID #80][5 properties]
fieldTag: (string) t
marcTag: (string) 245
ind1: (string) 1
ind2: (string) 4
subfields:
(array) [2 elements]
0:
stdClass (object) [Object ID #81][2 properties]
tag: (string) a
content: (string) The Boston massacre /
1:
stdClass (object) [Object ID #82][2 properties]
tag: (string) c
content: (string) by Hiller B. Zobel.
17:
stdClass (object) [Object ID #83][5 properties]
fieldTag: (string) y
marcTag: (string) 002
ind1: (string)
ind2: (string)
content: (string) 00000304
18:
stdClass (object) [Object ID #84][5 properties]
fieldTag: (string) y
marcTag: (string) 005
ind1: (string)
ind2: (string)
content: (string) 19820116000000.0
19:
stdClass (object) [Object ID #85][5 properties]
fieldTag: (string) y
marcTag: (string) 008
ind1: (string)
ind2: (string)
content: (string) 700304t19701970nyuabch b 001 0 eng nam,1
20:
stdClass (object) [Object ID #86][5 properties]
fieldTag: (string) y
marcTag: (string) 040
ind1: (string)
ind2: (string)
subfields:
(array) [4 elements]
0:
stdClass (object) [Object ID #87][2 properties]
tag: (string) a
content: (string) DLC
1:
stdClass (object) [Object ID #88][2 properties]
tag: (string) b
content: (string) eng
2:
stdClass (object) [Object ID #89][2 properties]
tag: (string) c
content: (string) DLC
3:
stdClass (object) [Object ID #90][2 properties]
tag: (string) d
content: (string) IEP
21:
stdClass (object) [Object ID #91][5 properties]
fieldTag: (string) y
marcTag: (string) 049
ind1: (string)
ind2: (string)
subfields:
(array) [1 element]
0:
stdClass (object) [Object ID #92][2 properties]
tag: (string) a
content: (string) IEPC
22:
stdClass (object) [Object ID #93][5 properties]
fieldTag: (string) y
marcTag: (string) 985
ind1: (string)
ind2: (string)
subfields:
(array) [2 elements]
0:
stdClass (object) [Object ID #94][2 properties]
tag: (string) a
content: (string) RDACS
1:
stdClass (object) [Object ID #95][2 properties]
tag: (string) b
content: (string) 2014
23:
stdClass (object) [Object ID #96][2 properties]
fieldTag: (string) _
content: (string) 00000nam a2200349,1 4500