lcnetdev / bibframe2marc

XSLT application to generate MARCXML from BIBFRAME RDF/XML
Creative Commons Zero v1.0 Universal
15 stars 5 forks source link

OCLC numbers for 7xx processing #13

Open kirkhess opened 1 year ago

kirkhess commented 1 year ago

The 7xx fields should process OCLC control numbers w/ bf:Local identifiers into the subfield $w like LCCNs not in the $o which is for actual local identifiers.

The way it seems to work now is they only process correctly if they are bf:Identifiers w/o a subclass, and that have an agent with a bf:code and no uri.

Correct:

(OCoLC)2256995

Aka the 777 produced by this exemplar shape:

<bf:identifiedBy>
    <bf:Identifier>
        <rdf:value>2256995</rdf:value>
        <bf:assigner>
            <bf:Agent>
                <bf:code>OCoLC</bf:code>
            </bf:Agent>
        </bf:assigner>
    </bf:Identifier>
</bf:identifiedBy>

But if you go to the instance in id (https://id.loc.gov/resources/instances/11165447.html) it has this shape:

    <bf:identifiedBy>
      <bf:Local>
    <rdf:value>ocm02256995 </rdf:value>
    <bf:assigner>
      <bf:Agent rdf:about="http://id.loc.gov/vocabulary/organizations/ocolc"/>
    </bf:assigner>
      </bf:Local>
    </bf:identifiedBy>

If you are 'getting' bf for processing linking fields, you would probably use the 2nd form so the logic should know about processing this shape as well: prefix (OCoLC) concatenated with the rdf:value, formatted as a number so no leading letters and no leading zeros.