Menü

ISBN und ISSN Prüfziffern: das letzte Zeichen von Buch- und Seriennummern

Die ISBN und ISSN Prüfziffern schließen zwei Familien von Buch- und Serienkennungen ab. Die Regeln ähneln sich, die Längen unterscheiden sich, und ein System kann mit dem Buchstaben X enden.

Veröffentlicht am

  • Validierung
  • Prüfziffer
  • Verlagswesen

Bücher und fortlaufende Werke tragen Kennungen, die wie Cousins aussehen und sich wie Verwandte mit unterschiedlichen Gewohnheiten verhalten. Beide enden mit einem Zeichen, das aus den Zeichen davor berechnet wird, sodass sich beide offline prüfen lassen; die Buchkennung hat im Lauf ihrer Geschichte zwei Längen durchlaufen, während die Serienkennung eine kürzere, feste Form beibehalten hat.

Interessant ist dabei nicht die Arithmetik, die demselben gewichteten Summenmuster folgt wie anderswo, sondern der Umgang mit der Eingabe. Druckwerke, Kataloge und Bibliothekssysteme setzen Satzzeichen in diesen Nummern uneinheitlich, und der Buchstabe, der in der letzten Position auftreten kann, bringt jede Routine zu Fall, die nur Ziffern annimmt.

Wie werden die Prüfziffern von ISBN und ISSN berechnet?

Der Mechanismus ist der bekannte. Jedes Zeichen des Rumpfes erhält ein von seiner Position abhängiges Gewicht, die gewichteten Werte werden addiert, und die Summe wird auf ein einzelnes abschließendes Zeichen reduziert. Ein Code ist in sich stimmig, wenn dieses Zeichen mit dem übereinstimmt, was der Rumpf ergibt.

Was sich von der Barcode-Arithmetik unterscheidet, ist das Alphabet. Der Rumpf einer Buchnummer kann durchweg aus Ziffern bestehen, doch das abschließende Zeichen ist nicht auf die Ziffern null bis neun beschränkt; eine dieser Kennungsfamilien hält einen Buchstaben für den Fall bereit, dass die schlichte Arithmetik einen Wert hinterlässt, den eine Ziffer nicht ausdrücken kann. Dieses eine Zeichen genügt, um eine Umsetzung zu brechen, die solche Werte durch ein Ganzzahlfeld leitet.

Keine der beiden Familien sollte erst am Ende einer Verarbeitungskette geprüft werden. Diese Kennungen werden von Hand von der Rückseite eines Titelblatts abgeschrieben, aus Lieferantentabellen eingefügt und in Bibliotheksoberflächen eingetippt, und jeder dieser Schritte ist eine Stelle, an der sich eine Ziffer ändern kann, ohne dass sich die Form ändert.

Die in diesem Beitrag genannten Werte werden über ihre Regeln beschrieben und nicht zitiert. Keine echte Buch- oder Seriennummer wird wiedergegeben, und eine beschriebene Regel sagt nichts darüber aus, ob eine bestimmte Veröffentlichung existiert.

Die zwei Buchnummernsysteme und ihre Unterschiede

Die Buchkennung hat einen Generationswechsel durchgemacht. Die ältere Form ist die kürzere; die heutige Form ist länger, und die zusätzlichen führenden Positionen schaffen Platz für einen viel größeren Katalog, seit das Verlagswesen gewachsen ist.

Eigenschaft Kürzere Buchform Längere Buchform
Rumpflänge Weniger Positionen Mehr Positionen
Führende Positionen Trägt eine kleinere registrierte Gruppe Mit einer festen Kennung vorangestellt
Prüfzeichen Ein abschließendes Zeichen Ein abschließendes Zeichen
Verhältnis Begegnet noch auf älteren Beständen Standard für neue Veröffentlichungen

Beide Formen sind weiterhin im Umlauf. Ein Laden mit Gebrauchtware, eine Bibliothek mit älteren Zugängen und ein Importeur, der gemischte Paletten erhält, treffen alle auf die kürzere Form, und eine Routine, die nur die heutige Länge kennt, weist einwandfreies Material zurück.

Die Serienkennung ist eine getrennte Familie mit eigener, kürzerer und fester Form. Sie ist keine Buchnummer mit entfernten Positionen; ihre Arithmetik und ihre Gewichtung gehören zum Serienschema, und wer die eine als Kürzung der anderen behandelt, erhält Prüfzeichen, die nie übereinstimmen.

Wenn das Prüfzeichen der Buchstabe X ist

Der Buchstabe erscheint wegen des Moduls. Wer durch eine Zahl größer als zehn teilt, kann einen Rest erhalten, den keine einzelne Ziffer tragen kann. Statt diesen Rest zu verwerfen oder ihn in den zulässigen Bereich zu verschieben und die Unterscheidung zu verlieren, reserviert das Schema einen Buchstaben dafür.

Drei praktische Folgen ergeben sich daraus. Ein Prüfer muss den Buchstaben in der letzten Position annehmen, und nur dort, sodass ein Rumpf mit Buchstaben am Zeichensatz scheitert, während ein abschließender Buchstabe zulässig ist. Jeder Auswertungsschritt, der Ziffern annimmt, muss für dieses eine Feld gelockert werden. Und der Buchstabe hat eine einzige Schreibweise, da die Regel seine Form festlegt; die Schreibweise zuerst zu vereinheitlichen bleibt richtig, doch die Zuordnung muss auf der Form landen, die das Schema definiert.

