From 048491eed95b76624c0f6c5ed1b4e534062706d5 Mon Sep 17 00:00:00 2001
From: brutzman <brutzman@nps.edu>
Date: Fri, 30 Dec 2022 10:25:41 -0800
Subject: [PATCH] saxon.classpath

---
 build.xml | 74 +++++++++++++++++++++++++++++--------------------------
 1 file changed, 39 insertions(+), 35 deletions(-)

diff --git a/build.xml b/build.xml
index 6f369db85a..5b55c4b45d 100644
--- a/build.xml
+++ b/build.xml
@@ -4,7 +4,7 @@
      customized build.xml for each autogenerated X3D example archive build.xml -->
 
 <!--
-  Copyright (c) 1995-2022 held by the author(s).  All rights reserved.
+  Copyright (c) 1995-2023 held by the author(s).  All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
@@ -109,9 +109,10 @@ POSSIBILITY OF SUCH DAMAGE.
     <!-- https://sourceforge.net/projects/saxon/files/Saxon-HE/11/Java/ -->
     <!-- https://www.saxonica.com/documentation10/#!about/gettingstarted/gettingstartedjava -->
     <!-- SaxonHE 11 (java.lang.NoClassDefFoundError: org/xmlresolver/Resolver) https://saxonica.plan.io/boards/3/topics/8478?r=8480 -->
-    <property name="saxon.dir"        location="lib" description="relative path from stylesheets directory"/>
-    <property name="saxon.jar"           value="saxon-he-11.3.jar"/><!-- previously saxon-he-11.2.jar saxon-he-10.6.jar saxon9he.jar -->
-    <property name="xmlresolver.jar"     value="xmlresolver-4.2.0.jar"/><!-- required with saxon-he-11+.jar -->
+    <property name="saxon.dir"        location="lib" description="relative path from archive directory"/>
+    <property name="saxon.jar"           value="saxon-he-11.4.jar"/><!-- previously saxon-he-11.3.jar saxon-he-11.2.jar saxon-he-10.6.jar saxon9he.jar -->
+    <property name="xmlresolver.jar"     value="xmlresolver-4.4.3.jar"/><!-- required with saxon-he-11+.jar -->
+    <property name="saxon.classpath" value="${saxon.dir}/${saxon.jar};.${saxon.dir}/${xmlresolver.jar};."/>
 
     <!-- compiled stylesheets are no longer supported as of saxon 9.4 -->
 <!--<property name="saxononicaSA.dir" location="C:/java/saxonsa9-1-0-6j"/> not actively used -->
@@ -202,7 +203,7 @@ POSSIBILITY OF SUCH DAMAGE.
         <echo message="build.xml property $native.library.path=${native.library.path}"/>
         <echo message="=============================="/>
         <echo message="java -XshowSettings:properties"/>
-        <java classname="ignoreClassError">
+        <java classname="ignoreClassNotFoundExceptionJustShowProperties">
             <jvmarg value="-XshowSettings:properties"/>
         </java>
         <echo message="=============================="/>
@@ -306,9 +307,10 @@ POSSIBILITY OF SUCH DAMAGE.
 
     <property name="CreateContentCatalog.dir" location="../../../tools/CreateContentCatalog"/>
     <property name="X3dDtdsSchemas.dir"       location="../../../../specifications"/>
+    <!-- n.b. resolver.jar maintained independently of saxon xmlresolver.jar dependency -->
     <property name="resolver.dir"             location="${env.ANT_HOME}/lib"/>
     <property name="resolver.jar"             value="xml-resolver-1.2.jar"/>
-    <length property="resolver.jar.length" file="${saxon.dir}/${xmlresolver.jar}"/>
+    <length property="resolver.jar.length" file="${resolver.dir}/${resolver.jar}"/>
     <!-- original alternative to ant: https:///xerces.apache.org/mirrors.cgi XML Commons Resolver Version 1.2 - zip -->
 
 <!--
