diff --git a/build.xml b/build.xml
index 5b55c4b45dab914dd8fe82025cff1f7634ae8ac9..9309d0071de94426a14582dfd948a67bf74d3eb2 100644
--- a/build.xml
+++ b/build.xml
@@ -358,7 +358,7 @@ Key references:
 
     <!-- excerpted/adapted from "SAXON XSLT Processing with Ant" by James Fuller, http://ablog.apress.com/?p=753 -->
     <!-- https:///www.saxonica.com/documentation9.0/using-xsl/commandline.html                                     -->
-    <macrodef name="Saxon10" description="Invoke XSLT transformation on passed scene using passed stylesheet">
+    <macrodef name="Saxon11" description="Invoke XSLT transformation on passed scene using passed stylesheet">
         <attribute name="scene"/>
         <attribute name="stylesheet"/>
         <attribute name="suffix" default=""/>
@@ -366,16 +366,16 @@ Key references:
 		<!-- https:///www.saxonica.com/html/documentation/configuration/config-features.html -->
         <attribute name="expand" default="off"/> <!-- https://www.saxonica.com/html/documentation/configuration/config-features.html -->
         <!-- parameterPair1 must have a legal value or saxon fails mysteriously while running under jenkins! java.lang.StringIndexOutOfBoundsException: String index out of range: 0 -->
-        <!-- parameterPair1,2,3 must have some kind of string under Java 17 and saxon10 java.lang.StringIndexOutOfBoundsException: String index out of range: 0 -->
+        <!-- parameterPair1,2,3 must have some kind of string under Java 17 and saxon11 java.lang.StringIndexOutOfBoundsException: String index out of range: 0 -->
         <attribute name="parameterPair1" default="dummy1=0"/>
         <attribute name="parameterPair2" default="dummy2=0"/>
         <attribute name="parameterPair3" default="dummy3=0"/>
         <sequential>
             <!--
-			<echo message="Saxon10 processing @{scene}@{suffix}.@{extension} using @{stylesheet}.xslt, -catalog:${X3dDtdsSchemas.dir}/${xml.catalog.file}"/>
+			<echo message="Saxon11 processing @{scene}@{suffix}.@{extension} using @{stylesheet}.xslt, -catalog:${X3dDtdsSchemas.dir}/${xml.catalog.file}"/>
 			<echo message="... -expand:'@{expand}' parameterPair1='@{parameterPair1}' parameterPair2='@{parameterPair2}' parameterPair3='@{parameterPair3}'"/>
             -->
-                        <echo message="$saxon.classpath=${saxon.classpath}"/>
+                    <!--<echo message="$saxon.classpath=${saxon.classpath}"/>-->
 			<java classname="net.sf.saxon.Transform"
 				  classpath="${saxon.classpath}"
 				  fork="${fork}"
@@ -1737,7 +1737,7 @@ ignoreSetupDownloadErrors=true
         </java>
         <echo>HelloWorld.json creation with X3dToJson.xslt</echo>
         <!-- JavaScript Object Notation (JSON) -->
-        <Saxon10  scene="HelloWorld"
+        <Saxon11  scene="HelloWorld"
             stylesheet="${stylesheet.dir}/X3dToJson"
              extension="json"
 				expand="on"/>
@@ -1764,7 +1764,7 @@ ignoreSetupDownloadErrors=true
         </java>
         <echo>HelloWorld.java creation with X3dToJava.xslt</echo>
         <!-- JavaScript Object Notation (JSON) -->
-        <Saxon10  scene="HelloWorld"
+        <Saxon11  scene="HelloWorld"
             stylesheet="${stylesheet.dir}/X3dToJava"
              extension="java"
                 expand="on"
@@ -1773,7 +1773,7 @@ ignoreSetupDownloadErrors=true
 	<!-- expand:on since DTD defaults needed -->
         <echo>HelloWorld.py creation with X3dToPython.xslt</echo>
         <!-- JavaScript Object Notation (JSON) -->
