[Isis-users] Fw: Splitting a Field

spinaker spinaker at adinet.com.uy
Thu Oct 28 12:56:19 CEST 2021


Dear Amjad
if you achieve the goal, okay
good luck
Cheers
Ernesto Spinak

El 28/10/2021 a las 6:59, Egbert De Smet escribió:
>
> Hello,
>
>
> it is difficult to check this as I don't have test-data in JISIS 
> available. Using a reformatting FST is a good idea which I didn't 
> think off myself...
>
> Seeing that the same grammar can be used (e1, s1 etc.) as in the 
> CISIS-procs is interesting also.
>
> So if you think your results are o.k., I am sure they will be o.k. as 
> it can easily be checked visually.
>
>
> By the way, if you put the 'proc' I sent you in between brackets from 
> line 2 on (so after the deletion of the existing field in the output 
> record) to make it repeatable, my test on a record with 2 occurrences 
> of the field shows it works perfectly well. So I can still do the 
> process on your ISO2709 exported data, if you want.
>
> If you have your JISIS-data then also exported as ISO2709 we could 
> compare the output to make sure it is the same.
>
>
> Egbert de Smet
> Universiteit Antwerpen
>
>
> ------------------------------------------------------------------------
> *From:* Amjad Ali Malik <amjadalimalik66 at hotmail.com>
> *Sent:* Wednesday, October 27, 2021 6:37 PM
> *To:* Egbert De Smet
> *Subject:* Re: [Isis-users] Fw: Splitting a Field
> CAUTION: This email originated from outside of the organization. Do 
> not click links or open attachments unless you recognize the sender 
> and know the content is safe.
>
> Dear Egbert & Ernesto,
>
> Thank you for your response.
>
> I have tested your solution but function returned fatal error, hence 
> this code led me to solve the problem. I walked on your foot steps and 
> succeeded in making a "reformatting fst" using your code. Now you 
> check my solution weather this is correct or not.
>
> Problem:Tag v810, have data stored through circulation that is 
> *_Repeatable_*, this data is stored as
>
>         Unformatted àv810 = ^m253;13;2;Oct 2018^i13-10-2019
>
>
> Required:
>
>         Formatted àv810 = ^m253^v13^n2^dOct 2018^i13-10-2019
>
>
> I used this reformatting fst to export data from JISIS, FST is as
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <fst storeRecordInIndex="1" makeCatchallField="1">
>
> <fstentry id="20" name="" technique="0">
>
> <pft>
>
> <![CDATA[v20]]>
>
> </pft>
>
> </fstentry>
>
> <fstentry id="800" name="" technique="0">
>
> <pft>
>
> <![CDATA[(v800/)]]>
>
> </pft>
>
> </fstentry>
>
> <fstentry id="810" name="" technique="0">
>
> <pft>
>
> <![CDATA[(e1:=1, e2:=nocc(v810), while e1<=e2
>
> (
>
> s1:=(s(v810[e1])),
>
> e3:=size(s1),
>
> e4:=1,
>
> s2:=(''),
>
> while e4<=e3
>
> (
>
> if mid(s1;e4;1) : s(';') then
>
> if s2 : '^n' then s2:=(s2,'^d'),
>
> else
>
> if s(s2) : '^v' then s2:=(s2,'^n'),
>
> elses2:=(s2,'^v'),
>
> fi,
>
> fi,
>
> else s2:=(s2,mid(s1;e4;1)),
>
> fi,
>
> e4:=e4+1,
>
> )
>
> s2/
>
> e1:=e1+1
>
> ))]]>
>
> </pft>
>
> </fstentry>
>
> </fst>
>
>
> Please check my solution. I think that process returned me desired 
> results but your authenticity will confirm validity.
>
> Regards
>
> Amjad Ali Malik
> ------------------------------------------------------------------------
> *From:* isis-users 
> <isis-users-bounces+amjadalimalik66=hotmail.com at iccisis.org> on behalf 
> of Egbert De Smet <egbert.desmet at uantwerpen.be>
> *Sent:* Wednesday, October 27, 2021 4:28 PM
> *To:* Lista Isis <isis-users at iccisis.org>; spinaker at adinet.com.uy 
> <spinaker at adinet.com.uy>
> *Subject:* Re: [Isis-users] Fw: Splitting a Field
>
> OK, it wasn't mentioned I think whether or not the v10 is repeatable.
>
> I think you can put the whole proc-code just in between brackets ( and 
> )  to make it work on a repeatable field, but I don't have test-data 
> with such repeated field immediately ready. With the brackets it still 
> works o.k. on a single field occurrence.
>
>
> Egbert de Smet
> Universiteit Antwerpen
>
>
> ------------------------------------------------------------------------
> *From:* spinaker <spinaker at adinet.com.uy>
> *Sent:* Wednesday, October 27, 2021 1:10 PM
> *To:* Egbert De Smet; Lista Isis
> *Subject:* Re: [Isis-users] Fw: Splitting a Field
> CAUTION: This email originated from outside of the organization. Do 
> not click links or open attachments unless you recognize the sender 
> and know the content is safe.
>
> Egbert
>
> your solution could work, but there is  another problem to take care
> that field v10 is repeatable
> therefore the problem is to implement repeatable loops into repeatable 
> fields
>
> but this solution can be a begining
> regard
> Ernesto
>
>
> El 27/10/2021 a las 3:47, Egbert De Smet escribió:
>>
>> [forwarded]
>>
>>
>> Hi,
>>
>>
>> if you are prepared to apply the modifications in a terminal window, 
>> you could use a 'proc' parameter with the CISIS-executable 'mx'.
>>
>> For both the WinISIS and the JISIS data you would first have to 
>> export them to an ISO-format, the resulting records can be exported 
>> in their turn to ISO again and then imported in either WinISIS or JISIS.
>>
>>
>> So, starting from an ISO2709 export of your data, in a terminal 
>> window you have to issue the following commands, with the 
>> mx-executable (available in the cgi-bin folder of ABCD or from other 
>> sources) available in the work-folder where you have the ISO-export 
>> named 'before.iso' :
>>
>> mx iso=before iso create=before now -all
>>
>> mx before proc=@replacesf.proc <mailto:proc=@replacesf.proc> 
>> create=after now -all
>>
>> mx after iso=after.iso now -all
>>
>>
>> Then the file 'after.iso' is the result and these records can be 
>> imported into your database.
>>
>>
>> The actual trick is in the process (proc) which is executed by mx and 
>> listed here :
>>
>> ======
>> 'd10',
>>      s1:=(s(v10)),
>>      e1:=size(s1),
>>      e2:=1,
>>      s2:=(''),
>> /* sequence of subfields : vdpk */
>>      while e2<=e1
>>      (
>>       if mid(s1,e2,1) : s(';') then
>>        if s2 : '^p' then s2:=(s2,'^k') else
>>         if s2 : '^d' then s2:=(s2,'^p') else
>>          if s(s2) : '^v' then s2:=(s2,'^d') else
>>           s2:=(s2,'^v'),
>>          fi,
>>         fi,
>>        fi,
>>       else s2:=(s2,mid(s1,e2,1)),
>>       fi,
>>      e2:=e2+1,
>>      )
>>    '<10>',s2,'</10>',
>> =====
>>
>> Copy/paste this code into a file 'replacesf.proc' and put it in the 
>> same work-folder.
>> If you feel it being too complicated, send me the ISO-export of your 
>> data and I can do it (in fact in a few seconds time...).
>>
>>
>> Egbert de Smet
>> Universiteit Antwerpen
>>
>>
>> ------------------------------------------------------------------------
>> *From:* Amjad Ali Malik <amjadalimalik66 at hotmail.com> 
>> <mailto:amjadalimalik66 at hotmail.com>
>> *Sent:* Tuesday, October 26, 2021 5:27 PM
>> *To:* Egbert De Smet
>> *Subject:* Re: Splitting a Field
>> CAUTION: This email originated from outside of the organization. Do 
>> not click links or open attachments unless you recognize the sender 
>> and know the content is safe.
>>
>> Dear Egbert,
>> The sequence of subfields is fixed, The ';' is need to be replaced 
>> with any subfield character(s) in an algorithm sequentially 1st, 2nd 
>> , 3rd..... & I am using Winisis & JISIS
>> Regards
>> ------------------------------------------------------------------------
>> *From:* Egbert De Smet <egbert.desmet at uantwerpen.be> 
>> <mailto:egbert.desmet at uantwerpen.be>
>> *Sent:* Tuesday, October 26, 2021 6:44 PM
>> *To:* Amjad Ali Malik <amjadalimalik66 at hotmail.com> 
>> <mailto:amjadalimalik66 at hotmail.com>; isis-users at iccisis.org 
>> <mailto:isis-users at iccisis.org> <isis-users at iccisis.org> 
>> <mailto:isis-users at iccisis.org>
>> *Subject:* Re: Splitting a Field
>>
>> Hi,
>>
>>
>> the problem I see is how to do this if the sequence of subfields is 
>> not fixed : how do we know which ';' to replace by which subfield 
>> 'vdpk' ?
>>
>> I can imagine it is possible if the sequence is fixed, but if it is 
>> not no way to do it. In principle in ISIS the sequence of subfields 
>> is not by definition fixed, e.g. ^b can come before ^a etc.
>>
>> In ABCD there is in the FDT a column 'pre-literals' which is meant to 
>> match a separator in some input string to subfields. But again the 
>> sequence will need to be fixed.
>>
>> Egbert de Smet
>> Universiteit Antwerpen
>>
>>
>> ------------------------------------------------------------------------
>> *From:* isis-users 
>> <isis-users-bounces+egbert.desmet=ua.ac.be at iccisis.org> 
>> <mailto:isis-users-bounces+egbert.desmet=ua.ac.be at iccisis.org> on 
>> behalf of Amjad Ali Malik <amjadalimalik66 at hotmail.com> 
>> <mailto:amjadalimalik66 at hotmail.com>
>> *Sent:* Tuesday, October 26, 2021 3:25 PM
>> *To:* isis-users at iccisis.org <mailto:isis-users at iccisis.org>
>> *Subject:* [Isis-users] Splitting a Field
>> CAUTION: This email originated from outside of the organization. Do 
>> not click links or open attachments unless you recognize the sender 
>> and know the content is safe.
>>
>> Dear Experts,
>>
>> I want to split a field into subfields having data stored as
>>
>>  Source -->*v10 = ^m256;12;103;;^i10242020*
>>
>> Target -->*v10 = ^m256^v12^d103^p^k^i10242020*
>>
>> How it will be accomplished.
>>
>> Regards
>> Amjad Ali Malik
>>
>> _______________________________________________
>> isis-users mailing list
>> isis-users at iccisis.org  <mailto:isis-users at iccisis.org>
>> To manage your own subscription options go to:http://lists.iccisis.org/listinfo/isis-users  <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.iccisis.org%2Flistinfo%2Fisis-users&data=04%7C01%7Cegbert.desmet%40uantwerpen.be%7C97fb0415786d4ae4a4ef08d999681e49%7C792e08fb2d544a8eaf72202548136ef6%7C0%7C0%7C637709494901434831%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=8bd28lgLACW61bOdIE7aPnER21%2FF4FuC7Mueo2eY%2B4I%3D&reserved=0>
>> Or contact Henk Rutten:hlrutten at xs4all.nl  <mailto:hlrutten at xs4all.nl>
>
>
> -- 
>    .^.                                .^.
>    ( )                                ( )
>    ===                                ===
>   =[=]================================[=]=
>    | |  Ernesto Spinak                | |
>    | |spinaker at adinet.com.uy  <mailto:spinaker at adinet.com.uy>         | |
>    | |  Montevideo, Uruguay           | |
>    | |  tel/fax  (598) 2622-3352      | |
>    | |  celular  (598) 99612238      | |
>   =[=]================================[=]=
>    ===                                ===
>    ( )                                ( )
>     V                                  V


-- 
   .^.                                .^.
   ( )                                ( )
   ===                                ===
  =[=]================================[=]=
   | |  Ernesto Spinak                | |
   | |spinaker at adinet.com.uy         | |
   | |  Montevideo, Uruguay           | |
   | |  tel/fax  (598) 2622-3352      | |
   | |  celular  (598) 99612238      | |
  =[=]================================[=]=
   ===                                ===
   ( )                                ( )
    V                                  V
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.iccisis.org/pipermail/isis-users/attachments/20211028/8526dbd4/attachment.html>


More information about the isis-users mailing list