@@ -373,8 +375,9 @@ Key references:
 			<echo message="Saxon10 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}"/>
 			<java classname="net.sf.saxon.Transform"
-				  classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};${saxon.dir}/${xmlresolver.jar};"
+				  classpath="${saxon.classpath}"
 				  fork="${fork}"
 				  failonerror="false">
 				<!-- TODO
@@ -440,7 +443,7 @@ Key references:
         <attribute name="scene"/>
         <attribute name="title"/>
         <sequential>
-            <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="${fork}">
+            <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="${fork}">
                 <!-- https://www.saxonica.com/documentation9.5/using-xsl/commandline.html -->
                     <arg value="-warnings:recover"/> <!-- recover after writing a warning message -->
                     <!-- <arg value="-t"/> saxon version and timing information -->
@@ -517,8 +520,9 @@ Key references:
     </target>
 
     <target name="saxon.help" description="display command-line settings">
+        <echo message="$saxon.classpath=${saxon.classpath}"/>
         <java classname="net.sf.saxon.Transform"
-              classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};${saxon.dir}/${xmlresolver.jar};"
+              classpath="${saxon.classpath}"
               fork="${fork}"
               failonerror="false">
             <arg value="-?"/>
@@ -1665,7 +1669,7 @@ ignoreSetupDownloadErrors=true
         <!-- java net.sf.saxon.Transform -s:source -o:output  -xsl:stylesheet -->
         <!-- $(SAXON) -t -s:HelloWorld.x3d -o:HelloWorld.html -xsl:../X3dToXhtml.xslt -->
         <!-- note reordering of parameters for source, output contrary to Saxon documentation! -->
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="${fork}">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="${fork}">
             <arg value="-warnings:recover"/> <!-- recover after writing a warning message -->
             <!-- <arg value="-t"/> saxon version and timing information -->
             <arg value="-s:HelloWorld.x3d"/>
@@ -1673,7 +1677,7 @@ ignoreSetupDownloadErrors=true
             <arg value="-xsl:${stylesheet.dir}/X3dToXhtml.xslt"/>
         </java>
         <echo message="Convert HelloWorld.x3d to HelloWorldX_ITE.html using X3dToX3dom.xslt stylesheet"/>
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="${fork}">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="${fork}">
             <arg value="-warnings:recover"/> <!-- recover after writing a warning message -->
             <!-- <arg value="-t"/> saxon version and timing information -->
             <arg value="-s:HelloWorld.x3d"/>
@@ -1685,7 +1689,7 @@ ignoreSetupDownloadErrors=true
             <arg value="extension=html"/>
         </java>
         <echo message="Convert HelloWorld.x3d to HelloWorldX3dom.xhtml using X3dToX3dom.xslt stylesheet"/>
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="${fork}">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="${fork}">
             <arg value="-warnings:recover"/> <!-- recover after writing a warning message -->
             <!-- <arg value="-t"/> saxon version and timing information -->
             <arg value="-s:HelloWorld.x3d"/>
@@ -1693,7 +1697,7 @@ ignoreSetupDownloadErrors=true
             <arg value="-xsl:${stylesheet.dir}/X3dToX3dom.xslt"/>
         </java>
         <echo message="Convert HelloWorld.x3d to HelloWorld.wrl using X3dToVrml97.xslt stylesheet"/>
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="${fork}">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="${fork}">
             <arg value="-warnings:recover"/>
             <!-- <arg value="-t"/> saxon version and timing information -->
             <arg value="-s:HelloWorld.x3d"/>
@@ -1701,7 +1705,7 @@ ignoreSetupDownloadErrors=true
             <arg value="-xsl:${stylesheet.dir}/X3dToVrml97.xslt"/>
         </java>
         <echo message="Convert HelloWorld.x3d to HelloWorld.x3dv using X3dToX3dvClassicVrmlEncoding.xslt stylesheet"/>
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="${fork}">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="${fork}">
             <arg value="-warnings:recover"/>
             <!-- <arg value="-t"/> saxon version and timing information -->
             <arg value="-s:HelloWorld.x3d"/>
