3. BIBFRAME

The MARC to BIBFRAME was the primary purpose of the XQuery module for Metaproxy, but generally the module is a just an alternative to record_transform filter of Metaproxy which primarily performs XSLT.

The bibframe directory of the source tar contains sample file for performing MARC to BIBFRAME conversions. Upon make install these are installed to directory /usr/share/mp-xquery/bibframe and they are also part of the package mp-xquery.

config.xml is a complete Metaproxy configuration file. It includes a standalone configuration that makes Metaproxy offe Z39.50 and SRU support on port 9070. The modules in use are http_file (to serve XSL files), sru_z3950 (SRU service), cql_rpn (CQL to RPN conversion), xquery (to convert MARCXML to BIBFRAME), record_transform (to convert MARC21 to MARCXML), virt_db (for database rewrite), log (to perform backend logging) and, finally, z3950_client to interface a Z39.50 target.

It is important that the XQuery module comes before the "record_transform" so that the XQuery module sees XML only and not ISO2709-records. If it does, they will be ignored (passed through) by the XQuery module.

The XQuery module script name points to the full path of zorba3-0.xqy part of marc2bibframe . Do not move zorba3-0.xqy from its place within the marc2bibframe directory as other files are referred to and their relative location must be preserved.

File cql2pqf.txt contains a simple DC/CQL profile for driving a CQL to RPN conversion. It is referred to from the cql_rpn filter in config.xml .

File explain.xml is SRU explain configuration. It is referred to from the sru_z3950 filter in config.xml .

Directory xsl/.. is client side XSL for brief - and full display. These must be located so that the http_file filter can fetch them. For example, if these files are located in /usr/share/mp-xquery/bibframe/xsl , then http_file would hold

      <filter type="http_file">
        <area>
          <documentroot>/usr/share/mp-xquery/bibframe/xsl</documentroot>
          <prefix></prefix>
          <passthru>true</passthru>
        </area>
      </filter>

    

Note

Do not modify the files below /usr/share/mp-xquery. They will be overwritten by a package update and if make install is executed. Use them if they can be used as-is but copy them away if you want to modify them (such as config.xml).