-        <Saxon10  scene="HelloWorld"
+        <Saxon11  scene="HelloWorld"
             stylesheet="${stylesheet.dir}/X3dToPython"
              extension="py"
 				expand="on"
@@ -1781,7 +1781,7 @@ ignoreSetupDownloadErrors=true
 		<!-- expand:on since DTD defaults needed -->
         <echo>HelloWorld.ttl creation with X3dToTurtle.xslt</echo>
         <!-- Turtle .ttl -->
-        <Saxon10  scene="HelloWorld"
+        <Saxon11  scene="HelloWorld"
             stylesheet="${stylesheet.dir}/X3dToTurtle"
              extension="ttl"
 				expand="on"
@@ -1913,7 +1913,7 @@ ignoreSetupDownloadErrors=true
         </java>
         <!-- JavaScript Object Notation (JSON) -->
         <echo>newScene.json creation with X3dToJson.xslt</echo>
-        <Saxon10  scene="newScene"
+        <Saxon11  scene="newScene"
             stylesheet="${stylesheet.dir}/X3dToJson"
              extension="json"
 				expand="on"/>
@@ -1941,7 +1941,7 @@ ignoreSetupDownloadErrors=true
         </java>
         <echo>newScene.java creation with X3dToJava.xslt</echo>
         <!-- JavaScript Object Notation (JSON) -->
-        <Saxon10  scene="newScene"
+        <Saxon11  scene="newScene"
             stylesheet="${stylesheet.dir}/X3dToJava"
              extension="java"
 		expand="on"
@@ -1950,7 +1950,7 @@ ignoreSetupDownloadErrors=true
         <!-- expand:on since DTD defaults needed -->
         <echo>newScene.py creation with X3dToPython.xslt</echo>
         <!-- JavaScript Object Notation (JSON) -->
-        <Saxon10  scene="newScene"
+        <Saxon11  scene="newScene"
             stylesheet="${stylesheet.dir}/X3dToPython"
              extension="py"
 				expand="on"
@@ -1958,7 +1958,7 @@ ignoreSetupDownloadErrors=true
 		<!-- expand:on since DTD defaults needed -->
         <echo>HelloWorld.ttl creation with X3dToTurtle.xslt</echo>
         <!-- Turtle .ttl -->
-        <Saxon10  scene="newScene"
+        <Saxon11  scene="newScene"
             stylesheet="${stylesheet.dir}/X3dToTurtle"
              extension="ttl"
 				expand="on"
@@ -2414,16 +2414,16 @@ ignoreSetupDownloadErrors=true
                     <sequential>
                         <!-- process individual files here. show full path to facilitate user loading, editing of reported files -->
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d processing with X3dToXhtml stylesheet for pretty-print .html</echo>
-                        <!-- Saxon10 is locally defined macro -->
-                        <Saxon10  scene="${relative.path1}/${relative.path2}/${name.short}"
+                        <!-- Saxon11 is locally defined macro -->
+                        <Saxon11  scene="${relative.path1}/${relative.path2}/${name.short}"
                             stylesheet="${stylesheet.dir}/X3dToXhtml"
                              extension="html"
                         parameterPair1="linkImages=true"
 				expand="on"/>
 			<!-- expand:on since DTD defaults needed -->
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d processing with X3dExtrusionCrossSectionToSvg stylesheet for SVG diagrams (if Extrusion found)</echo>
-                        <!-- Saxon10 is locally defined macro -->
-                        <Saxon10  scene="${relative.path1}/${relative.path2}/${name.short}"
+                        <!-- Saxon11 is locally defined macro -->
+                        <Saxon11  scene="${relative.path1}/${relative.path2}/${name.short}"
                             stylesheet="${stylesheet.dir}/X3dExtrusionCrossSectionToSvg"
                              extension="svg"
                                 expand="on"/>