@@ -1723,7 +1727,7 @@ ignoreSetupDownloadErrors=true
         <!-- prerequisite: local Xj3D.NPS, 'build all' to compile, 'build dist' to create jars.  TODO add depends check. -->
         <java classname="xj3d.filter.CDFFilter" fork="${fork}" dir=".">
             <classpath>
-                <pathelement path="${classpath}"/>
+                <pathelement path="${saxon.classpath}"/>
                 <fileset refid="xj3d.jars.all"/>
             </classpath>
        <!-- <jvmarg value="-verbose"/> -->
@@ -1850,7 +1854,7 @@ ignoreSetupDownloadErrors=true
         <!-- java net.sf.saxon.Transform -s:source -o:output -xsl:stylesheet -->
         <!-- $(SAXON) -t -s:newScene.x3d -o:newScene.html -xsl:../X3dToXhtml.xslt -->
         <!-- note reordering of parameters for source, output contrary to Saxon documentation! -->
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="${fork}">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="${fork}">
             <arg value="-warnings:recover"/> <!-- recover after writing a warning message -->
             <!-- <arg value="-t"/> saxon version and timing information -->
             <arg value="-s:newScene.x3d"/>
@@ -1858,7 +1862,7 @@ ignoreSetupDownloadErrors=true
             <arg value="-xsl:${stylesheet.dir}/X3dToXhtml.xslt"/>
         </java>
         <echo message="Convert newScene.x3d to newSceneX_ITE.html using X3dToX3dom.xslt stylesheet in X_ITE mode"/>
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="${fork}">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="${fork}">
             <arg value="-warnings:recover"/> <!-- recover after writing a warning message -->
             <!-- <arg value="-t"/> saxon version and timing information -->
             <arg value="-s:newScene.x3d"/>
@@ -1870,7 +1874,7 @@ ignoreSetupDownloadErrors=true
             <arg value="extension=html"/>
         </java>
         <echo message="Convert newScene.x3d to newSceneX3dom.xhtml using X3dToX3dom.xslt stylesheet in default mode"/>
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="${fork}">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="${fork}">
             <arg value="-warnings:recover"/> <!-- recover after writing a warning message -->
             <!-- <arg value="-t"/> saxon version and timing information -->
             <arg value="-s:newScene.x3d"/>
@@ -1878,7 +1882,7 @@ ignoreSetupDownloadErrors=true
             <arg value="-xsl:${stylesheet.dir}/X3dToX3dom.xslt"/>
         </java>
         <echo message="Convert newScene.x3d to newScene.wrl using X3dToVrml97.xslt regular stylesheet"/>
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="${fork}">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="${fork}">
             <arg value="-warnings:recover"/>
             <!-- <arg value="-t"/> saxon version and timing information -->
             <arg value="-s:newScene.x3d"/>
@@ -1886,7 +1890,7 @@ ignoreSetupDownloadErrors=true
             <arg value="-xsl:${stylesheet.dir}/X3dToVrml97.xslt"/>
         </java>
         <echo message="Convert newScene.x3d to newScene.x3dv using X3dToX3dvClassicVrmlEncoding.xslt regular stylesheet"/>
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="${fork}">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="${fork}">
             <arg value="-warnings:recover"/> 
             <arg value="-s:newScene.x3d"/>
             <arg value="-o:newScene.x3dv"/>
@@ -1900,7 +1904,7 @@ ignoreSetupDownloadErrors=true
         <echo message=".x3db binary conversion depends on local Xj3D installation, current directory xj3d.dir=${xj3d.dir}"/>
 		<java classname="xj3d.filter.CDFFilter" fork="${fork}" dir=".">
             <classpath>
-                <pathelement path="${classpath}"/>
+                <pathelement path="${saxon.classpath}"/>
                 <fileset refid="xj3d.jars.all"/>
             </classpath>
             <arg value="Identity"/>
