/** * Try to build an array of OCLC Number, ISBN or ISSN-based sub-queries by * using OCLC X-services against a record driver object. * * @param \VuFind\RecordDriver\AbstractBase $driver Record driver object * * @return array */ protected function getQueryParts($driver) { $parts = []; $oclcNum = $driver->tryMethod('getCleanOCLCNum'); if (!empty($oclcNum)) { $oclcList = $this->wcUtils->getXOCLCNUM($oclcNum); foreach ($oclcList as $current) { $parts[] = "oclc_num:" . $current; } } $isbn = $driver->tryMethod('getCleanISBN'); if (!empty($isbn)) { $isbnList = $this->wcUtils->getXISBN($isbn); foreach ($isbnList as $current) { $parts[] = 'isbn:' . $current; } } $issn = $driver->tryMethod('getCleanISSN'); if (!empty($issn)) { $issnList = $this->wcUtils->getXISSN($issn); foreach ($issnList as $current) { $parts[] = 'issn:' . $current; } } return $parts; }