Skip to content

Cyrillux

nvolk edited this page Sep 25, 2024 · 1 revision

Cyrillux validator/fixer

Cyrillux is a validator/fixer that converts cyrillic input into ISO-9 and SFS-4900. It's is mainly used by https://github.com/NatLibFi/melinda-ui-cyrillux .

ISO-9 standard is mainly used by academic libraries. SFS-4900 is mainly used public libraries.

Validator is based on earlier work in https://github.com/NatLibFi/melinda-cyrillux .

Standard behaviour

Convert fields with cyrillic content to ISO-9, moves original convent to 880, and creates a corresponging SFS-4900 field as well.

100 $a Some text in Cyrillic

converts into

100 $6 880-01 $a Some text in ISO-9 $9 ISO9 <TRANS>
880 $6 100-01 $a Some text in Cyrillic $9 CYRILLIC <TRANS>
880 $6 100-01 $a Some text in SFS-4900 $9 SFS4900 <TRANS>

Support public library data: Add ISO-9 to SFS-4900 + Cyrillic fields pairs

If base field is in SFS-4900 and there's a corresponging cyrillic 880, convert base field to ISO-9 (based on cyrillic 880), and move original base field to 880. Such input data is often received from public libraries. Example:

100 $6 880-01 $a Some text in SFS-4900
880 $6 100-01 $a Some text in Cyrillic

changes to

100 $6 880-01 $a Some text in ISO-9 $9 ISO9 <TRANS>
880 $6 100-01 $a Some text in Cyrillic $9 CYRILLIC <TRANS>
880 $6 100-01 $a Some text in SFS-4900 $9 SFS4900 <TRANS>

Notes

If there are existing 880 $6 linkages in field, the system may not dare to process the given field. (Ye olde Cyrillux sometimes replaced existing information with new stuff, thus losing old relevant information.)

Validator supports optional config-parameter. Current self-explanatory default is:

{
  doISO9Transliteration: true, 
  doSFS4900Transliteration: true
}

We are thinking of adding tagPattern-parameter, so that conversion applies only to given tags.