gymel  | Beispiele  | RSWK-Kettenindex

Parameterbeispiel: Kettenindex

Im allegroStandardformat kommen Ketten in Kategorie #33 in folgender Form vor ($ hier stets als Teilfeldzeichen):
$t1 Kettenglied 1 $t2 Kettenglied 2 ... $Pp1 $Pp2 ...
Dabei sind t1 etc. die Typen der jeweiligen Kettenglieder (etwa g für Geographisches Schlagwort) und p1 etc. sind Permutationsmuster, dargestellt als Permutationen der Folge 123456789 (bzw. der kürzeren Teilfolge bis zur tatsächlichen Anzahl der Kettenglieder)

Im Beispielcode wird bei der Ausgabe des ersten Kettenglieds auch noch das Zielregister bestimmt: Vorgabe ist Register 3, für Personen und Körperschaften und Titel werden andere Register genommen, falls bei der Permutation ein solches Schlagwort vorne zu stehen kommt.

Der Aufruf erfolgt über ak-Zeilen für die "Grundkette" plus jedes Permutationsmuster einmal.

    Aufruf mit
ak=33."$P"+|      RSWK-Ketten

#-|
    #33er Ketten, etwa
    #330$sMinimal art$zGeschichte$fAufsatzsammlung$P213$P312
#u1 +- V3,A               % "Fremdschlagworte" nicht

#nr dcc p"x" e1 =pq
#u1 +#98y c"$" Z          % definitiv Grundkette
#ch +#98z c"$" Z          % Test auf unpermutierendes Einzel-SW
!u1 +# p{"|3"}            % Einzel-SW abfangen

#98z
!u1 +#98z f32 F32 =cc

#98y 
#nr p"123456789" e9 =cc   % Permutationsmuster 1:1 fuer die Grundkette

#98z
#ucc dpp e1 >| App
#ucc dpp b1 e1 >| App
#ucc dpp b2 e1 >| App
#ucc dpp b3 e1 >| App
#ucc dpp b4 e1 >| App
#ucc dpp b5 e1 >| App
#ucc dpp b6 e1 >| App
#ucc dpp b7 e1 >| App
#ucc dpp b8 e1 >| App
#ucc dpp b9 e1 >| App
#nr dpp dpt Z

 % Spielerei: Default-Formschlagwort anhaengen, falls kein Teilfeld $f
 #ch +# dcc $f Z
 !31f p" / "
#+#

#(|                                        % Unterprogramm
#ch dpt e"$P" ,"_/_$_" f"$" App          % Schlagwortkette anhaengen
#upp +#upq i4,1 y0 b1 e"$" =pt                                        (+#2)
#upp +#upq i4,2 b"$" e"$" =pt                                         (+#2)
#upp +#upq i4,3 b"$" b"$" e"$" =pt                                    (+#2)
#upp +#upq i4,4 b"$" b"$" b"$" e"$" =pt                               (+#2)
#upp +#upq i4,5 b"$" b"$" b"$" b"$" e"$" =pt                          (+#2)
#upp +#upq i4,6 b"$" b"$" b"$" b"$" b"$" e"$" =pt                     (+#2)
#upp +#upq i4,7 b"$" b"$" b"$" b"$" b"$" b"$" e"$" =pt                (+#2)
#upp +#upq i4,8 b"$" b"$" b"$" b"$" b"$" b"$" b"$" e"$" =pt           (+#2)
#upp +#upq i4,9 b"$" b"$" b"$" b"$" b"$" b"$" b"$" b"$" e"$" =pt      (+#2)

#upq +#98y dpq Z          % aha: erstes Mal
#upt p{" / "} Z           % sonst weitere Glieder mit / anhaengen...
#nr +#98z Z
  % Schon wieder das Register bestimmen...
#98y

  % folgende Tests raus, falls reiner Kettenindex gewuenscht
#upt +#98z i4,p p{"|1"} Z      % Person nach Register 1
 % aktivieren, falls diese KS auch ins KS-Register sollen (vgl. #31c)
 #upt +#98z i4,c p{"|2"} Z      % Koerperschaft nach Ort
#upt +#98z i4,k p{"|2"} Z      % Koerperschaft nach Ansetzung
#upt +#98z i4,t p{"|4"} Z      % Titelschlagwort

#t{"|3"}       % Standardregister

#98z
#upt dpt y0 b1 f32 F32 apt
!upt u         % hier Ausgabe eines Kettenglieds
#)|
submit bugs here