function get_z($ccl) { $out = ''; /* hvis ikke ccl-parameteren er oppgitt får man en tom XML-struktur tilbake med records som rotnode */ if (!isset($ccl)) { $out .= "<records>\n</records>"; } else { $out .= "<records>\n"; /* kjører funksjonen yazCclArray som returnerer en array med MARCXML-data basert på $query. syntaksen er 'normarc'. mot deichmanske kan denne byttes til hvertfall USMARC og MARC21 */ $fetch = yazCclArray($ccl, 'normarc'); /* henter ut verdien med nøkkelen 'result'. det er her selve dataene ligger lagret. $fetch-arrayen har også en verdi med nøkkel 'hits' som forteller hvor mange records $fetch inneholder */ $data = $fetch['result']; //går gjennom $data-arrayen foreach ($data as $record) { //splitter på nylinjetegn $lines = explode("\n", $record); /* overskriver den første noden i hver record med en '<record>'-node. dette gjør at namespacet blir fjernet og gjør parsing og transformering av XML lettere */ $lines[0] = "<record>"; /* samler arrayen $lines til en streng og konverterer til utf-8 */ $out .= utf8_encode(implode("\n", $lines)); } $out .= "</records>"; } return $out; }
function get_z($ccl) { $out = ''; /* Return an empty set if CCL is not set */ if (!isset($ccl)) { $out .= "<records>\n</records>"; } else { $out .= "<records>\n"; $fetch = yazCclArray($ccl); if ($fetch['error']) { return $fetch; } /* 'result' gives us the actual data 'hits' is the number of records in $fetch */ $data = $fetch['result']; foreach ($data as $record) { $lines = explode("\n", $record); /* Replace the first node in each record with a '<record>'-node. This removes the namespaceand makes parsing and transforming easier */ $lines[0] = "<record>"; /* Turn the array $lines into a string and make it utf-8 */ $out .= utf8_encode(implode("\n", $lines)); } $out .= "</records>"; } return $out; }