Skip to content

V2.9 dev #36

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 50 commits into from
Mar 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
9c5d07c
Updating version number.
kefo Dec 16, 2024
15b87af
Default ind1 of 041 to 0 if not translation; add xpath option for sou…
kefo Jan 7, 2025
9d393cd
Update tests for v2.9.
kefo Jan 7, 2025
a707b76
Look for english label for 651 labels.
kefo Feb 16, 2025
5b2844b
New logic for ind1 value for 041.
kefo Feb 16, 2025
8a59f36
New titles types.
kefo Feb 16, 2025
c515500
Better support for setting hte ind1 value with it is a X10.
kefo Feb 16, 2025
530f5af
Accommodate new relationship property for series.
kefo Feb 16, 2025
d9c3177
Support bf:status to set 505 indicator.
kefo Feb 16, 2025
6d86cd9
Added support for 647.
kefo Feb 20, 2025
e85ff42
Update 385 handling; fix tests.
kefo Feb 20, 2025
a56ef79
Fix 264 punctuation for 880s; add comments; fix test for 246
kefo Feb 20, 2025
e634f4d
Improve support for 647.
kefo Feb 20, 2025
6cb3103
Handle situation where 041 needs to be output but there is no normal …
kefo Feb 21, 2025
2ed3c50
Handle new note pattern for 508 and 511.
kefo Feb 21, 2025
bb35777
Support outputting 524 and 556 from new conversion pattern.
kefo Feb 22, 2025
1018557
Source if dollarB not dollar2 for the 521. Go figure.
kefo Feb 22, 2025
ac73756
Fix spine title indicator values after missing one from earlier.
kefo Feb 22, 2025
51776e9
If the marcKey is 110, prefer those indicators.
kefo Feb 22, 2025
247f1bb
If the marcKey is 110, prefer those indicators.
kefo Feb 22, 2025
71193f7
Output 525 based on new conversion rules.
kefo Feb 22, 2025
cdf2f08
Refine how language is handled for 264.
kefo Feb 25, 2025
e0fc25d
Refine rules for canned indicator values.
kefo Feb 26, 2025
9d78a82
Refine subfields for 506 and 540.
kefo Feb 26, 2025
a855c03
Officially and finally fix automatic 008/34 output based on words in …
kefo Feb 26, 2025
7f9092f
Refine and add to patterns for cyac as a source so proper indicator i…
kefo Feb 26, 2025
da1b983
Support new relationship model for 510; move a few dollar3s.
kefo Feb 26, 2025
4a5d776
Support outputting only a demographic group; smarter way to do source.
kefo Feb 26, 2025
f252186
Fix bug with 880 pairing number in 250; fix bug with ISBD punctuation…
kefo Feb 27, 2025
b1b0aa2
More rules for comics for the 008/24.:
kefo Feb 27, 2025
66432f9
Fix test.
kefo Mar 3, 2025
18b1ef0
Refactor 246 to support unpaired 880s; do not strip punctuation from …
kefo Mar 3, 2025
bc9c5c6
Fix splitinto indicator value.
kefo Mar 3, 2025
4ac4e59
Create 385 when there is only a demographic group; output source for …
kefo Mar 3, 2025
3b316c7
Output subfield m; remove duplicate processing for dollar2.
kefo Mar 5, 2025
f1194c1
Do not chop punctuation for 505.
kefo Mar 5, 2025
8babf65
Reorder source determination; do not output 880s for 6XXs.
kefo Mar 5, 2025
9236325
Updated test files.
kefo Mar 5, 2025
420e2d5
Fix failing test.
kefo Mar 5, 2025
a163a21
Added tests for 77X and 78X fields.
kefo Mar 5, 2025
5ac2018
Added tests for 246 and 247.
kefo Mar 5, 2025
cd8f0b7
Test for jurisdiction.
kefo Mar 5, 2025
98c44f4
New test for 510 from new relationship pattern.
kefo Mar 5, 2025
0ab4c4b
Test support for 506, 540, 508, 511, 586
kefo Mar 5, 2025
2d6d356
Additional testing support for 385.
kefo Mar 5, 2025
4cb70e8
Additional testing support for 385.
kefo Mar 5, 2025
66176f0
Addd support for 521 source.
kefo Mar 5, 2025
35f2900
Output correct indicator value when it is 630 hub; allow names as pai…
kefo Mar 5, 2025
10577a4
Updated specs for release.
kefo Mar 7, 2025
70addc4
Update notes for release.
kefo Mar 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 19 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
--- 2.9 2025/03/07

Changes for updated v2.9.0 specifications:

Instance-bf2marc
Updated creation of MARC 246 and 247 fields based on vartitletype URIs
Updated creation of MARC 506 and 540 fields
Added creation of 5XX fields with new notetypes
Work-bf2marc
Added creation of MARC 041 $a when multiple language resources exist
Changed creation of MARC 041 Ind1
Updated creation of MARC 246 and 247 fields based on vartitletype URIs
Added creation of MARC X10 fields when the agent is a bf:Jurisdiction or bf:Place
Added creation of MARC 505 Ind1
Added creation of MARC 5XX fields with new notetypes
Added creation of MARC 647 fields
Updated creation of MARC 510 fields to follow indirect relationship model

--- 2.8.1 2024/12/02

Patch release.
Expand All @@ -17,7 +35,7 @@ Instance-bf2marc
Changed generation of indicators in MARC 246 field
Updated creation of MARC 504 field to use bf:note instead of bf:supplementaryContent
Work-bf2marc
Added creation of paired MARC 880 fields for agents and added titles
Added creation of paired MARC 880 fields for agents and added titles
Added $u to MARC 510 field
Added creation of MARC 080 field
Changed generation of indicators in MARC 246 field
Expand Down
12 changes: 12 additions & 0 deletions release-notes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# bibframe2marc release notes

