Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}