[Allegro] Vorschlag f"ur neuen Abschnitt #-A in cat.api

Heinrich Allers allers at t-online.de
Mo Jun 5 00:17:14 CEST 2006


Die neuen Regeln für die Anwendung der neuen 13-stelligen ISBN:
http://www.german-isbn.de/isbn_frame.html (weniger als 7 Monate sind 
es noch hin ...) wollen am liebsten, so scheint es mir, die "alte" 10-
stellige ISBN vollkommen vergessen machen. Na, wieweit man sich 
darauf in der Anzeige der bibliographischen Daten einlassen wird, das 
bleibt abzuwarten und darüber wird vielleicht auch noch ein Wörtchen 
zu reden sein! 

Aber umgekehrt,  gegen die Forderung nach Such- und Findbarkeit auch 
_alter_ ISBNs unter ihrer neuen Form, mit einem vorangestellten 
"978-" und neuer Prüfziffer, wird sich kaum etwas sagen lassen.

Vor diesem Hintergrund (und dem meiner Nachricht an die Allegro-Liste 
von vorhin) mache ich der Entwicklungsabteilung den Vorschlag, den 
Abschnitt #-A der cat.api nach dem folgenden Muster neuzugestalten:


#-A    ISBN
!u1 +#87x x"*1" x"==978" e0
!u1 +#87x x"*1" x"==979" e0
!u1 e13 p"|9i"
   ISBN-13-Einschub / Anfang
#u1 y0 e13 dpn =pn e0
#upn y0 "978" ,"_-__" =pn e0
  Eingang: #upn, 12 Stellen plus alte (ISBN-10-)Prüfziffer
  Ausgang: #ubp = errechnete ISBN-13-Prüfziffer
#us1 ds1 e0 0 #zz 0
#us2 ds2 e0 0 #zz 0
#us3 ds3 e0 0 #zz 0
#us4 ds4 e0 0 #zz 0
#us5 ds5 e0 0 #zz 0
#us6 ds6 e0 0 #zz 0
#us7 ds7 e0 0 #zz 0
#us8 ds8 e0 0 #zz 0
#us9 ds9 e0 0 #zz 0
#us0 ds0 e0 0 #zz 0
#usa dsa e0 0 #zz 0
#usb dsb e0 0 #zz 0
  Alle betroffenen #us? sind jetzt gelöscht worden und
  können nach der ISBN-13-Prüfziffervorschrift belegt werden:
#upn e1 x"*1" =s1 e0 0 #zz 0      + 1. x 1
#upn b1 e1 x"*3" =s2 e0 0 #zz 0   + 2. x 3
#upn b2 e1 x"*1" =s3 e0 0 #zz 0   + 3. x 1
#upn b3 e1 x"*3" =s4 e0 0 #zz 0   + 4. x 3
#upn b4 e1 x"*1" =s5 e0 0 #zz 0   + 5. x 1
#upn b5 e1 x"*3" =s6 e0 0 #zz 0   + 6. x 3
#upn b6 e1 x"*1" =s7 e0 0 #zz 0   + 7. x 1
#upn b7 e1 x"*3" =s8 e0 0 #zz 0   + 8. x 3
#upn b8 e1 x"*1" =s9 e0 0 #zz 0   + 9. x 1
#upn b9 e1 x"*3" =s0 e0 0 #zz 0   + 10. x 3
#upn b10 e1 x"*1" =sa e0 0 #zz 0  + 11. x 1
#upn b11 e1 x"*3" =sb e0 0 #zz 0  + 12. x 3
  Prüfzifferermittlung nach Rezept ISBN-13:
#dt x"*0" =su e0 0 #zz 0
#usu x"+s1" x"+s2" x"+s3" x"+s4" x"+s5" x"+s6" =su e0 0 #zz 0
#usu x"+s7" x"+s8" x"+s9" x"+s0" x"+sa" x"+sb" =su e0 0 #zz 0
#ubp dbp e0 0 #zz 0
#usu x"r0" x"%10" x"r0" =bp e0 0 #zz 0
#usu x"=10" x"-bp" x"r0" =bp e0 0 #zz 0
#ubp x"==10" x"=0" x"r0" =bp e0
  ### Damit ist die ISBN-13-Prüfziffer als #ubp bekannt!
!u1 "978-" e17 t"-" { 8 "|9i" }
#ubp "-"
   ISBN-13-Einschub / Ende
#+#
#87x
!u1 e17 p"|9i"
#+#


In der Hoffnung, mich nicht doch an irgendeinem Punkt des 
Berechnungsalgorithmus vertan zu haben, grüßt:

Heinrich Allers

allers at t-online.de * http://www.h-allers.de
* Ich bin ein Integrationsverweigerer! *





Mehr Informationen über die Mailingliste Allegro