Skip to content

MARC → BIBFRAME coverage

This document is a static view of what the LoC marc2bibframe2 XSLT extracts from each MARC source field. It is auto-generated by parsing the vendored stylesheet under third_party/marc2bibframe2/xsl/. A row appearing here only means the XSLT contains code to handle the field — it does not mean that the field actually occurred in any corpus we have processed.

The doc has four auto-generated sections, regenerated together by bffi-pipeline regenerate-marc-to-bibframe-mapping (use --check in CI to guard against drift):

  1. Coverage matrix — per-MARC-tag input coverage: modes, indicators tested, subfields read, controlfield/leader position reads, BIBFRAME classes/predicates emitted.
  2. Dynamic constructor appendix — every template that builds an output element via <xsl:element name="{$var}">. These can't be resolved statically; affected tags carry a partial-coverage note.
  3. Round-trip cross-check — comparison against the reverse converter's MARC_EMIT_REGISTRY (the source of docs/bffi_to_marc_mapping.md). Per tag verdict: round-trippable, forward-only, reverse-only, or asymmetric.
  4. Generator metadata — XSLT commit SHA, module/template/tag counts, cross-check tally.

Reading the tables

  • Indicator cells: an ind1= or ind2= entry means the XSLT template has at least one xsl:when test="@ind1='X'"-style literal branch for that value. The literal MARC blank indicator (a space) is rendered as #. _(projected, no literal tests)_ means the template references the indicator (e.g. <xsl:value-of select="@ind1"/>) but doesn't branch on a literal — the analyzer can't enumerate which values get through.
  • Position-read cells: written 008/35-37 etc., MARC convention (0-based, inclusive end). The XSLT uses 1-based substring(., N, M) internally; this doc translates.
  • BIBFRAME-emitted cells: literal element constructors (<bf:title>) and resolvable <xsl:element name="bf:Foo"/> are listed verbatim. Dynamic constructors appear as <dynamic:{$varName}> and trigger a per-tag note + an entry in the dynamic-constructor appendix.
  • 880 (alt-script) folding: marc2bibframe2 routes 880 via a $6 prefix dispatch back to the linked tag's template. Affected tags carry an "also handled via 880 $6 dispatch" note; 880 does not appear as its own row unless the XSLT has a stand-alone 880 handler with no dispatch linkage.

Known limitations

  1. Static, not empirical. A row here means the XSLT contains handling, not that any record exercised it. The bffi-pipeline diagnose-marc-coverage command provides the empirical (corpus-derived) view.
  2. Dynamic xsl:element constructors are irreducible. Templates that build output element names from XSLT variables (e.g. <xsl:element name="{$vTitleClass}"/>) can't be resolved without running the stylesheet. Affected tags carry a "partial coverage" note and the appendix lists each site.
  3. Mode aggregation collapses per-mode detail. A tag handled in multiple modes (work, instance, adminmetadata, …) is one row with a Modes cell listing all modes. The per-mode subfield / output breakdown is not surfaced.
  4. Indicator projection is opaque. When a template references @ind1 / @ind2 without a literal-equality test, the analyzer can tell that the indicator was read but not which values the template would fire for in practice.
  5. The cross-check compares MARC tags, subfields, and indicators only. It does not compare the BIBFRAME terms emitted by the forward path against the BFFI terms read by the reverse path — that pairing is the BIBFRAME ↔ BFFI mapping doc's job (docs/bf_to_bffi_mapping.md).
  6. reverse_only is not automatically a bug. Some MARC tags are reconstructed by the reverse converter from BFFI provenance metadata that has no forward-path equivalent — they will always be reverse_only. A forward_only verdict is what flags reverse-converter work; an asymmetric verdict warrants per-tag review.
  7. Submodule SHA churn. Every regenerated doc embeds the marc2bibframe2 submodule's HEAD SHA. A submodule bump that doesn't touch the parsed bits still bumps the SHA, producing a small diff that must be regenerated and committed.

Coverage matrix