@@ -2483,8 +2483,8 @@ ignoreSetupDownloadErrors=true
                         <!-- process individual files here. show full path to facilitate user loading, editing of reported files -->
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d processing with X3dToX3dom stylesheet:</echo>
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}X3dom.xhtml</echo>
-                        <!-- Saxon10 is locally defined macro -->
-                        <Saxon10  scene="${relative.path1}/${relative.path2}/${name.short}"
+                        <!-- Saxon11 is locally defined macro -->
+                        <Saxon11  scene="${relative.path1}/${relative.path2}/${name.short}"
                             stylesheet="${stylesheet.dir}/X3dToX3dom"
                         parameterPair1="player=X3DOM"
                                 suffix="X3dom"
@@ -2545,8 +2545,8 @@ ignoreSetupDownloadErrors=true
                     <sequential>
                         <!-- process individual files here. show full path to facilitate user loading, editing of reported files -->
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d processing with X3dToX3dom(X_ITE) stylesheet: ${name.short}X_ITE.html</echo>
-                        <!-- Saxon10 is locally defined macro -->
-                        <Saxon10  scene="${relative.path1}/${relative.path2}/${name.short}"
+                        <!-- Saxon11 is locally defined macro -->
+                        <Saxon11  scene="${relative.path1}/${relative.path2}/${name.short}"
                             stylesheet="${stylesheet.dir}/X3dToX3dom"
                         parameterPair1="player=X_ITE"
                         parameterPair2="urlScene=${name.short}.x3d"
@@ -2608,8 +2608,8 @@ ignoreSetupDownloadErrors=true
                     <sequential>
                         <!-- process individual files here.  show full path to facilitate user loading, editing of reported files -->
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d processing with X3dToVrml97 stylesheet</echo>
-                        <!-- Saxon10 is locally defined macro -->
-                        <Saxon10  scene="${relative.path1}/${relative.path2}/${name.short}"
+                        <!-- Saxon11 is locally defined macro -->
+                        <Saxon11  scene="${relative.path1}/${relative.path2}/${name.short}"
                             stylesheet="${stylesheet.dir}/X3dToVrml97"
                              extension="wrl"/>
                     </sequential>
@@ -2838,8 +2838,8 @@ ignoreSetupDownloadErrors=true
                     <sequential>
                         <!-- process individual files here.  show full path to facilitate user loading, editing of reported files -->
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d processing with X3dToJson stylesheet</echo>
-                        <!-- Saxon10 is locally defined macro -->
-                        <Saxon10  scene="${relative.path1}/${relative.path2}/${name.short}"
+                        <!-- Saxon11 is locally defined macro -->
+                        <Saxon11  scene="${relative.path1}/${relative.path2}/${name.short}"
                             stylesheet="${stylesheet.dir}/X3dToJson"
                              extension="json"
                         parameterPair1="traceEnabled=${traceEnabled}"
@@ -2920,8 +2920,8 @@ ignoreSetupDownloadErrors=true
                     <sequential>
                         <!-- process individual files here.  show full path to facilitate user loading, editing of reported files -->
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d processing with X3dToX3dvClassicVrmlEncoding stylesheet</echo>
-                        <!-- Saxon10 is locally defined macro -->
-                        <Saxon10  scene="${relative.path1}/${relative.path2}/${name.short}"
+                        <!-- Saxon11 is locally defined macro -->
+                        <Saxon11  scene="${relative.path1}/${relative.path2}/${name.short}"
                             stylesheet="${stylesheet.dir}/X3dToX3dvClassicVrmlEncoding"
                              extension="x3dv"/>
                     </sequential>
@@ -3368,8 +3368,8 @@ app.replica.args=-mode scene -mipmaps -antialias 8 -anisotropicDegree 16 -verbos
                         <!-- now that images are collected, restore file/timestamp by regenerating html -->
                         <!-- X3dToXhtml.xslt process individual files here. show full path to facilitate user loading, editing of reported files -->
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d processing with X3dToXhtml stylesheet pretty-print .html</echo>
-                        <!-- Saxon10 is locally defined macro -->
-                        <Saxon10  scene="${relative.path1}/${relative.path2}/${name.short}"
+                        <!-- Saxon11 is locally defined macro -->
+                        <Saxon11  scene="${relative.path1}/${relative.path2}/${name.short}"
                             stylesheet="${stylesheet.dir}/X3dToXhtml"
                              extension="html"
                         parameterPair1="linkImages=true"/>
