diff --git a/scenarios/xslt/edxml2html/libs/html-facsimile.lib.xsl b/scenarios/xslt/edxml2html/libs/html-facsimile.lib.xsl
index 3da059dafd11afe2aabc193654586a4bc58e7efd..231eeaf55c754ddfe435d3c2a10db27a28bb9213 100644
--- a/scenarios/xslt/edxml2html/libs/html-facsimile.lib.xsl
+++ b/scenarios/xslt/edxml2html/libs/html-facsimile.lib.xsl
@@ -2,7 +2,7 @@
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tei="http://www.tei-c.org/ns/1.0"
     xmlns:functx="http://www.functx.com" xmlns="http://www.w3.org/1999/xhtml"
-    exclude-result-prefixes="xs" version="2.0"
+    xmlns:uuid="java:java.util.UUID" exclude-result-prefixes="xs" version="2.0"
     xpath-default-namespace="http://sub.uni-goettingen.de/edxml#">
 
     <xsl:function name="functx:substring-before-if-contains" as="xs:string?">
@@ -96,7 +96,7 @@
                 </span>
                 <xsl:if test="$correspondingNotes != ''">
                     <span>
-                        <xsl:variable name="noteIconId" select="generate-id()"/>
+                        <xsl:variable name="noteIconId" select="uuid:randomUUID()"/>
                         <label for="{$noteIconId}" class="notes-icon"/>
                         <input type="checkbox" id="{$noteIconId}"/>
                     </span>
@@ -152,7 +152,7 @@
 
     <xsl:template match="note">
         <li class="note-item">
-            <xsl:variable name="noteItemId" select="generate-id()"/>
+            <xsl:variable name="noteItemId" select="uuid:randomUUID()"/>
             <label for="{$noteItemId}">
                 <xsl:value-of select="@type"/>
             </label>
diff --git a/scenarios/xslt/edxml2html/libs/html-philology.lib.xsl b/scenarios/xslt/edxml2html/libs/html-philology.lib.xsl
index 64620f6e6f16f012a01bb6b3efd4cb12901a6b9f..ec137f785f6b05e49ab3c5ec2d0d42369fab35d0 100644
--- a/scenarios/xslt/edxml2html/libs/html-philology.lib.xsl
+++ b/scenarios/xslt/edxml2html/libs/html-philology.lib.xsl
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tei="http://www.tei-c.org/ns/1.0"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:uuid="java:java.util.UUID"
     xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xs" version="2.0"
     xpath-default-namespace="http://sub.uni-goettingen.de/edxml#">
 
@@ -49,7 +49,7 @@
                 <xsl:apply-templates select="*[not(self::notes)]"/>
                 <div class="notes section-tab">
                     <xsl:if test="child::notes">
-                        <xsl:variable name="noteIconId" select="generate-id()"/>
+                        <xsl:variable name="noteIconId" select="uuid:randomUUID()"/>
                         <label for="{$noteIconId}" class="notes-icon"/>
                         <input type="checkbox" id="{$noteIconId}"/>
                     </xsl:if>
@@ -220,7 +220,7 @@
             <xsl:for-each select="$targetsUnique">
                 <li class="note-list">
                     <xsl:variable name="targetUnique" select="."/>
-                    <xsl:variable name="noteListId" select="generate-id($thisNotes)"/>
+                    <xsl:variable name="noteListId" select="uuid:randomUUID()"/>
                     <label for="{$noteListId}">
                         <xsl:variable name="targetIds" select="tokenize($targetUnique, ' ')"/>
                         <xsl:for-each select="$targetIds">
@@ -240,7 +240,7 @@
 
     <xsl:template match="philology//note">
         <li class="note-item">
-            <xsl:variable name="noteItemId" select="generate-id()"/>
+            <xsl:variable name="noteItemId" select="uuid:randomUUID()"/>
             <label for="{$noteItemId}">
                 <xsl:value-of select="@type"/>
             </label>