MARC Kind Modes Indicators tested Subfields read Position reads BIBFRAME emitted Source module(s) Notes
001 controlfield adminmetadata bf:Agent
bf:Local
bf:assigner
bf:code
bf:identifiedBy
ConvSpec-001-007.xsl
007 controlfield instance $c 007/00 007/01 007/03 007/04 007/05 007/06 007/06-08 007/07 007/08 007/09 007/10 007/11 007/12 007/13 bf:AspectRatio
bf:BaseMaterial
bf:CaptureStorage
bf:Carrier
bf:ColorContent
bf:Emulsion
bf:EncodingFormat
bf:Generation
bf:GenreForm
bf:GrooveCharacteristic
bf:Media
bf:Mount
bf:Note
bf:PlaybackChannels
bf:PlaybackCharacteristic
bf:PlayingSpeed
bf:Polarity
bf:PresentationFormat
bf:ProductionMethod
bf:RecordingMedium
bf:RecordingMethod
bf:ReductionRatio
bf:SoundContent
bf:TapeConfig
bf:VideoFormat
bf:aspectRatio
bf:baseMaterial
bf:carrier
bf:colorContent
bf:digitalCharacteristic
bf:dimensions
bf:emulsion
bf:generation
bf:genreForm
bf:media
bf:mount
bf:note
bf:polarity
bf:productionMethod
bf:projectionCharacteristic
bf:reductionRatio
bf:soundCharacteristic
bf:soundContent
bf:videoCharacteristic
ConvSpec-001-007.xsl
008 controlfield instance 008/18-34 ConvSpec-006,008.xsl
leader leader instance, mMaterialType008 LDR/06 LDR/07 bf:issuance ConvSpec-006,008.xsl
ConvSpec-LDR.xsl
010 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
015 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
016 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
017 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
020 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
022 datafield work ind1=# $0 $2 $6 $a $b $c $d $l $m $q $y $z bf:Agent
bf:IssnL
bf:Status
bf:assigner
bf:code
bf:identifiedBy
bf:status
ConvSpec-010-048.xsl also handled via 880 $6 dispatch
023 datafield work ind1=#/0 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
024 datafield instance, work ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
025 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
026 datafield instance $2 $5 $6 $a $b $c $d $e bf:Fingerprint
bf:identifiedBy
ConvSpec-010-048.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
027 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
028 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
030 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
032 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
033 datafield work ind1=0/1/2, ind2=0/1/2 (+ projected) $3 $6 $a $b $p bf:Capture
bf:Note
bf:Place
bf:capture
bf:date
bf:note
bf:place
ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
034 datafield work $3 $6 $a $b $c $d $e $f $g bf:Cartographic
bf:Scale
bf:cartographicAttributes
bf:coordinates
bf:scale
ConvSpec-010-048.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
035 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
036 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
037 datafield instance ind1=2/3 (+ projected) $3 $5 $6 $a $b $c $f $g $n bf:AcquisitionSource
bf:Note
bf:StockNumber
bf:acquisitionSource
bf:acquisitionTerms
bf:identifiedBy
bf:note
ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
038 datafield adminmetadata $6 $a bflc:MetadataLicensor
bflc:metadataLicensor
ConvSpec-010-048.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
040 datafield adminmetadata $6 $b $e bf:DescriptionConventions
bf:Language
bf:Note
bf:code
bf:descriptionConventions
bf:descriptionLanguage
bf:note
ConvSpec-010-048.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
041 datafield work ind2=#/7 (+ projected) $2 $3 $6 bf:Language
bf:language
bf:part
ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
042 datafield adminmetadata $6 $a bf:DescriptionAuthentication
bf:code
bf:descriptionAuthentication
ConvSpec-010-048.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
043 datafield work $0 $6 $a $b $c bf:GeographicCoverage
bf:Source
bf:code
bf:geographicCoverage
bf:source
ConvSpec-010-048.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
045 datafield work ind1=2 (+ projected) $6 $a $b bf:temporalCoverage ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
046 datafield work $6 $k $l $m $n bf:originDate
bf:validDate
ConvSpec-010-048.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
047 datafield work ind2=# (+ projected) $2 $6 $a bf:GenreForm
bf:code
bf:genreForm
ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
048 datafield work $6 $a $b bf:Ensemble
bf:EnsembleSize
bf:MediumComponent
bf:MediumComponentQualifier
bf:MediumOfPerformance
bf:count
bf:ensemble
bf:ensembleSize
bf:mediumComponent
bf:mediumComponentQualifier
bf:mediumOfPerformance
ConvSpec-010-048.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
050 datafield work ind1=0/1, ind2=#/0 (+ projected) $6 $a $b bf:ClassificationLcc
bf:assigner
bf:classification
bf:classificationPortion
bf:itemPortion
bf:status
madsrdf:hasRelatedAuthority
ConvSpec-050-088.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
051 datafield item $a $b $c bf:ClassificationLcc
bf:Note
bf:assigner
bf:classification
bf:classificationPortion
bf:itemPortion
bf:note
ConvSpec-050-088.xsl no indicator literals tested — fires for any indicator value
052 datafield work ind1=# (+ projected) $6 $a $b bf:geographicCoverage ConvSpec-050-088.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
055 datafield work ind1=0/1/2, ind2=0/1/2 (+ projected) $6 $a $b bf:ClassificationLcc
bf:assigner
bf:classification
bf:classificationPortion
bf:itemPortion
bf:status
madsrdf:hasRelatedAuthority
ConvSpec-050-088.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
060 datafield work ind1=0/1, ind2=#/0 (+ projected) $6 $a $b bf:ClassificationNlm
bf:assigner
bf:classification
bf:classificationPortion
bf:itemPortion
bf:status
madsrdf:hasRelatedAuthority
ConvSpec-050-088.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
070 datafield work ind1=0 (+ projected) $6 $a $b bf:ClassificationNal
bf:assigner
bf:classification
bf:classificationPortion
bf:itemPortion
bf:status
madsrdf:hasRelatedAuthority
ConvSpec-050-088.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
072 datafield work ind2=0 (+ projected) $2 $6 $a $x bf:Source
bf:Topic
bf:code
bf:source
bf:subject
ConvSpec-050-088.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
074 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
080 datafield work ind1=0/1 (+ projected) $2 $6 $a $b $x bf:ClassificationUdc
bf:classification
bf:classificationPortion
bf:code
bf:edition
bf:itemPortion
madsrdf:hasRelatedAuthority
ConvSpec-050-088.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
082 datafield work ind1=0/1, ind2=#/0 (+ projected) $1 $2 $6 $a $b $q bf:Agent
bf:ClassificationDdc
bf:assigner
bf:classification
bf:classificationPortion
bf:edition
bf:itemPortion
ConvSpec-050-088.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
084 datafield work $2 $6 $a $b $q bf:Agent
bf:Classification
bf:assigner
bf:classification
bf:classificationPortion
bf:itemPortion
madsrdf:hasRelatedAuthority
ConvSpec-050-088.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
086 datafield work ind1=0/1 (+ projected) $2 $6 $a $b $z bf:Classification
bf:Source
bf:Status
bf:classification
bf:code
bf:source
bf:status
madsrdf:hasRelatedAuthority
ConvSpec-050-088.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
088 datafield instance ind1=#/0/1/2/3/4/6/7 (+ projected) $0 $2 $6 $a $b $c $d $q $y $z ConvSpec-010-048.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
100 datafield work $0 $1 $6 $k bf:Hub
bf:expressionOf
ConvSpec-1XX,7XX,8XX-names.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
110 datafield work $0 $1 $6 $k bf:Hub
bf:expressionOf
ConvSpec-1XX,7XX,8XX-names.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
111 datafield work $0 $1 $6 $k bf:Hub
bf:expressionOf
ConvSpec-1XX,7XX,8XX-names.xsl no indicator literals tested — fires for any indicator value
130 datafield work $6 bf:Hub
bf:expressionOf
ConvSpec-240andX30-UnifTitle.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
210 datafield work ind2=#/0 (+ projected) $2 $6 $a $b ConvSpec-200-247not240-Titles.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
222 datafield work (projected, no literal tests) $6 $a $b bf:KeyTitle
bf:mainTitle
bf:qualifier
bf:title
bflc:nonSortNum
ConvSpec-200-247not240-Titles.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
240 datafield work $6 bf:Hub
bf:expressionOf
ConvSpec-240andX30-UnifTitle.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
242 datafield instance (projected, no literal tests) $6 $a $b $n $p bf:VariantTitle
bf:mainTitle
bf:partName
bf:partNumber
bf:subtitle
bf:title
bflc:nonSortNum
ConvSpec-200-247not240-Titles.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
243 datafield work (projected, no literal tests) $6 $a bf:CollectiveTitle
bf:mainTitle
bf:title
bflc:nonSortNum
ConvSpec-200-247not240-Titles.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
245 datafield instance $6 $a $b $f $g $k $n $p $s bf:Title
bf:title
ConvSpec-200-247not240-Titles.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
246 datafield t246Props $6 $a $b $f $i $n $p bf:Note
bf:date
bf:mainTitle
bf:note
bf:partName
bf:partNumber
bf:subtitle
ConvSpec-200-247not240-Titles.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
247 datafield t247Props $6 $a $b $f $g $n $p $x bf:Issn
bf:date
bf:identifiedBy
bf:mainTitle
bf:partName
bf:partNumber
bf:qualifier
bf:subtitle
ConvSpec-200-247not240-Titles.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
250 datafield instance $6 $a $b bf:editionStatement ConvSpec-250-270.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
254 datafield instance $6 $a bf:editionStatement ConvSpec-250-270.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
255 datafield work $6 $a $b $c $d $e $f $g bf:Cartographic
bf:Projection
bf:Scale
bf:ascensionAndDeclination
bf:cartographicAttributes
bf:coordinates
bf:equinox
bf:exclusionGRing
bf:outerGRing
bf:projection
bf:scale
ConvSpec-250-270.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
256 datafield instance $6 $a bf:Note
bf:note
ConvSpec-250-270.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
257 datafield instance $2 $6 $a bf:Place
bf:originPlace
ConvSpec-250-270.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
260 datafield instance $6 bf:PublisherNumber
bf:identifiedBy
ConvSpec-250-270.xsl no indicator literals tested — fires for any indicator value
263 datafield instance $6 $a bflc:projectedProvisionDate ConvSpec-250-270.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
265 datafield instance $6 $a bf:AcquisitionSource
bf:acquisitionSource
ConvSpec-250-270.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
300 datafield instance $3 $6 $a $b $c $e $f $g bf:Extent
bf:Note
bf:dimensions
bf:extent
bf:note
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
306 datafield instance $6 $a bf:duration ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
310 datafield instance $0 $2 $6 $a $b bf:Frequency
bf:Status
bf:date
bf:frequency
bf:status
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
321 datafield instance $0 $2 $6 $a $b bf:Frequency
bf:Status
bf:date
bf:frequency
bf:status
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
334 datafield instance $2 $3 $6 $a $b ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
336 datafield work $2 $3 $6 $a $b ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
337 datafield instance $2 $3 $6 $a $b ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
338 datafield instance $2 $3 $6 $a $b ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
340 datafield instance $2 $6 $a $b $c $d $e $f $g $i $j $k $l $m $n $o $q <dynamic:{$vObject}>
<dynamic:{$vProp}>
bf:SystemRequirement
bf:dimensions
bf:systemRequirement
madsrdf:hasRelatedAuthority
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vObject, $vProp) — partial coverage
no indicator literals tested — fires for any indicator value
341 datafield work $2 $3 $6 $a $b $c $d $e bf:ContentAccessibility
bf:contentAccessibility
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
344 datafield instance $6 ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
345 datafield instance $6 ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
346 datafield instance $6 ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
347 datafield instance $6 ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
348 datafield work $6 ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
351 datafield work $3 $6 $a $b $c bf:CollectionArrangement
bf:collectionArrangement
bf:collectionOrganization
bf:hierarchicalLevel
bf:pattern
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
352 datafield instance $6 $a $b $q bf:CartographicObjectType
bf:count
bf:digitalCharacteristic
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
353 datafield work $0 $2 $6 $a $b bf:Identifier
bf:SupplementaryContent
bf:identifiedBy
bf:supplementaryContent
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
362 datafield instance ind1=0 (+ projected) $6 $a ConvSpec-3XX.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
370 datafield work $6 $c $g bf:Place
bf:Source
bf:originPlace
bf:source
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
377 datafield work ind2=# (+ projected) $2 $3 $6 $a $l bf:Language
bf:language
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
380 datafield work $6 $a ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
382 datafield work ind1=1 (+ projected) $2 $3 $6 bf:Ensemble
bf:EnsembleSize
bf:MediumComponent
bf:MediumComponentQualifier
bf:MediumOfPerformance
bf:Note
bf:Source
bf:Status
bf:code
bf:count
bf:ensemble
bf:ensembleSize
bf:mediumComponent
bf:mediumComponentQualifier
bf:mediumOfPerformance
bf:note
bf:source
bf:status
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
383 datafield work $3 $6 $a $b $c $d $e <dynamic:{$vElName}>
bf:OpusNumber
bf:SerialNumber
bf:Source
bf:code
bf:identifiedBy
bf:source
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vElName) — partial coverage
no indicator literals tested — fires for any indicator value
384 datafield work $3 $6 $a bf:KeyMode
bf:keyMode
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
385 datafield work $0 $2 $3 $6 $a $b $m $n <dynamic:{$vProp}>
<dynamic:{$vResource}>
bf:code
bflc:DemographicGroup
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vProp, $vResource) — partial coverage
no indicator literals tested — fires for any indicator value
386 datafield work $0 $2 $3 $6 $a $b $m $n <dynamic:{$vProp}>
<dynamic:{$vResource}>
bf:code
bflc:DemographicGroup
ConvSpec-3XX.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vProp, $vResource) — partial coverage
no indicator literals tested — fires for any indicator value
500 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
501 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
502 datafield work $6 $a $b $c $d $g $o bf:Agent
bf:Dissertation
bf:DissertationIdentifier
bf:Note
bf:date
bf:degree
bf:dissertation
bf:grantingInstitution
bf:identifiedBy
bf:note
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
504 datafield instance $6 $a $b bf:Note
bf:count
bf:note
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
505 datafield work ind1=1/2 (+ projected) $6 $a $g $r $t $u bf:Status
bf:TableOfContents
bf:electronicLocator
bf:status
bf:tableOfContents
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
506 datafield instance $0 $2 $3 $5 $6 $a $b $c $d $e $f $g $q $u bf:AccessPolicy
bf:qualifier
bf:usageAndAccessPolicy
bf:validDate
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
507 datafield work $6 $a $b bf:Scale
bf:scale
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
513 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
515 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
516 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
518 datafield work $3 $6 $a $d $o $p bf:Capture
bf:Note
bf:Place
bf:capture
bf:date
bf:note
bf:place
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
520 datafield work $3 $6 $a $b $c $u bf:Summary
bf:summary
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
521 datafield work ind1=0/1/2 (+ projected) $3 $6 $a $b bf:IntendedAudience
bf:Note
bf:Source
bf:intendedAudience
bf:note
bf:source
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
522 datafield work $6 $a bf:GeographicCoverage
bf:geographicCoverage
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
524 datafield instance $2 $3 $6 $a bf:Note
bf:note
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
525 datafield work $6 $a bf:Note
bf:note
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
530 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
532 datafield instance $3 $6 $a bf:ContentAccessibility
bf:contentAccessibility
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
533 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
534 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
536 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
538 datafield instance $3 $5 $6 $a $u bf:SystemRequirement
bf:systemRequirement
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
540 datafield instance $0 $2 $3 $5 $6 $a $c $d $f $g $q $u bf:UsePolicy
bf:qualifier
bf:usageAndAccessPolicy
bf:validDate
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
541 datafield item $3 $5 $6 $a $b $c $d $e $f $h $n $o bf:ImmediateAcquisition
bf:immediateAcquisition
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
544 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
545 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
546 datafield work $3 $6 $a $b bf:Notation
bf:Note
bf:notation
bf:note
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
547 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
550 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
555 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
556 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
561 datafield instance $3 $5 $6 $a bf:custodialHistory ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
563 datafield instance $3 $5 $6 $a bf:Note
bf:note
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
580 datafield relNote $6 $a bf:Note
bf:note
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
581 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
583 datafield instance $2 $3 $5 $6 $a $c $h $k $l $u $z bf:Agent
bf:Note
bf:Status
bf:agent
bf:date
bf:note
bf:status
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
585 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
586 datafield work $3 $6 $a bf:Note
bf:note
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
587 datafield work ind1=#/0 (+ projected) $6 $a $b $u bf:Note
bf:note
bf:preferredCitation
ConvSpec-5XX.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
588 datafield instance $5 $6 ConvSpec-5XX.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
600 datafield work $0 $1 $6 ConvSpec-600-662.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
610 datafield work $0 $1 $6 ConvSpec-600-662.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
611 datafield work $0 $1 $6 ConvSpec-600-662.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
630 datafield work $6 ConvSpec-600-662.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
647 datafield work ind1=#, ind2=4/7 (+ projected) $0 $2 $3 $5 $6 $a $g $v $w $x $y $z ConvSpec-600-662.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
648 datafield work ind1=#, ind2=4/7 (+ projected) $0 $2 $3 $5 $6 $a $g $v $w $x $y $z ConvSpec-600-662.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
650 datafield work ind1=#, ind2=4/7 (+ projected) $0 $2 $3 $5 $6 $a $g $v $w $x $y $z ConvSpec-600-662.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
651 datafield work ind1=#, ind2=4/7 (+ projected) $0 $2 $3 $5 $6 $a $g $v $w $x $y $z ConvSpec-600-662.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
653 datafield work ind2=1/2/3/4/5/6 (+ projected) $0 $5 $6 $a $w <dynamic:{$vProp}>
<dynamic:{$vResource}>
ConvSpec-600-662.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vProp, $vResource) — partial coverage
indicator values projected without literal comparison
655 datafield work ind1=#, ind2=4/7 (+ projected) $0 $2 $3 $5 $6 $a $g $v $w $x $y $z ConvSpec-600-662.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
656 datafield work $0 $2 $3 $6 $a $k $v $w $x $y $z bf:Topic
bf:subject
bflc:marcKey
madsrdf:authoritativeLabel
madsrdf:componentList
ConvSpec-600-662.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
662 datafield work $0 $2 $6 $a $b $c $d $f $g $h $w <dynamic:{$vResource}>
bf:Place
bf:subject
madsrdf:componentList
ConvSpec-600-662.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vResource) — partial coverage
no indicator literals tested — fires for any indicator value
700 datafield work $0 $1 $5 $6 $t ConvSpec-1XX,7XX,8XX-names.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
710 datafield work $0 $1 $5 $6 $t ConvSpec-1XX,7XX,8XX-names.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
711 datafield work $0 $1 $5 $6 $t ConvSpec-1XX,7XX,8XX-names.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
720 datafield work $0 $1 $5 $6 $t ConvSpec-1XX,7XX,8XX-names.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
730 datafield work ind2=#/2/4 (+ projected) $5 $6 $i bf:Hub
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-240andX30-UnifTitle.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
740 datafield work ind2=2 (+ projected) $5 $6 $a $n $p bf:Relation
bf:Title
bf:Work
bf:associatedResource
bf:mainTitle
bf:partName
bf:partNumber
bf:relation
bf:relationship
bf:title
bflc:nonSortNum
ConvSpec-720+740to755.xsl also handled via 880 $6 dispatch
indicator values projected without literal comparison
752 datafield work $0 $2 $4 $6 $a $b $c $d $e $f $g $h $w <dynamic:{$vResource}>
bf:Place
bf:Relation
bf:Relationship
bf:associatedResource
bf:place
bf:relation
bf:relationship
madsrdf:componentList
ConvSpec-720+740to755.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vResource) — partial coverage
no indicator literals tested — fires for any indicator value
753 datafield instance $2 $6 $a $b $c <dynamic:{$vResource}>
bf:systemRequirement
madsrdf:hasRelatedAuthority
ConvSpec-720+740to755.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vResource) — partial coverage
no indicator literals tested — fires for any indicator value
758 datafield work $0 $1 $4 $6 $a $i bf:Relation
bf:Relationship
bf:relation
bf:relationship
ConvSpec-758.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
760 datafield work ind2=0/1/4/5/6/7/8 (+ projected) $6 $8 $a $i <dynamic:{$vRelProp}>
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-760-788-Links.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vRelProp) — partial coverage
indicator values projected without literal comparison
762 datafield work ind2=0/1/4/5/6/7/8 (+ projected) $6 $8 $a $i <dynamic:{$vRelProp}>
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-760-788-Links.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vRelProp) — partial coverage
indicator values projected without literal comparison
765 datafield work ind2=0/1/4/5/6/7/8 (+ projected) $6 $8 $a $i <dynamic:{$vRelProp}>
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-760-788-Links.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vRelProp) — partial coverage
indicator values projected without literal comparison
767 datafield work ind2=0/1/4/5/6/7/8 (+ projected) $6 $8 $a $i <dynamic:{$vRelProp}>
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-760-788-Links.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vRelProp) — partial coverage
indicator values projected without literal comparison
770 datafield work ind2=0/1/4/5/6/7/8 (+ projected) $6 $8 $a $i <dynamic:{$vRelProp}>
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-760-788-Links.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vRelProp) — partial coverage
indicator values projected without literal comparison
772 datafield work ind2=0/1/4/5/6/7/8 (+ projected) $6 $8 $a $i <dynamic:{$vRelProp}>
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-760-788-Links.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vRelProp) — partial coverage
indicator values projected without literal comparison
773 datafield work ind2=0/1/4/5/6/7/8 (+ projected) $6 $8 $a $i <dynamic:{$vRelProp}>
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-760-788-Links.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vRelProp) — partial coverage
indicator values projected without literal comparison
774 datafield work ind2=0/1/4/5/6/7/8 (+ projected) $6 $8 $a $i <dynamic:{$vRelProp}>
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-760-788-Links.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vRelProp) — partial coverage
indicator values projected without literal comparison
775 datafield work ind2=0/1/4/5/6/7/8 (+ projected) $6 $8 $a $i <dynamic:{$vRelProp}>
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-760-788-Links.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vRelProp) — partial coverage
indicator values projected without literal comparison
776 datafield work ind2=0/1/4/5/6/7/8 (+ projected) $6 $8 $a $i <dynamic:{$vRelProp}>
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-760-788-Links.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vRelProp) — partial coverage
indicator values projected without literal comparison
777 datafield work ind2=0/1/4/5/6/7/8 (+ projected) $6 $8 $a $i <dynamic:{$vRelProp}>
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-760-788-Links.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vRelProp) — partial coverage
indicator values projected without literal comparison
786 datafield work ind2=0/1/4/5/6/7/8 (+ projected) $6 $8 $a $i <dynamic:{$vRelProp}>
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-760-788-Links.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vRelProp) — partial coverage
indicator values projected without literal comparison
787 datafield work ind2=0/1/4/5/6/7/8 (+ projected) $6 $8 $a $i <dynamic:{$vRelProp}>
bf:Relation
bf:Relationship
bf:associatedResource
bf:relation
bf:relationship
ConvSpec-760-788-Links.xsl also handled via 880 $6 dispatch
contains dynamic xsl:element constructors ($vRelProp) — partial coverage
indicator values projected without literal comparison
856 datafield hasItem $6 ConvSpec-841-887.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value
859 datafield hasItem $6 ConvSpec-841-887.xsl also handled via 880 $6 dispatch
no indicator literals tested — fires for any indicator value