Die Speicherung ist hier der stille Fehlerfall. Eine Ganzzahlspalte kann keinen Buchstaben halten, und eine Routine, die vor der Prüfung alle Nichtziffern entfernt, löscht genau das Zeichen, das sie prüfen soll. Kennungen von Anfang an in einem Textfeld zu halten erspart später eine unangenehme Migration.

Warum Bindestriche vor der Prüfung entfernt werden müssen

Diese Nummern werden in Gruppen gedruckt, und wo die Bindestriche fallen, ist eine Frage der Darstellung, die sich zwischen Verlagen, Systemen und Ländern unterscheidet. Die Gruppierung gehört nicht zur Kennung, und sie ist für dieselbe Nummer nicht überall gleich.

Weil die Gruppen wandern, scheitert jede Prüfung, die die Zeichenkette so verbraucht, wie sie gedruckt ist, auf unvorhersehbare Weise. Die Regel lautet: zuerst normalisieren, also Trennzeichen entfernen, umgebenden Leerraum beseitigen, die Schreibweise vereinheitlichen, und erst dann Zeichensatz, Länge und abschließendes Zeichen prüfen.

Deshalb sollte ein Prüfer auch die ursprüngliche Zeichenkette neben der normalisierten aufbewahren. Das Original ist das, was die Nutzerin von der Seite abgelesen hat, und es ist das, womit sie vergleicht, wenn die Eingabe sich als falsch erweist. Die Kette, die für die allgemeine Nummernprüfung beschrieben wird, macht denselben Punkt: Die Trennung von Darstellung und Inhalt kommt vor jeder Arithmetik.

Warum sollte ein neu nummerierter Titel unter beiden Nummern geprüft werden?

Weil eine Veröffentlichung, die den Systemwechsel überspannt, rechtmäßig zwei Kennungen tragen kann, und beide irgendwo in der Kette noch in Gebrauch sein können. Ein Katalogdatensatz, der vor dem Wechsel entstand, kann die kürzere Form halten, während die aktuelle Liste eines Lieferanten die längere führt; ein System, das nur eine davon versteht, meldet eine Abweichung, die es nicht gibt.

Der Umgang damit ist ein Zuordnungsproblem und kein arithmetisches. Beide Formen korrekt zu prüfen sagt, dass jede Zeichenkette in sich stimmig ist; es sagt nicht, dass die beiden Zeichenketten denselben Titel beschreiben. Diese Aussage verlangt eine Zuordnung, die von der Stelle gepflegt wird, die die Nummern vergeben hat, und eine Zuordnung durch Streichen von Positionen zu erfinden ist ein zuverlässiger Weg, zwei unverwandte Titel zu verschmelzen.

Das Muster lässt sich auf jede neu ausgegebene Kennung übertragen. Wenn ein Schema seine Länge, seine Prüfregel oder seine Zuteilung ändert, ist mit einer Phase zu rechnen, in der beide Generationen leben; entwerfen Sie das Datenmodell für zwei Werte statt für einen.

Für Entwickler: Normalisierung und Fehlermeldungen

Eine kurze Liste von Entscheidungen deckt den größten Teil des Ärgers ab, den diese Schemata verursachen.

  1. Normalisieren Sie, indem Sie Trennzeichen entfernen und die Schreibweise vereinheitlichen, und prüfen Sie dann das zulässige Alphabet einschließlich eines erlaubten abschließenden Buchstabens.
  2. Wählen Sie die Regel anhand der Ziffernzahl und halten Sie die Regeln für beide Buchlängen und für Serien getrennt.
  3. Geben Sie eine Meldung zurück, die benennt, welche Regel angewandt wurde, damit jemand, der die falsche Art Nummer eingefügt hat, das erkennen kann.
  4. Speichern Sie Kennungen überall als Text, auch in Datenbankspalten und Suchindizes.
  5. Zeigen Sie bei einem Fehlschlag die normalisierte Form, gegen die Sie geprüft haben, denn genau die hat die Arithmetik gesehen.

Die Arithmetik selbst gehört zu derselben modulbasierten Familie wie die in der Übersicht der Prüfziffernverfahren verglichenen Verfahren, doch das Alphabet und die Regel zum abschließenden Buchstaben machen diese Schemata zu den unangenehmen Mitgliedern. Barcodes, die dasselbe Lager- oder Bibliothekssystem oft daneben verarbeitet, behandelt der Beitrag zu EAN und UPC Prüfziffern.

Nächste Schritte

Nehmen Sie je einen Wert aus beiden Generationen der Buchnummer und eine Seriennummer und bestätigen Sie, dass Ihre Routine alle drei nach der Normalisierung annimmt und jede zurückweist, sobald sich ein einzelnes inneres Zeichen ändert. Das Werkzeug zur Nummernprüfung zeigt die Formulierung der Urteile, und es lohnt sich zu kontrollieren, dass Ihre Oberfläche eine Formatabweichung von einer gescheiterten Prüfziffernprobe unterscheidet.

Weiterlesen

Artikel zu Prüfer für Kreditkarten- und SSN-Nummern