@@ -2153,13 +2157,13 @@ ignoreSetupDownloadErrors=true
         <property name="singleFileName"    value="AllAudioGraphNodesTest"/><!-- no file extension -->
         
         <echo>${singleFilePath}/${singleFileName}.x3d validation using X3D Schematron rules</echo>
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="false">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="false">
             <arg value="-warnings:recover"/>
             <arg value="-s:${singleFilePath}"/>
             <arg value="-o:${singleFilePath}/_schematron/${singleFileName}.svrl"/> <!-- ${archive.path}/ -->
             <arg value="-xsl:${X3dSchematronValidityChecks.dir}/${X3dSchematronValidityChecks}.xslt"/>
         </java>
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="false">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="false">
             <arg value="-warnings:recover"/>
             <arg value="-s:${singleFilePath}/_schematron/${singleFileName}.svrl"/>
             <arg value="-o:${singleFilePath}/_schematron/${singleFileName}.svrl.txt"/> <!-- ${archive.path}/ -->
@@ -2233,13 +2237,13 @@ ignoreSetupDownloadErrors=true
                         </xslt>
                         -->
                         <echo>@{file.path.name} validation using X3D Schematron rules</echo>
-                        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="false">
+                        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="false">
                             <arg value="-warnings:recover"/>
                             <arg value="-s:@{file.path.name}"/>
                             <arg value="-o:${relative.path1}/${relative.path2}/_schematron/${name.short}.svrl"/> <!-- ${archive.path}/ -->
                             <arg value="-xsl:${X3dSchematronValidityChecks.dir}/${X3dSchematronValidityChecks}.xslt"/>
                         </java>
-                        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="false">
+                        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="false">
                             <arg value="-warnings:recover"/>
                             <arg value="-s:${relative.path1}/${relative.path2}/_schematron/${name.short}.svrl"/>
                             <arg value="-o:${relative.path1}/${relative.path2}/_schematron/${name.short}.svrl.txt"/> <!-- ${archive.path}/ -->
@@ -2730,7 +2734,7 @@ ignoreSetupDownloadErrors=true
                         <!-- java net.sf.saxon.Transform -s:source -o:output -xsl:stylesheet -->
                         <!-- $(SAXON) -t -s:HelloWorld.x3d -o:HelloWorld.html -xsl:../X3dToXhtml.xslt -->
                         <!-- note reordering of parameters for source, output contrary to Saxon documentation! -->
-                        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="${fork}">
+                        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="${fork}">
                             <arg value="-warnings:recover"/> <!-- recover after writing a warning message -->
                             <arg value="-s:${parentX3dSceneName}"/>
                             <arg value="-o:sceneScriptFieldGlobals.properties"/>
@@ -2974,7 +2978,7 @@ ignoreSetupDownloadErrors=true
                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d processing with Xj3D for .x3db binary compression</echo>
                         <java classname="xj3d.filter.CDFFilter" fork="${fork}" dir=".">
                             <classpath>
-                                <pathelement path="${classpath}"/>
+                                <pathelement path="${saxon.classpath}"/>
                                 <fileset refid="xj3d.jars.all"/>
                             </classpath>
                             <arg value="Identity"/>
@@ -3206,7 +3210,7 @@ TODO:  fix Xj3D from launching window, instead perform offline rendering while h
         <!-- output help for Replica at the beginning -->
         <java classname="xj3d.replica.Replica" fork="${fork}" dir=".">
             <classpath>
-                <pathelement path="${classpath}"/>
+                <pathelement path="${saxon.classpath}"/>
                 <fileset refid="xj3d.jars.all"/>
             </classpath>
             <!-- -Djava.library.path needs to point to jogl.dll driver -->
@@ -3280,7 +3284,7 @@ TODO:  fix Xj3D from launching window, instead perform offline rendering while h
 
                         <java classname="xj3d.replica.Replica" fork="${fork}" dir="." failonerror="false">
                             <classpath>