Templates with dynamic element construction

Source module Line MARC tag Variable / expression Template mode
ConvSpec-3XX.xsl 714 383 $vElName work
ConvSpec-3XX.xsl 809 385 $vProp work
ConvSpec-3XX.xsl 809 385 $vResource work
ConvSpec-3XX.xsl 809 386 $vProp work
ConvSpec-3XX.xsl 809 386 $vResource work
ConvSpec-3XX.xsl 1258 340 $vObject instance
ConvSpec-3XX.xsl 1258 340 $vProp instance
ConvSpec-600-662.xsl 1072 653 $vProp work
ConvSpec-600-662.xsl 1072 653 $vResource work
ConvSpec-600-662.xsl 1249 662 $vResource work
ConvSpec-720+740to755.xsl 159 752 $vResource work
ConvSpec-720+740to755.xsl 259 753 $vResource instance
ConvSpec-760-788-Links.xsl 39 760 $vRelProp work
ConvSpec-760-788-Links.xsl 39 762 $vRelProp work
ConvSpec-760-788-Links.xsl 39 765 $vRelProp work
ConvSpec-760-788-Links.xsl 39 767 $vRelProp work
ConvSpec-760-788-Links.xsl 39 770 $vRelProp work
ConvSpec-760-788-Links.xsl 39 772 $vRelProp work
ConvSpec-760-788-Links.xsl 39 773 $vRelProp work
ConvSpec-760-788-Links.xsl 39 774 $vRelProp work
ConvSpec-760-788-Links.xsl 39 775 $vRelProp work
ConvSpec-760-788-Links.xsl 39 776 $vRelProp work
ConvSpec-760-788-Links.xsl 39 777 $vRelProp work
ConvSpec-760-788-Links.xsl 39 786 $vRelProp work
ConvSpec-760-788-Links.xsl 39 787 $vRelProp work

