<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Looks like Saxon9 is your own macro.  I’ll have to pull it out.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Sent: </b>Wednesday, April 19, 2017 12:39 AM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: Awful classnames in X3dToJava.xlst</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 4/18/2017 9:25 PM, yottzumm@gmail.com wrote:</p><p class=MsoNormal>> How do I pass that on the command line?  I must be using saxon wrong?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>every xslt processing engine has its own configuration style.  same stylesheet works in each case (thank you XSLT standard).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Using Netbeans or X3D-Edit or XMLSPy is actually quite simple: pick file, then pick stylesheet, then boom presto.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>use saxon docs, i believe there are links in the stylesheet... can add any other you suggest.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>quick search also finds</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>                Running XSLT from the Command Line</p><p class=MsoNormal>                http://www.saxonica.com/html/documentation/using-xsl/commandline/index.html</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>>  I will try to look at the build.xml files, but I am fading?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>each archive has a customized build.xml such as the following; heavy Ant-ness follows, somewhat documented.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>     <target name="processScenes.java" description="generate java source, .class files, javadoc" depends=""></p><p class=MsoNormal>                                <mkdir  dir="${java.classes.dir}"/></p><p class=MsoNormal>         <echo message="Verifying Apache Ant XML Catalog resolver classpath: ${resolver.dir}/resolver.jar (${resolver.jar.length} bytes)"/></p><p class=MsoNormal>         <for param="file.path.name"></p><p class=MsoNormal>             <path></p><p class=MsoNormal>                 <fileset refid="x3dScenes"/></p><p class=MsoNormal>             </path></p><p class=MsoNormal>             <sequential></p><p class=MsoNormal>                 <propertyregex</p><p class=MsoNormal>                         property="name.short"</p><p class=MsoNormal>                         override="true"</p><p class=MsoNormal>                         input="@{file.path.name}"</p><p class=MsoNormal>                         regexp="([^\n]*)[\\/]([^\n]*)\.x3d"</p><p class=MsoNormal>                         select="\2"/></p><p class=MsoNormal>                 <propertyregex</p><p class=MsoNormal>                         property="relative.path1"</p><p class=MsoNormal>                         override="true"</p><p class=MsoNormal>                         input="@{file.path.name}"</p><p class=MsoNormal>                         regexp="([^\n]*)ConformanceNist[\\/]([^\n^\\^/]*)[\\/]([^\n]*)\.x3d"</p><p class=MsoNormal>                         select="\2"/></p><p class=MsoNormal>                 <propertyregex</p><p class=MsoNormal>                         property="relative.path2"</p><p class=MsoNormal>                         override="true"</p><p class=MsoNormal>                         input="@{file.path.name}"</p><p class=MsoNormal>                         regexp="([^\n]*)ConformanceNist[\\/]([^\n^\\^/]*)[\\/]([^\n^\\^/]*)([\\/][^\n]*)\.x3d"</p><p class=MsoNormal>                         select="\3"/></p><p class=MsoNormal>                 <!-- trace</p><p class=MsoNormal>                 <echo></echo></p><p class=MsoNormal>                 <echo>@file.path.name       = @{file.path.name}</echo></p><p class=MsoNormal>                 <echo>$archive.path         = ${archive.path}</echo></p><p class=MsoNormal>                 <echo>$relative.path1       = ${relative.path1}</echo></p><p class=MsoNormal>                 <echo>$relative.path2       = ${relative.path2}</echo></p><p class=MsoNormal>                 <echo>$name.short           = ${name.short}</echo></p><p class=MsoNormal>                 --></p><p class=MsoNormal>                 <outofdate></p><p class=MsoNormal>                     <sourcefiles></p><p class=MsoNormal>                         <filelist></p><p class=MsoNormal>                             <file name="@{file.path.name}"/></p><p class=MsoNormal>                         </filelist></p><p class=MsoNormal>                     </sourcefiles></p><p class=MsoNormal>                     <mapper dir="." type="glob" from="*.x3d" to="*.java"/></p><p class=MsoNormal>                     <sequential></p><p class=MsoNormal>                         <!-- process individual files here. show full path to facilitate user loading, editing of reported files --></p><p class=MsoNormal>                         <echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.java produced from ${name.short}.x3d</echo></p><p class=MsoNormal>                         <!-- Saxon9 is locally defined macro --></p><p class=MsoNormal>                         <Saxon9  scene="${relative.path1}/${relative.path2}/${name.short}"</p><p class=MsoNormal>                             stylesheet="${stylesheet.dir}/X3dToJava"</p><p class=MsoNormal>                         parameterPair1="packageName=${archive.name}.${relative.path1}.${relative.path2}"</p><p class=MsoNormal>                         parameterPair2=  "className=${name.short}"</p><p class=MsoNormal>                         parameterPair3="includeLicense=true"</p><p class=MsoNormal>                                 suffix=""</p><p class=MsoNormal>                              extension="java"</p><p class=MsoNormal>                               compiled="false"</p><p class=MsoNormal>                                 expand="on"/></p><p class=MsoNormal>                         <!-- expand:on since DTD defaults needed --></p><p class=MsoNormal>                                                                                                <!-- <echo message="... compiling ${name.short}.java"/> --></p><p class=MsoNormal>                                                                                                <javac srcdir ="${relative.path1}/${relative.path2}/"</p><p class=MsoNormal>                                                                                                                 classpath="${x3djsail.stylesheets.dir}/${jsai.full.archive.jar.name}"</p><p class=MsoNormal>                                                                                                                   destdir="${java.classes.dir}"</p><p class=MsoNormal>                                                                                                                     debug="on"</p><p class=MsoNormal>                                                                                                                   verbose="${javac.verbose}"</p><p class=MsoNormal>                                                                                                                   failonerror="false"</p><p class=MsoNormal>                                                                                                                   includeantruntime="false"></p><p class=MsoNormal>                                                                                                                <include name="${name.short}.java"/></p><p class=MsoNormal>                                                                                                                <exclude name="newX3dScript.java"/></p><p class=MsoNormal>                                                                                                                <exclude name="**/CircleLines.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="**/bounce2.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="**/javasrc/**/*"/></p><p class=MsoNormal>                                                                                                                <exclude name="**/originals/**/*"/></p><p class=MsoNormal>                                                                                                                <!-- X3dForWebAuthors --></p><p class=MsoNormal>                                                                                                                <exclude name="KelpForestExhibit/FishSchoolCode/*"/></p><p class=MsoNormal>                                                                                                                <!-- Basic --></p><p class=MsoNormal>                                                                                                                <exclude name="course\ExtrusionXj3dGoldberg1999.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="development/TestRegularExpressionChecks.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="development/TestSchematronDiagnostics.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="development/QuadTreeExamples.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="development/SpinGroupInternalSubsetDeclaration.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="DistributedInteractiveSimulation/EntityProcessor*"/></p><p class=MsoNormal>                                                                                                                <exclude name="DistributedInteractiveSimulation/BaseballBackspin/*"/></p><p class=MsoNormal>                                                                                                                <exclude name="DistributedInteractiveSimulation/CannonProject/*"/></p><p class=MsoNormal>                                                                                                                <exclude name="DistributedInteractiveSimulation/EntityProcessor.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="ExperimentalBinaryCompression/isenburg/**/*"/></p><p class=MsoNormal>                                                                                                                <exclude name="ExternalAuthoringInterface/BoxEai.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="ExternalAuthoringInterface/CreateSphereEai.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="ExternalAuthoringInterface/HelixEai.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="ExternalAuthoringInterface/SwitcherEai.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="ExternalAuthoringInterface/ViewSwitchEai.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="ExternalAuthoringInterface/code/**/*"/></p><p class=MsoNormal>                                                                                                                <exclude name="Geospatial/GeoVrmlSiteExamples/**/*"/></p><p class=MsoNormal>                                                                                                                <exclude name="HumanoidAnimation/ClientNetListener.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="HumanoidAnimation/VoiceActivated/*"/></p><p class=MsoNormal>                                                                                                                <exclude name="LatticeXvl/XvlShell.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="Networking/ConnectionScript.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="Networking/NetworkSensorScript.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="NURBS/NurbsCurve.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="NURBS/NurbsPatchSurface.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="NURBS/NurbsPositionInterpolator.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="ScriptConformance/originalExamples/*"/></p><p class=MsoNormal>                                                                                                                <exclude name="ScriptConformance/SAIExample*.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="ScriptConformance/ScriptNodeEventOutControl.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="ScriptConformance/ScriptNodeFieldControl.*"/></p><p class=MsoNormal>                                                                                                                <exclude name="ScriptConformance/vrml/**/*"/></p><p class=MsoNormal>                                                                                                                <exclude name="ScriptConformance/originalExamples/*"/></p><p class=MsoNormal>                                                                                                                <exclude name="StudentProjects/DeadReckoningComparisons/*"/></p><p class=MsoNormal>                                                                                                                <exclude name="StudentProjects/melon/*"/></p><p class=MsoNormal>                                                                                                                <exclude name="StudentProjects/Race20/**/*"/></p><p class=MsoNormal>                                                                                                                <exclude name="X3dSpecifications/SAIExample*.*"/></p><p class=MsoNormal>                                                                                                                <!-- ConformanceNist --></p><p class=MsoNormal>                                                                                                                <exclude name="Miscellaneous/Script/**/*"/></p><p class=MsoNormal>                                                                                                                <!-- Savage Defense --></p><p class=MsoNormal>                                                                                                                <exclude name="qrcode/**/*.*"/></p><p class=MsoNormal>                                                                                                </javac></p><p class=MsoNormal>                                                                                                <echo message="now run and validate the java model"/></p><p class=MsoNormal>                                                                                                <echo message="java -classpath ${java.classes.dir};${x3djsail.stylesheets.dir}/${jsai.full.archive.jar.name};${saxon.dir}/${saxon.jar} ${archive.name}.${relative.path1}.${name.short}"/></p><p class=MsoNormal>                                                                                                <java    classname="${archive.name}.${relative.path1}.${relative.path2}.${name.short}"</p><p class=MsoNormal>                                                                                                                                 classpath="${java.classes.dir};${saxon.dir}/${saxon.jar};${x3djsail.stylesheets.dir}/${jsai.full.archive.jar.name}"</p><p class=MsoNormal>                                                                                                                   failonerror="false"/></p><p class=MsoNormal>                     </sequential></p><p class=MsoNormal>                 </outofdate></p><p class=MsoNormal>             </sequential></p><p class=MsoNormal>         </for></p><p class=MsoNormal>         <antcall target="echo.timestamp"/></p><p class=MsoNormal>         <echo>processScenes.java complete.</echo></p><p class=MsoNormal>                                <antcall target="processScenes.javadoc"/></p><p class=MsoNormal>     </target></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This uses a Saxon9 macro which is also in there:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>     <!-- excerpted/adapted from "SAXON XSLT Processing with Ant" by James Fuller, http://ablog.apress.com/?p=753 --></p><p class=MsoNormal>     <!-- http://www.saxonica.com/documentation9.0/using-xsl/commandline.html                                     --></p><p class=MsoNormal>     <macrodef name="Saxon9" description="Invoke XSLT transformation on passed scene using passed stylesheet"></p><p class=MsoNormal>         <attribute name="scene"/></p><p class=MsoNormal>         <attribute name="stylesheet"/></p><p class=MsoNormal>         <attribute name="suffix" default=""/></p><p class=MsoNormal>         <attribute name="extension"/></p><p class=MsoNormal>         <attribute name="compiled"/></p><p class=MsoNormal>                                <!-- http://www.saxonica.com/html/documentation/configuration/config-features.html --></p><p class=MsoNormal>         <attribute name="expand" default="off"/> <!-- http://saxon.sf.net/feature/expandAttributeDefaults --></p><p class=MsoNormal>         <!-- parameterPair1 must have a legal value or saxon fails mysteriously while running under jenkins! java.lang.StringIndexOutOfBoundsException: String index out of range: 0 --></p><p class=MsoNormal>         <attribute name="parameterPair1" default=""/></p><p class=MsoNormal>         <attribute name="parameterPair2" default=""/></p><p class=MsoNormal>         <attribute name="parameterPair3" default=""/></p><p class=MsoNormal>         <sequential></p><p class=MsoNormal>             <!--</p><p class=MsoNormal>             <echo message="Saxon9 processing @{scene}@{suffix}.@{extension} using @{stylesheet}, compiled=@{compiled}, parameterPair0=@{parameterPair0}, parameterPair1=@{parameterPair1}"/></p><p class=MsoNormal>             --></p><p class=MsoNormal>             <if></p><p class=MsoNormal>                 <equals arg1="@{compiled}" arg2="true" /></p><p class=MsoNormal>                 <then></p><p class=MsoNormal>                     <java classname="net.sf.saxon.Transform"</p><p class=MsoNormal>                           classpath="${saxon.dir}/${saxon.jar};${resolver.dir}/resolver.jar"</p><p class=MsoNormal>                           fork="${fork}"</p><p class=MsoNormal>                           failonerror="false"></p><p class=MsoNormal>                         <!-- TODO</p><p class=MsoNormal>                         <jvmarg value="-Dxml.catalog.files=C:/www.web3d.org/specifications/OasisXmlCatalogX3D.xml"/></p><p class=MsoNormal>                         <jvmarg value="-Dxml.catalog.verbosity=4"/></p><p class=MsoNormal>                         use the Apache commons resolver for XML Catalog resolution of online DTD, schema addresses</p><p class=MsoNormal>                         http://sourceforge.net/apps/mediawiki/saxon/index.php?title=XML_Catalogs</p><p class=MsoNormal>                         "How to use a catalog file:  Using catalogs with Saxon"</p><p class=MsoNormal>                         http://www.sagehill.net/docbookxsl/UseCatalog.html</p><p class=MsoNormal>                         download resolver.jar from http://www.apache.org/dist/xerces/xml-commons (formerly http://xml.apache.org/commons/dist)</p><p class=MsoNormal>                         unzip package and install resolver.jar into classpath above,</p><p class=MsoNormal>                         must also have CatalogManager.properties in CLASSPATH</p><p class=MsoNormal>                         <arg value="-r:org.apache.xml.resolver.tools.CatalogResolver"/></p><p class=MsoNormal>                         <arg value="-x:org.apache.xml.resolver.tools.ResolvingXMLReader"/></p><p class=MsoNormal>                         <arg value="-y:org.apache.xml.resolver.tools.ResolvingXMLReader"/></p><p class=MsoNormal>                         <arg value="-u"/> -->  <!-- source file name is resolved to a JAXP Source object --></p><p class=MsoNormal>                         <!-- <arg value="-t"/> timing information --></p><p class=MsoNormal>                         <!-- <arg value="-T"/> trace (voluminous) --></p><p class=MsoNormal>                         <arg value="-warnings:recover"/> <!-- recover after writing a warning message --></p><p class=MsoNormal>                         <arg value="-s:@{scene}.x3d"/>                  <!--  input file --></p><p class=MsoNormal>                         <arg value="-o:@{scene}@{suffix}.@{extension}"/><!-- output file --></p><p class=MsoNormal>                         <arg value="-c:@{stylesheet}.sxx"/>  <!-- compiled stylesheet --></p><p class=MsoNormal>                         <arg value="-dtd:off"/>              <!-- suppress creation of default DTD values, only use values in document --></p><p class=MsoNormal>                         <arg value="-expand:@{expand}"/>     <!-- whether to expand (i.e. add) DTD default values (on|off) --></p><p class=MsoNormal>                         <arg value="@{parameterPair1}"/>     <!-- parameter=value passed to stylesheet --></p><p class=MsoNormal>                         <arg value="@{parameterPair2}"/></p><p class=MsoNormal>                         <arg value="@{parameterPair3}"/></p><p class=MsoNormal>                     </java></p><p class=MsoNormal>                 </then></p><p class=MsoNormal>                 <else> <!-- not compiled --></p><p class=MsoNormal>                     <java classname="net.sf.saxon.Transform"</p><p class=MsoNormal>                           classpath="${saxon.dir}/${saxon.jar};${resolver.dir}/resolver.jar"</p><p class=MsoNormal>                           fork="${fork}"</p><p class=MsoNormal>                           failonerror="false"></p><p class=MsoNormal>                         <!-- TODO</p><p class=MsoNormal>                         <jvmarg value="-Dxml.catalog.files=C:/www.web3d.org/specifications/OasisXmlCatalogX3D.xml"/></p><p class=MsoNormal>                         <jvmarg value="-Dxml.catalog.verbosity=4"/></p><p class=MsoNormal>                         use the Apache commons resolver for XML Catalog resolution of online DTD, schema addresses</p><p class=MsoNormal>                         http://sourceforge.net/apps/mediawiki/saxon/index.php?title=XML_Catalogs</p><p class=MsoNormal>                         "How to use a catalog file:  Using catalogs with Saxon"</p><p class=MsoNormal>                         http://www.sagehill.net/docbookxsl/UseCatalog.html</p><p class=MsoNormal>                         download resolver.jar from http://www.apache.org/dist/xerces/xml-commons (formerly http://xml.apache.org/commons/dist)</p><p class=MsoNormal>                         unzip package and install resolver.jar into classpath above,</p><p class=MsoNormal>                         must also have CatalogManager.properties in CLASSPATH</p><p class=MsoNormal>                         <arg value="-r:org.apache.xml.resolver.tools.CatalogResolver"/></p><p class=MsoNormal>                         <arg value="-x:org.apache.xml.resolver.tools.ResolvingXMLReader"/></p><p class=MsoNormal>                         <arg value="-y:org.apache.xml.resolver.tools.ResolvingXMLReader"/> --></p><p class=MsoNormal>                         <!-- <arg value="-t"/> timing information --></p><p class=MsoNormal>                         <!-- <arg value="-T"/> trace (voluminous) --></p><p class=MsoNormal>                         <arg value="-warnings:recover"/> <!-- recover after writing a warning message --></p><p class=MsoNormal>                         <arg value="-s:@{scene}.x3d"/></p><p class=MsoNormal>                         <arg value="-o:@{scene}@{suffix}.@{extension}"/></p><p class=MsoNormal>                         <arg value="-xsl:@{stylesheet}.xslt"/>  <!-- regular stylesheet --></p><p class=MsoNormal>                         <arg value="-dtd:off"/>                 <!-- suppress creation of default DTD values, only use values in document --></p><p class=MsoNormal>                         <arg value="-expand:@{expand}"/>        <!-- whether to expand (i.e. add) DTD default values (on|off) --></p><p class=MsoNormal>                         <arg value="@{parameterPair1}"/>        <!-- parameter=value passed to stylesheet --></p><p class=MsoNormal>                         <arg value="@{parameterPair2}"/></p><p class=MsoNormal>                         <arg value="@{parameterPair3}"/></p><p class=MsoNormal>                     </java></p><p class=MsoNormal>                 </else></p><p class=MsoNormal>             </if></p><p class=MsoNormal>         </sequential></p><p class=MsoNormal>     </macrodef></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>all the best, Don</p><p class=MsoNormal>-- </p><p class=MsoNormal>Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu</p><p class=MsoNormal>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>