@@ -3997,16 +3997,16 @@ app.replica.args=-mode scene -mipmaps -antialias 8 -anisotropicDegree 16 -verbos
                         <!-- from processScenes.htmlPrettyPrintPages -->
                         <!-- process individual files here. show full path to facilitate user loading, editing of reported files -->
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d processing with X3dToXhtml stylesheet for pretty-print .html</echo>
-                        <!-- Saxon10 is locally defined macro -->
-                        <Saxon10  scene="${relative.path1}/${relative.path2}/${name.short}"
+                        <!-- Saxon11 is locally defined macro -->
+                        <Saxon11  scene="${relative.path1}/${relative.path2}/${name.short}"
                             stylesheet="${stylesheet.dir}/X3dToXhtml"
                              extension="html"
                         parameterPair1="linkImages=true"
                         expand="on"/>
                    <!-- expand:on since DTD defaults needed -->
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d processing with X3dExtrusionCrossSectionToSvg stylesheet for SVG diagrams (if Extrusion found)</echo>
-                        <!-- Saxon10 is locally defined macro -->
-                        <Saxon10  scene="${relative.path1}/${relative.path2}/${name.short}"
+                        <!-- Saxon11 is locally defined macro -->
+                        <Saxon11  scene="${relative.path1}/${relative.path2}/${name.short}"
                             stylesheet="${stylesheet.dir}/X3dExtrusionCrossSectionToSvg"
                              extension="svg"
                                 expand="on"/>
@@ -4241,9 +4241,9 @@ app.replica.args=-mode scene -mipmaps -antialias 8 -anisotropicDegree 16 -verbos
                       <then>
                         <!-- process individual files here. show full path to facilitate user loading, editing of reported files -->
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d converted to ${name.short}.java</echo>
-                        <!-- Saxon10 is locally defined macro -->
+                        <!-- Saxon11 is locally defined macro -->
                         <!-- option parameterPair3="strictJava8=false" -->
-                        <Saxon10  scene="${relative.path1}/${relative.path2}/${name.short}"
+                        <Saxon11  scene="${relative.path1}/${relative.path2}/${name.short}"
                             stylesheet="${stylesheet.dir}/X3dToJava"
                         parameterPair1="packageName=${archive.name}.${relative.path1}.${relative.path2}"
                         parameterPair2=  "className=${name.short}"
@@ -4439,8 +4439,8 @@ app.replica.args=-mode scene -mipmaps -antialias 8 -anisotropicDegree 16 -verbos
 			<echo message="create python:"/>
                         <!-- process individual files here.  show full path to facilitate user loading, editing of reported files -->
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d processing with X3dToPython stylesheet...</echo>
-                        <!-- Saxon10 is locally defined macro -->
-                        <Saxon10  scene="${relative.path1}/${relative.path2}/${name.short}"
+                        <!-- Saxon11 is locally defined macro -->
+                        <Saxon11  scene="${relative.path1}/${relative.path2}/${name.short}"
                             stylesheet="${stylesheet.dir}/X3dToPython"
                              extension="py"
                         parameterPair1="insertPackagePrefix=false"
@@ -4531,8 +4531,8 @@ app.replica.args=-mode scene -mipmaps -antialias 8 -anisotropicDegree 16 -verbos
 						<echo message="Create ${name.short}.ttl turtle representation:"/>
                         <!-- process individual files here.  show full path to facilitate user loading, editing of reported files -->
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d processing with X3dToTurtle stylesheet...</echo>
-                        <!-- Saxon10 is locally defined macro -->
-                        <Saxon10  scene="${relative.path1}/${relative.path2}/${name.short}"
+                        <!-- Saxon11 is locally defined macro -->
+                        <Saxon11  scene="${relative.path1}/${relative.path2}/${name.short}"
                             stylesheet="${stylesheet.dir}/X3dToTurtle"
                              extension="ttl"
                         parameterPair1="defaultModelPrefix="