Beschreibung des Algorithmus zur Berechnung der URN-Prüfziffer

Allgemeines

Der Algorithmus zur Bildung der Prüfziffer für eine URN des Namensraumes "nbn:de" bezieht sich auf den gesamten String:

urn:nbn:de:<snid1>-<snid2>-<niss>

Die Prüfziffer, im Folgenden "P" genannt, ist einstellig und wird unmittelbar nach dem letzten Zeichen einer URN positioniert.

urn:nbn:de:<snid1>-<snid2>-<niss>P

Der Zeichensatz der Prüfziffer umfasst die Zahlen Null bis Neun.

Konversionstabelle für Alphazeichen

In der folgenden Konkordanz werden alphanumerischen Zeichen numerische Werte zugeordnet. Dabei wurde das Auftreten der "Null" z.B. in 10, 20 etc. vermieden. Buchstaben, die häufig auftreten wie z.B. U, R, N etc. wurden mit niedrigen Zahlenwerten versehen.

Alphazeichen Numerischer Wert Alphazeichen Numerischer Wert
01 J25
12 K42
23 L26
34 M27
45 N13
56 O28
67 P29
78 Q31
89 R12
941 S32
A18 T33
B14 U11
C19 V34
D15 W35
E16 X36
F21 Y37
G22 Z38
H23 +49
I24 : (Doppelpunkt)17
_ (Unterstrich)43 - (Minus)39
. (Punkt)47 /45

Mathematischer Algorithmus zur Berechnung der URN-Prüfziffer

Zunächst wird der URN-String in eine Ziffernfolge konvertiert, bei der jedem Element der URN ein Zahlenwert zugewiesen wird. Die entsprechenden Ziffern gehen aus der Konkordanztabelle hervor.

Jede Zahl der Ziffernfolge wird einzeln von links nach rechts aufsteigend, beginnend mit 1 multipliziert, anschließend wird die Summe gebildet. Diese Produktsumme wird durch die letzte Zahl der URN-Ziffernfolge dividiert. Die letzte Zahl vor dem Komma des Quotienten ist die Prüfziffer.

Beispiel:

urn:nbn:de:gbv:089-332175294

Der String wird in die folgende Ziffernfolge konvertiert:

1112131713141317151617221434171941394432863415

Die Produktsumme (PS) ergibt sich wie folgt:

PS = 1*1 + 2*1 + 3*1 + 4*2 + 5*1 + 6*3 ... n*m

PS = 4027

Der Quotient (Q) ergibt sich durch die Division der Produktsumme (PS) mit der letzten Zahl der URN-Ziffernfolge:

Q = PS / 5

Q = 4027 / 5

Die letzte Ziffer des Quotienten (Q) vor dem Komma ist die Prüfziffer (PZ):

Q = 805,4

PZ = 5

Die URN zusammen mit der Prüfziffer hat folgende Syntax:

urn:nbn:de:gbv:089-3321752945