-                                <pathelement path="${classpath}"/>
+                                <pathelement path="${saxon.classpath}"/>
                                 <fileset refid="xj3d.jars.all"/>
                             </classpath>
                             <!-- -Djava.library.path needs to point to jogl.dll driver -->
@@ -3316,7 +3320,7 @@ TODO:  fix Xj3D from launching window, instead perform offline rendering while h
                         -->
                         <java classname="xj3d.replica.Replica" fork="${fork}" dir="." failonerror="false">
                             <classpath>
-                                <pathelement path="${classpath}"/>
+                                <pathelement path="${saxon.classpath}"/>
                                 <fileset refid="xj3d.jars.all"/>
                             </classpath>
                             <!-- -Djava.library.path needs to point to jogl.dll driver -->
@@ -3570,7 +3574,7 @@ app.replica.args=-mode scene -mipmaps -antialias 8 -anisotropicDegree 16 -verbos
         <!-- TODO: Xj3D -captureViewpoint option, selectively adding corresponding links in output HTML -->
         <property name="reduceArchiveSize" value="false"/>
         <echo message="attempted to set immutable property to false:  reduceArchiveSize=${reduceArchiveSize}"/>
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="false" failonerror="false">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="false" failonerror="false">
             <arg value="-dtd:off"/> <!-- TODO problem with different relative directories while invoking under jenkins -->
             <arg value="-warnings:recover"/> <!-- recover after writing a warning message -->
             <!-- <arg value="-t"/> saxon version and timing information -->
@@ -3944,13 +3948,13 @@ app.replica.args=-mode scene -mipmaps -antialias 8 -anisotropicDegree 16 -verbos
                         <!-- process individual files here.  show full path to facilitate user loading, editing of reported files -->
                         <mkdir dir="${archive.path}/${relative.path1}/${relative.path2}/_schematron"/>
                         <echo>@{file.path.name} validation using X3D Schematron rules</echo>
-                        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="false">
+                        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="false">
                             <arg value="-warnings:recover"/>
                             <arg value="-s:@{file.path.name}"/>
                             <arg value="-o:${relative.path1}/${relative.path2}/_schematron/${name.short}.svrl"/> <!-- ${archive.path}/ -->
                             <arg value="-xsl:${X3dSchematronValidityChecks.dir}/${X3dSchematronValidityChecks}.xslt"/>
                         </java>
-                        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." fork="false">
+                        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" fork="false">
                             <arg value="-warnings:recover"/>
                             <arg value="-s:${relative.path1}/${relative.path2}/_schematron/${name.short}.svrl"/>
                             <arg value="-o:${relative.path1}/${relative.path2}/_schematron/${name.short}.svrl.txt"/> <!-- ${archive.path}/ -->
@@ -4692,7 +4696,7 @@ app.replica.args=-mode scene -mipmaps -antialias 8 -anisotropicDegree 16 -verbos
     <path id="classpath">
         <fileset dir="${saxon.dir}" includes="*.jar"/>
     </path>
-    <property name="cp" location="${classpath}"/>
+    <property name="cp" location="${saxon.classpath}"/>
     <target name="newScene.error" description="Copy newScene.x3d example from common example archives and convert to other encodings.  Warning:  does not override Xalan in Netbeans and fails.">
         <echo>xslt classpath=${cp}</echo>
         <delete>
@@ -4735,7 +4739,7 @@ app.replica.args=-mode scene -mipmaps -antialias 8 -anisotropicDegree 16 -verbos
         </exec>
         <!-- https://www.saxonica.com/documentation9.5/using-xsl/commandline.html -->
         <echo>saxon -? help</echo>
-        <java classname="net.sf.saxon.Transform" classpath="${saxon.dir}/${saxon.jar};${saxon.dir}/${xmlresolver.jar};." failonerror="true">
+        <java classname="net.sf.saxon.Transform" classpath="${saxon.classpath}" failonerror="true">
         <arg value="-?" description="help information"/>
         </java>
         <echo></echo>
-- 
GitLab