## v2.9.0

Conversion updates based on specifications v2.9. See the Library of Congress’s [BIBFRAME site](https://www.loc.gov/bibframe/) for more details. Specifications are included in the distribution in the [spec](spec/) directory. Changes of note:

* Improved creation of indicator values for MARC 246 and 247 fields based on new vartitletype URIs
* Changed creation of MARC 041 Ind1 byte
* Added creation of MARC 505 Ind1 byte
* Added creation of MARC 5XX fields based on new notetype URIs
* Updated creation of MARC X10 fields to include bf:Jurisdiction and bf:Place data

See the [NEWS](NEWS) file for full details of changes.

## v2.8.1

Patch release. This still conforms with 2.8.0 specs, which can be found in the [spec](spec/) directory. Changes of note:
Expand Down
48 changes: 40 additions & 8 deletions rules/01-001-008.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1273,8 +1273,35 @@
*/@rdf:about='http://id.loc.gov/authorities/genreForms/gf2011026707'">z</xsl:when>
<xsl:when test="@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026055' or
*/@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026055'">5</xsl:when>


<!-- Comics (graphic novels) -->
<xsl:when test="@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026266' or
*/@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026266'">6</xsl:when>
<xsl:when test="*/madsrdf:authoritativeLabel[contains(., 'comics')] or
*/rdfs:label[contains(., 'comics')]">6</xsl:when>
<xsl:when test="*/madsrdf:authoritativeLabel[contains(., '(Comics)')] or
*/rdfs:label[contains(., '(Comics)')]">6</xsl:when>
<xsl:when test="@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026572' or
*/@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026572'">6</xsl:when>

<!-- Manga -->
<xsl:when test="@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2022026036' or
*/@rdf:about='http://id.loc.gov/authorities/genreForms/gf2022026036'">6</xsl:when>
<xsl:when test="*/madsrdf:authoritativeLabel[contains(., ' manga')] or
*/rdfs:label[contains(., ' manga')]">6</xsl:when>
<xsl:when test="@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2023026096' or
*/@rdf:about='http://id.loc.gov/authorities/genreForms/gf2023026096'">6</xsl:when>

<!-- Graphic Novels -->
<xsl:when test="@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026362' or
*/@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026362'">6</xsl:when>
<xsl:when test="@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2016026005' or
*/@rdf:about='http://id.loc.gov/authorities/genreForms/gf2016026005'">6</xsl:when>
<xsl:when test="@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2017026130' or
*/@rdf:about='http://id.loc.gov/authorities/genreForms/gf2017026130'">6</xsl:when>


</xsl:choose>
</xsl:for-each>
</xsl:variable>
Expand Down Expand Up @@ -1505,25 +1532,25 @@
<xsl:when test="$v008Format='BK'">
<xsl:choose>
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026339' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026339']">1</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/madsrdf:authoritativeLabel[contains(., 'fiction')]">1</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/rdfs:label[contains(., 'fiction')]">1</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/*/madsrdf:authoritativeLabel[contains(., 'fiction')]">1</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/*/rdfs:label[contains(., 'fiction')]">1</xsl:when>
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026297' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026297']">d</xsl:when>
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026094' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026094']">e</xsl:when>
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2015026020' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2015026020']">f</xsl:when>
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026110' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026110']">h</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/madsrdf:authoritativeLabel[contains(., 'Humor')]">h</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/rdfs:label[contains(., 'Humor')]">h</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/*/madsrdf:authoritativeLabel[contains(., 'Humor')]">h</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/*/rdfs:label[contains(., 'Humor')]">h</xsl:when>
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026141' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026141']">i</xsl:when>
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026054' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026054']">i</xsl:when>
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026542' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026542']">j</xsl:when>
<!-- <xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026339' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026339']">m</xsl:when> -->
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026488' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026488']">p</xsl:when> <!-- Prose peoms. -->
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026481' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026481']">p</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/madsrdf:authoritativeLabel[contains(., 'poetry')]">p</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/rdfs:label[contains(., 'poetry')]">p</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/*/madsrdf:authoritativeLabel[contains(., 'poetry')]">p</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/*/rdfs:label[contains(., 'poetry')]">p</xsl:when>
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2011026363' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2011026363']">s</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/madsrdf:authoritativeLabel[contains(., 'speeches')]">s</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/rdfs:label[contains(., 'speeches')]">s</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/*/madsrdf:authoritativeLabel[contains(., 'speeches')]">s</xsl:when>
<xsl:when test="bf:Work/bf:genreForm/*/rdfs:label[contains(., 'speeches')]">s</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:when>
Expand Down Expand Up @@ -1579,6 +1606,11 @@
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026085' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026085']">a</xsl:when>
<xsl:when test="bf:Work/bf:note/bf:Note/rdfs:label[contains(., 'Contains biographical information')]">d</xsl:when>
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026049' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026049']">b</xsl:when>

<!-- Autobiographical comics -->
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026229' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026229']">a</xsl:when>
<!-- Biographical comics -->
<xsl:when test="bf:Work/bf:genreForm[@rdf:resource='http://id.loc.gov/authorities/genreForms/gf2014026244' or */@rdf:about='http://id.loc.gov/authorities/genreForms/gf2014026244']">b</xsl:when>
<xsl:otherwise><xsl:value-of select="' '"/></xsl:otherwise>
</xsl:choose>
</xsl:when>
Expand Down
Loading