-
Notifications
You must be signed in to change notification settings - Fork 34
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
Incompatible StreamReceiver output by marc modules due to inconsistent leader handling #454
Comments
decode-marc21
and handle-marc-xml
decode-marc21
, handle-marc-xml
, encode-marc21
and encode-marcxml
I would suggest the following changes:
|
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as duplicate.
This comment was marked as duplicate.
Also docu states wrongly: metafacture-core/metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Encoder.java Lines 56 to 57 in 2cec789
|
decode-marc21
, handle-marc-xml
, encode-marc21
and encode-marcxml
@dr0i as we talked about with I.W. transformation marc21 -> marcxml is needed. |
I try to condense the issues. a) marc21 -> marc21 works ( just do For c) we have to think about a solution: The We could solve c) by: I think cb) would be the best , because as a sideeffect we wouldn't need to tell in a) |
I think we touch reasons for the change of handling of the leader here #524. Changes in the records when transforming marc21->marc21 (XML and binary) also need changes in the leader since part of the leader are generated based on the number of signs, indicators, elements, subfields. Otherwise the leader and the record are not valid. |
Note: went with cb) as fix. |
While the documentation of encode-marc21 states that it is compatible with the output of
handle-marc-xml
anddecode-marc21
, this is not factual due to inconsistent leader handling bydecode-marc21
,handle-marc-xml
,encode-marc21
andencode-marcxml
.e.g.: We cannot transform marc21-> marcxml or the other way around. even marc21 -> marc21 is not so easy. See here This creates the same error as if it would process marc-xml.
Functional review: @TobiasNx
Code review: @blackwinter
Behaviour of Flux-Modules:
decode-marc21
changes the leader to their specific function of the position:
See here
with option
emitleaderaswhow="true"
the leader-element is an toplevel and sublevel fieldSee here
handle-marc-xml
keeps the leader as an own field:See here:
encode-marcxml
can handle the result ofdecode-marc21(emitleaderaswhole="true")
but cannot if the leader is ommited in multiple fields results in leader with multiple fields.Then re result looks like this:
It seems that there is no control if there is only one leader.
encode-marc21
cannot handle data fromhandle-marcxml
: seeError is:
Also not from
decode-marc21(emitleaderaswhole="true")
seeThe error is:
So besides inconsistencies it is difficult to transform marc21-> marcxml or the other way around. even marc21 -> marc21 is not so easy. See here This creates the same error as if it would process marc-xml.
The text was updated successfully, but these errors were encountered: