示例#1
0
文件: Field.php 项目: scriptotek/marc
 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));
 }
示例#2
0
 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);
 }
示例#3
0
 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);
 }
示例#4
0
 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);
 }
示例#5
0
 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);
 }
示例#6
0
 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>');
 }