public static function makeFieldObjects(Record $record, $tag, $pcre = false) { return array_map(function ($field) { // Note: `new static()` is a way of creating a new instance of the // called class using late static binding. return new static($field); }, $record->getFields($tag, $pcre)); }
public function testRecordTypeDescriptiveCatalogingForm() { $source = '<?xml version="1.0" encoding="UTF-8" ?> <record> <leader>99999cam a2299999 c 4500</leader> </record>'; $record = Record::fromString($source); $this->assertEquals(Marc21::ISBD_PUNCTUATION_OMITTED, $record->catalogingForm); }
public function testRecordTypeAuthority() { $source = '<?xml version="1.0" encoding="UTF-8" ?> <record> <leader>99999nz a2299999n 4500</leader> </record>'; $record = Record::fromString($source); $this->assertEquals('Authority', $record->type); }
public function testId() { $source = '<?xml version="1.0" encoding="UTF-8" ?> <record xmlns="http://www.loc.gov/MARC21/slim"> <leader>99999cam a2299999 u 4500</leader> <controlfield tag="001">98218834x</controlfield> </record>'; $record = Record::fromString($source); $this->assertEquals('98218834x', $record->id); }
public function testIsbn() { $source = '<?xml version="1.0" encoding="UTF-8" ?> <record xmlns="http://www.loc.gov/MARC21/slim"> <leader>99999cam a2299999 u 4500</leader> <controlfield tag="001">98218834x</controlfield> <datafield tag="020" ind1=" " ind2=" "> <subfield code="a">8200424421</subfield> <subfield code="q">h.</subfield> <subfield code="c">Nkr 98.00</subfield> </datafield> </record>'; $record = Record::fromString($source); $this->assertEquals(array('8200424421'), $record->isbns); }
public function setUp() { $this->record = Record::fromString('<?xml version="1.0" encoding="UTF-8" ?> <record xmlns="http://www.loc.gov/MARC21/slim"> <leader>99999cam a2299999 u 4500</leader> <controlfield tag="001">98218834x</controlfield> <datafield tag="020" ind1=" " ind2=" "> <subfield code="a">8200424421</subfield> <subfield code="q">h.</subfield> <subfield code="c">Nkr 98.00</subfield> </datafield> <datafield tag="020" ind1=" " ind2=" "> <subfield code="a">9788200424420</subfield> <subfield code="q">ib.</subfield> </datafield> </record>'); }