diff --git a/Changes b/Changes
index 22e1b4a..9c1efe6 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,7 @@
 0.57 2024-07-25
         - Support award notes in i5.
+        - Add support for idno (with @rend) in i5.
+        - Add support for ISBN in i5.
 
 0.56 2024-06-05
         - Add support für corpusexplorer.
diff --git a/lib/KorAP/XML/Meta/I5.pm b/lib/KorAP/XML/Meta/I5.pm
index 66765de..36598fd 100644
--- a/lib/KorAP/XML/Meta/I5.pm
+++ b/lib/KorAP/XML/Meta/I5.pm
@@ -454,15 +454,41 @@
       $self->{A_file_edition_statement} = $temp2 if $temp2;
     };
 
-    if (my $availability = $temp->at('publicationStmt > availability')) {
-      $temp2 = _squish $availability->all_text;
-      $self->{S_availability} = $temp2 if $temp2;
-    };
+    if (my $pubstatement = $temp->at('publicationStmt')) {
 
-    if (my $distributor = $temp->at('publicationStmt > distributor')) {
-      $temp2 = _squish $distributor->all_text;
-      $self->{A_distributor} = $temp2 if $temp2;
-    }
+      if (my $availability = $pubstatement->at('> availability')) {
+        $temp2 = _squish $availability->all_text;
+        $self->{S_availability} = $temp2 if $temp2;
+      };
+
+      if (my $distributor = $pubstatement->at('> distributor')) {
+        $temp2 = _squish $distributor->all_text;
+        $self->{A_distributor} = $temp2 if $temp2;
+      };
+
+      $pubstatement->find('> idno')->each(
+        sub {
+          return unless $_->attr('type');
+          if ($_->attr('type') eq 'ISBN') {
+            $temp2 = _squish $_->all_text or return;
+            $self->{S_ISBN} = $temp2 if $temp2;
+          }
+
+          # When an idno has a rend, render value as a link
+          elsif (my $rend = $_->attr('rend')) {
+            $temp2 = _squish $_->all_text or return;
+            my ($key, $title) = split(';', $_->attr('rend'), 2);
+
+            if ($_->attr('type') eq 'URL' || $_->attr('type') eq 'URI') {
+              $self->{'A_' . $key} = $self->korap_data_uri($temp2, title => $title // $temp2);
+            }
+            else {
+              $self->{'A_' . $key} = $temp2;
+            }
+          }
+        }
+      );
+    };
   };
 
   if ($temp = $dom->at('profileDesc > langUsage > language[id]')) {
@@ -625,6 +651,8 @@
   fileDesc editionStmt                         fileEditionStatement  ATTACHMENT
   fileDesc publicationStmt > availability      availability          STRING
   fileDesc publicationStmt > distributor       distributor           ATTACHMENT
+  fileDesc publicationStmt > idno[type=ISBN]   isbn                  STRING
+  fileDesc publicationStmt > idno              @rend[0]              ATTACHMENT
   profileDesc > langUsage > language[id]@id    language              STRING
 
 =item B<On text level>
diff --git a/t/real/bzk_2.t b/t/real/bzk_2.t
index d250a7c..ea81cf4 100644
--- a/t/real/bzk_2.t
+++ b/t/real/bzk_2.t
@@ -51,7 +51,6 @@
 is($meta->{K_text_class}->[1], 'ausland', 'Correct Text Class');
 ok(!$meta->{K_text_class}->[2], 'Correct Text Class');
 
-
 is($meta->{D_creation_date}, '19590219', 'Creation date');
 is($meta->{S_availability}, 'ACA-NC-LC', 'License');
 ok(!$meta->{pages}, 'Pages');
@@ -74,6 +73,9 @@
 ok(!$meta->{T_doc_author}, 'Correct Doc author');
 ok(!$meta->{A_doc_editor}, 'Correct doc editor');
 
+is($meta->{A_URN},'data:application/x.korap-link;title=urn%3Anbn%3Ade%3A101%3A1-2019012904515398173807,http%3A%2F%2Fnbn-resolving.de%2Furn%3Anbn%3Ade%3A101%3A1-2019012904515398173807');
+is($meta->{S_ISBN},'978-3-7325-6705-8');
+
 # Tokenization
 use_ok('KorAP::XML::Tokenizer');
 
diff --git a/t/real/corpus/BZK/D59/00089/header.xml b/t/real/corpus/BZK/D59/00089/header.xml
index b140a57..b51fb42 100644
--- a/t/real/corpus/BZK/D59/00089/header.xml
+++ b/t/real/corpus/BZK/D59/00089/header.xml
@@ -10,6 +10,11 @@
           <publicationStmt>
             <distributor/>
             <pubAddress/>
+            <idno type="URN">urn:nbn:de:101:1-2019012904515398173807</idno>
+            <idno type="URL" rend="URN;urn:nbn:de:101:1-2019012904515398173807">http://nbn-resolving.de/urn:nbn:de:101:1-2019012904515398173807</idno>
+            <idno type="ISBN">978-3-7325-6705-8</idno>
+            <idno type="URL">http://d-nb.info/1176524615/34</idno>
+            <idno type="IDN">1176524615</idno>
             <availability region="world">ACA-NC-LC</availability>
             <pubDate/>
           </publicationStmt>