Round-trip cross-check vs bffi-to-marc

Compares each MARC tag the marc2bibframe2 XSLT reads against each MARC tag the BFFI → MARC reverse converter emits. Rows are grouped by verdict; within each group, controlfields come first, then leader, then datafields, alphabetical inside each.

Verdict legend:

  • ✓ round-trippable: both directions touch the tag and their subfield / indicator sets match.
  • ≠ asymmetric: both directions touch the tag, but the subfield-codes or indicator-values they read/emit differ.
  • → forward only: marc2bibframe2 reads the tag; the reverse converter never emits it. This is the "forward → reverse data loss" case — work to do on the reverse side.
  • ← reverse only: the reverse converter emits the tag; marc2bibframe2 doesn't read it. Often by design (reverse rebuilds from BFFI provenance metadata), occasionally suspicious.
MARC Verdict Forward modes Reverse emits Subfields forward-only Subfields reverse-only Subfields shared Indicator delta Notes
010 ≠ asymmetric instance $0 $2 $6 $b $c $d $q $y $z $a forward only: ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind2=#
015 ≠ asymmetric instance $0 $2 $6 $b $c $d $q $y $z $a forward only: ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind2=#
016 ≠ asymmetric instance $0 $2 $6 $b $c $d $q $y $z $a forward only: ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind2=#
017 ≠ asymmetric instance $0 $2 $6 $c $d $q $y $z $a $b forward only: ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind2=#
020 ≠ asymmetric instance $0 $2 $6 $b $c $d $y $z $a $q forward only: ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind2=#
022 ≠ asymmetric work $0 $2 $6 $b $c $d $l $m $q $y $z $a reverse only: ind2=#
023 ≠ asymmetric work $0 $2 $6 $b $c $d $q $y $z $a forward only: ind1=0
reverse only: ind2=#
024 ≠ asymmetric instance, work $0 $2 $6 $b $c $d $y $z $a $q forward only: ind1=#, ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind1=0-3, ind2=#
025 ≠ asymmetric instance $0 $2 $6 $b $c $d $q $y $z $a forward only: ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind2=#
026 ≠ asymmetric instance $2 $5 $6 $b $c $d $e $a
027 ≠ asymmetric instance $0 $2 $6 $b $c $d $q $y $z $a forward only: ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind2=#
028 ≠ asymmetric instance $0 $2 $6 $c $d $y $z $a $b $q forward only: ind1=#, ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind1=0-6, ind2=0-3
030 ≠ asymmetric instance $0 $2 $6 $b $c $d $q $y $z $a forward only: ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind2=#
032 ≠ asymmetric instance $0 $2 $6 $c $d $q $y $z $a $b forward only: ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind2=#
035 ≠ asymmetric instance $0 $2 $6 $b $c $d $q $y $z $a forward only: ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind2=#
037 ≠ asymmetric instance $3 $5 $6 $a $b $c $f $g $n forward only: ind1=2, ind1=3
reverse only: ind1=#, ind2=#
040 ≠ asymmetric adminmetadata $6 $b $e
041 ≠ asymmetric work $2 $3 $6 $a $h $i $j $k $m $n $p $q $r forward only: ind2=7
reverse only: ind1=#
042 ≠ asymmetric adminmetadata $6 $a
043 ≠ asymmetric work $0 $6 $b $c $a
045 ≠ asymmetric work $6 $a $b forward only: ind1=2
reverse only: ind1=#, ind2=#
046 ≠ asymmetric work $6 $k $l $m $n
050 ≠ asymmetric work $6 $b $2 $a forward only: ind1=0, ind1=1, ind2=0
reverse only: ind1=#
060 ≠ asymmetric work $6 $b $2 $a forward only: ind1=0, ind1=1, ind2=0
reverse only: ind1=#
070 ≠ asymmetric work $6 $b $2 $a forward only: ind1=0
reverse only: ind1=#, ind2=#
074 ≠ asymmetric instance $0 $2 $6 $b $c $d $q $y $z $a forward only: ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind2=#
080 ≠ asymmetric work $6 $b $x $2 $a forward only: ind1=0, ind1=1
reverse only: ind1=#, ind2=#
082 ≠ asymmetric work $1 $6 $b $q $2 $a forward only: ind1=0, ind1=1, ind2=0
reverse only: ind1=#
084 ≠ asymmetric work $6 $b $q $2 $a
086 ≠ asymmetric work $6 $b $z $2 $a forward only: ind1=0, ind1=1
reverse only: ind1=#, ind2=#
088 ≠ asymmetric instance $0 $2 $6 $b $c $d $q $y $z $a forward only: ind1=0, ind1=1, ind1=2, ind1=3, ind1=4, ind1=6, ind1=7
reverse only: ind2=#
100 ≠ asymmetric work $1 $6 $k $4 $a $b $c $d $e $g $t $0
110 ≠ asymmetric work $1 $6 $k $4 $a $b $c $d $e $g $t $0
111 ≠ asymmetric work $1 $6 $k $4 $a $b $c $d $e $g $t $0
130 ≠ asymmetric work $6 $a $d $g $l $n $p
210 ≠ asymmetric work $2 $6 $b $a forward only: ind2=0
reverse only: ind1=1
222 ≠ asymmetric work $6 $b $a
240 ≠ asymmetric work $6 $a $g $l $n $p $s
242 ≠ asymmetric instance $6 $b $n $p $a
243 ≠ asymmetric work $6 $a
245 ≠ asymmetric instance $6 $f $g $k $s $c $a $b $n $p
246 ≠ asymmetric t246Props $6 $b $f $i $n $p $a
247 ≠ asymmetric t247Props $6 $b $f $g $n $p $x $a
250 ≠ asymmetric instance $6 $b $a
257 ≠ asymmetric instance $6 $2 $a
260 ≠ asymmetric instance $6 $a $b $c
300 ≠ asymmetric instance $3 $6 $f $g $a $b $c $e
306 ≠ asymmetric instance $6 $a
310 ≠ asymmetric instance $0 $2 $6 $b $a
321 ≠ asymmetric instance $0 $2 $6 $b $a
334 ≠ asymmetric instance $2 $3 $6 $b $a
336 ≠ asymmetric work $6 $2 $3 $a $b
337 ≠ asymmetric instance $6 $2 $3 $a $b
338 ≠ asymmetric instance $6 $2 $3 $a $b
351 ≠ asymmetric work $6 $3 $a $b $c
353 ≠ asymmetric work $6 $0 $2 $a $b
370 ≠ asymmetric work $6 $c $2 $g
384 ≠ asymmetric work $6 $3 $a
500 ≠ asymmetric instance $5 $6 $a
501 ≠ asymmetric instance $5 $6 $a
502 ≠ asymmetric work $6 $b $c $d $g $o $a
504 ≠ asymmetric instance $6 $b $a
505 ≠ asymmetric work $6 $g $r $t $u $a forward only: ind1=1, ind1=2
reverse only: ind1=0, ind2=#
506 ≠ asymmetric instance $0 $2 $3 $5 $6 $b $c $d $e $f $g $q $u $a
507 ≠ asymmetric work $6 $b $a
513 ≠ asymmetric instance $5 $6 $a
515 ≠ asymmetric instance $5 $6 $a
516 ≠ asymmetric instance $5 $6 $a
518 ≠ asymmetric work $6 $3 $a $d $o $p
520 ≠ asymmetric work $3 $6 $b $c $u $a
521 ≠ asymmetric work $3 $6 $b $a forward only: ind1=0, ind1=1, ind1=2
reverse only: ind1=#, ind2=#
522 ≠ asymmetric work $6 $a
524 ≠ asymmetric instance $2 $3 $6 $a
525 ≠ asymmetric work $6 $a
530 ≠ asymmetric instance $5 $6 $a
532 ≠ asymmetric instance $3 $6 $a
533 ≠ asymmetric instance $5 $6 $a
534 ≠ asymmetric instance $5 $6 $c
536 ≠ asymmetric instance $5 $6 $a
538 ≠ asymmetric instance $3 $5 $6 $u $a
540 ≠ asymmetric instance $0 $2 $3 $5 $6 $c $d $f $g $q $u $a
541 ≠ asymmetric item $3 $5 $6 $b $c $d $e $f $h $n $o $a
544 ≠ asymmetric instance $5 $6 $a
545 ≠ asymmetric instance $5 $6 $a
546 ≠ asymmetric work $3 $6 $b $a
547 ≠ asymmetric instance $5 $6 $a
550 ≠ asymmetric instance $5 $6 $a
555 ≠ asymmetric instance $5 $6 $a
556 ≠ asymmetric instance $5 $6 $a
561 ≠ asymmetric instance $3 $5 $6 $a
563 ≠ asymmetric instance $3 $5 $6 $a
580 ≠ asymmetric relNote $6 $a
581 ≠ asymmetric instance $5 $6 $a
583 ≠ asymmetric instance $2 $3 $5 $6 $c $h $k $l $u $z $a
585 ≠ asymmetric instance $5 $6 $a
586 ≠ asymmetric work $3 $6 $a
587 ≠ asymmetric work $6 $b $u $a forward only: ind1=0
reverse only: ind2=#
588 ≠ asymmetric instance $5 $6 $a
600 ≠ asymmetric work $1 $6 $2 $a $c $d $t $0
610 ≠ asymmetric work $1 $6 $2 $a $c $d $t $0
611 ≠ asymmetric work $1 $6 $2 $a $c $d $t $0
630 ≠ asymmetric work $6 $0 $2 $a $c $d $t
647 ≠ asymmetric work $3 $5 $6 $g $v $w $x $y $z $c $d $t $0 $2 $a forward only: ind2=4, ind2=7
reverse only: ind2=#
648 ≠ asymmetric work $3 $5 $6 $g $v $w $x $y $z $c $d $t $0 $2 $a forward only: ind2=4, ind2=7
reverse only: ind2=#
650 ≠ asymmetric work $3 $5 $6 $g $v $w $x $y $z $c $d $t $0 $2 $a forward only: ind2=4, ind2=7
reverse only: ind2=#
651 ≠ asymmetric work $3 $5 $6 $g $v $w $x $y $z $c $d $t $0 $2 $a forward only: ind2=4, ind2=7
reverse only: ind2=#
653 ≠ asymmetric work $5 $6 $w $2 $c $d $t $0 $a forward only: ind2=1, ind2=2, ind2=3, ind2=4, ind2=5, ind2=6
reverse only: ind1=#, ind2=#
forward template uses dynamic xsl:element — comparison partial
655 ≠ asymmetric work $3 $5 $6 $g $v $w $x $y $z $c $d $t $0 $2 $a forward only: ind2=4, ind2=7
reverse only: ind2=#
662 ≠ asymmetric work $6 $b $f $g $h $w $t $0 $2 $a $c $d forward template uses dynamic xsl:element — comparison partial
700 ≠ asymmetric work $1 $5 $6 $4 $a $b $c $d $e $g $0 $t
710 ≠ asymmetric work $1 $5 $6 $4 $a $b $c $d $e $g $0 $t
711 ≠ asymmetric work $1 $5 $6 $4 $a $b $c $d $e $g $0 $t
730 ≠ asymmetric work $5 $6 $a $g $l $n $o $p $s $i forward only: ind2=2, ind2=4
reverse only: ind1=0
740 ≠ asymmetric work $5 $6 $a $n $p forward only: ind2=2
reverse only: ind1=0, ind2=#
762 ≠ asymmetric work $6 $8 $i $t $w $a forward only: ind2=0, ind2=1, ind2=4, ind2=5, ind2=6, ind2=7, ind2=8
reverse only: ind1=#, ind2=#
forward template uses dynamic xsl:element — comparison partial
765 ≠ asymmetric work $6 $8 $i $t $w $a forward only: ind2=0, ind2=1, ind2=4, ind2=5, ind2=6, ind2=7, ind2=8
reverse only: ind1=#, ind2=#
forward template uses dynamic xsl:element — comparison partial
767 ≠ asymmetric work $6 $8 $i $t $w $a forward only: ind2=0, ind2=1, ind2=4, ind2=5, ind2=6, ind2=7, ind2=8
reverse only: ind1=#, ind2=#
forward template uses dynamic xsl:element — comparison partial
770 ≠ asymmetric work $6 $8 $i $t $w $a forward only: ind2=0, ind2=1, ind2=4, ind2=5, ind2=6, ind2=7, ind2=8
reverse only: ind1=#, ind2=#
forward template uses dynamic xsl:element — comparison partial
772 ≠ asymmetric work $6 $8 $i $t $w $a forward only: ind2=0, ind2=1, ind2=4, ind2=5, ind2=6, ind2=7, ind2=8
reverse only: ind1=#, ind2=#
forward template uses dynamic xsl:element — comparison partial
773 ≠ asymmetric work $6 $8 $i $t $w $a forward only: ind2=0, ind2=1, ind2=4, ind2=5, ind2=6, ind2=7, ind2=8
reverse only: ind1=0, ind2=#
forward template uses dynamic xsl:element — comparison partial
774 ≠ asymmetric work $6 $8 $i $t $w $a forward only: ind2=0, ind2=1, ind2=4, ind2=5, ind2=6, ind2=7, ind2=8
reverse only: ind1=#, ind2=#
forward template uses dynamic xsl:element — comparison partial
775 ≠ asymmetric work $6 $8 $i $t $w $a forward only: ind2=0, ind2=1, ind2=4, ind2=5, ind2=6, ind2=7, ind2=8
reverse only: ind1=#, ind2=#
forward template uses dynamic xsl:element — comparison partial
776 ≠ asymmetric work $6 $8 $i $t $w $a forward only: ind2=0, ind2=1, ind2=4, ind2=5, ind2=6, ind2=7, ind2=8
reverse only: ind1=#, ind2=#
forward template uses dynamic xsl:element — comparison partial
777 ≠ asymmetric work $6 $8 $i $t $w $a forward only: ind2=0, ind2=1, ind2=4, ind2=5, ind2=6, ind2=7, ind2=8
reverse only: ind1=#, ind2=#
forward template uses dynamic xsl:element — comparison partial
786 ≠ asymmetric work $6 $8 $i $t $w $a forward only: ind2=0, ind2=1, ind2=4, ind2=5, ind2=6, ind2=7, ind2=8
reverse only: ind1=#, ind2=#
forward template uses dynamic xsl:element — comparison partial
787 ≠ asymmetric work $6 $8 $i $t $w $a forward only: ind2=0, ind2=1, ind2=4, ind2=5, ind2=6, ind2=7, ind2=8
reverse only: ind1=#, ind2=#
forward template uses dynamic xsl:element — comparison partial
856 ≠ asymmetric hasItem $6 $u
007 → forward only instance $c
008 → forward only instance
033 → forward only work $3 $6 $a $b $p
034 → forward only work $3 $6 $a $b $c $d $e $f $g
036 → forward only instance $0 $2 $6 $a $b $c $d $q $y $z
038 → forward only adminmetadata $6 $a
047 → forward only work $2 $6 $a
048 → forward only work $6 $a $b
051 → forward only item $a $b $c
052 → forward only work $6 $a $b
055 → forward only work $6 $a $b
072 → forward only work $2 $6 $a $x
254 → forward only instance $6 $a
255 → forward only work $6 $a $b $c $d $e $f $g
256 → forward only instance $6 $a
263 → forward only instance $6 $a
265 → forward only instance $6 $a
340 → forward only instance $2 $6 $a $b $c $d $e $f $g $i $j $k $l $m $n $o $q forward template uses dynamic xsl:element — comparison partial
341 → forward only work $2 $3 $6 $a $b $c $d $e
344 → forward only instance $6
345 → forward only instance $6
346 → forward only instance $6
347 → forward only instance $6
348 → forward only work $6
362 → forward only instance $6 $a
377 → forward only work $2 $3 $6 $a $l
380 → forward only work $6 $a
382 → forward only work $2 $3 $6
383 → forward only work $3 $6 $a $b $c $d $e forward template uses dynamic xsl:element — comparison partial
385 → forward only work $0 $2 $3 $6 $a $b $m $n forward template uses dynamic xsl:element — comparison partial
386 → forward only work $0 $2 $3 $6 $a $b $m $n forward template uses dynamic xsl:element — comparison partial
656 → forward only work $0 $2 $3 $6 $a $k $v $w $x $y $z
720 → forward only work $0 $1 $5 $6 $t
752 → forward only work $0 $2 $4 $6 $a $b $c $d $e $f $g $h $w forward template uses dynamic xsl:element — comparison partial
753 → forward only instance $2 $6 $a $b $c forward template uses dynamic xsl:element — comparison partial
758 → forward only work $0 $1 $4 $6 $a $i
760 → forward only work $6 $8 $a $i forward template uses dynamic xsl:element — comparison partial
859 → forward only hasItem $6
005 ← reverse only
490 ← reverse only $a $v
511 ← reverse only $a
800 ← reverse only $a $t $v
810 ← reverse only $a $b $n $t $v
811 ← reverse only $a $t $v
830 ← reverse only $a $n $v
880 ← reverse only $6 $a
001 ✓ round-trippable adminmetadata
leader ✓ round-trippable instance, mMaterialType008
352 ✓ round-trippable instance $6 $a $b $q

Generator metadata

Generated from third_party/marc2bibframe2/xsl/marc2bibframe2.xsl at commit ed9abb038214474e8fc8ba4035d01c42fe0246de. Parsed 24 modules, 333 templates, 168 unique MARC tags. 25 dynamic xsl:element constructor sites. Round-trip tallies: 3 round-trippable, 127 asymmetric, 38 forward-only, 8 reverse-only.


To regenerate this doc: bffi-pipeline regenerate-marc-to-bibframe-mapping. To guard CI against drift: bffi-pipeline regenerate-marc-to-bibframe-mapping --check.