<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Okay, I also confirmed that in my setup.  I apologize for missing
      your prior message.</p>
    <p>Unless X3dToJava.xslt is not supposed to list default attributes
      (it still produced the code directly below, on an edited, new
      Teapot.x3d, with '' as a meta,lang attribute value), we're good. 
      If the default is NULL, my guess is the X3dToJava.xslt stylesheet
      is correct.</p>
    <p>I haven't found any way to suppressing default lang values in
      X3dToJava.xslt or X3dToPython.xslt  Other conversions appear
      successful.</p>
    <p>Here's the test code I used:</p>
    <p><meta content='Teapot.x3d' name='title' lang=''/></p>
    <p>I was getting a lot of errors with the Java code, we may want to
      address coding style for autogenerated code.</p>
    <p>Cofirmation that Teapot.py generated contains lang:</p>
    <p>meta(content='Teapot.x3d',name='title',lang=''),</p>
    <p>Confirmation that Teapot.java generated contains xml:lang:</p>
    <p>.addMeta(new meta().setName(meta.NAME_TITLE     
      ).setContent("Teapot.x3d")/* xml:lang='' */)<br>
    </p>
    <p><br>
    </p>
    <p>John<br>
    </p>
    <div class="moz-cite-prefix">On 11/19/21 17:33, Brutzman, Donald
      (Don) (CIV) wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:BY3PR13MB4884B0A05799D05B59EADBA2C49C9@BY3PR13MB4884.namprd13.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style>@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;}@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}span.pl-k
        {mso-style-name:pl-k;}span.pl-pds
        {mso-style-name:pl-pds;}span.pl-c
        {mso-style-name:pl-c;}span.EmailStyle24
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}div.WordSection1
        {page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p><span style="color:windowtext">Sure, have fun.  As
            (hopefully) communicated earlier in the week, current
            experimental way of handling xml:lang in Java is the
            inserted comment<o:p></o:p></span></p>
        <p><span style="color:windowtext">     </span><span
style="font-size:9.0pt;font-family:Consolas;color:#F50505;background:white">.someInvcation(<span
              class="pl-pds">""</span>)<span class="pl-c">/* xml:lang=''
              */</span><span class="pl-k">.anotherInvocation(</span><span
              class="pl-pds">""</span><span class="pl-k">)<o:p></o:p></span></span></p>
        <p><span class="pl-k"><span
style="font-size:9.0pt;font-family:Consolas;color:#0D0D0D;mso-style-textfill-fill-color:#0D0D0D;mso-style-textfill-fill-alpha:100.0%;background:white"><span
                style="color:windowtext">Java comments are not
                persistent, of course.  This experimental commenting is
                likely to go away, if we indeed conclude next week that
                the XML-only attribute xml:lang=’EN’ is not something we
                want to encourage.</span></span></span><span
style="font-size:9.0pt;font-family:Consolas;color:#0D0D0D;mso-style-textfill-fill-color:#0D0D0D;mso-style-textfill-fill-alpha:100.0%;background:white"><o:p></o:p></span></p>
        <div>
          <p class="MsoNormal"><span
              style="font-size:10.0pt;font-family:"Courier
              New",serif;color:windowtext"><o:p> </o:p></span></p>
          <p class="MsoNormal"><span
              style="font-size:10.0pt;font-family:"Courier
              New",serif;color:windowtext">all the best, Don<o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-size:10.0pt;font-family:"Courier
              New",serif;color:windowtext">--
              <o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-size:10.0pt;font-family:"Courier
              New",serif;color:windowtext">Don Brutzman  Naval
              Postgraduate School, Code USW/Br        <a class="moz-txt-link-abbreviated" href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-size:10.0pt;font-family:"Courier
              New",serif;color:windowtext">Watkins 270,  MOVES
              Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<o:p></o:p></span></p>
          <p class="MsoNormal"><span
              style="font-size:10.0pt;font-family:"Courier
              New",serif;color:windowtext">X3D graphics, virtual
              worlds, navy robotics https://</span><span
              style="color:windowtext">
            </span><span
              style="font-size:10.0pt;font-family:"Courier
              New",serif;color:windowtext">faculty.nps.edu/brutzman<o:p></o:p></span></p>
        </div>
        <p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span
                style="color:windowtext"> John Carlson
                <a class="moz-txt-link-rfc2396E" href="mailto:yottzumm@gmail.com"><yottzumm@gmail.com></a>
                <br>
                <b>Sent:</b> Friday, November 19, 2021 2:05 PM<br>
                <b>To:</b> Brutzman, Donald (Don) (CIV)
                <a class="moz-txt-link-rfc2396E" href="mailto:brutzman@nps.edu"><brutzman@nps.edu></a><br>
                <b>Cc:</b> X3D Graphics public mailing list
                <a class="moz-txt-link-rfc2396E" href="mailto:x3d-public@web3d.org"><x3d-public@web3d.org></a><br>
                <b>Subject:</b> Re: potential error in X3dToJava.xslt
                (setLang not called for meta statements.<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div style="border:solid #004679 1.0pt;padding:2.0pt 2.0pt 2.0pt
          2.0pt">
          <p class="MsoNormal"
            style="line-height:12.0pt;background:#004679"><span
              style="font-size:10.0pt;color:yellow">NPS WARNING:
              *external sender* verify before acting.<o:p></o:p></span></p>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <p>Here's the Teapot.java I was referring to: <a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcoderextreme%2FX3DJSONLD%2Fblob%2Fmaster%2Fsrc%2Fmain%2Fjava%2Fnet%2Fx3djsonld%2Fdata%2FTeapot.java&data=04%7C01%7Cbrutzman%40nps.edu%7Cf1103a63e2b14940b58708d9aba8a973%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637729564199121629%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=qHGe%2BAuIhpImUbqicGZG5JZc%2FeSehQdFRYEfs2hvytY%3D&reserved=0"
              moz-do-not-send="true">
https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/java/net/x3djsonld/data/Teapot.java</a>.<o:p></o:p></p>
          <p>I verified my in email was a git diff.  The filenames are
            in the first few lines.<o:p></o:p></p>
          <p>I will look for updates.<o:p></o:p></p>
          <p>Parallel to your code, my checked in Teapot.java, created
            with stylesheets, looks like:<o:p></o:p></p>
          <p><span class="pl-k"><span
style="font-size:9.0pt;font-family:Consolas;color:#F50505;background:white">.</span></span><span
style="font-size:9.0pt;font-family:Consolas;color:#F50505;background:white">setDir(<span
                class="pl-pds">""</span>)<span class="pl-k">.</span>setHttp_equiv(<span
                class="pl-pds">""</span>)<span class="pl-c">/*<o:p></o:p></span></span></p>
          <p><span class="pl-c"><span
style="font-size:9.0pt;font-family:Consolas;color:#F50505;background:white">xml:lang=''
                */</span></span><span class="pl-k"><span
style="font-size:9.0pt;font-family:Consolas;color:#F50505;background:white">.</span></span><span
style="font-size:9.0pt;font-family:Consolas;color:#F50505;background:white">setScheme(<span
                class="pl-pds">""</span>))</span><o:p></o:p></p>
          <div>
            <p class="MsoNormal">I will look further into your
              referenced build.xml, I'm looking more for how to do more
              than one file (validating with Java) *and* do to do a
              single file validator.  I already have code to do Saxon
              stuff.<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">I have one more comment below.<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">John<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">On 11/19/21 03:56, Brutzman, Donald
              (Don) (CIV) wrote:<o:p></o:p></p>
          </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <p class="MsoNormal">Thanks for report. Not sure what change
              or problem you are reporting however.  Further you mention
              Teapot but then show another example, Mooring Buoy.  Hmmm.<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">I suspect that you are getting things
              like
              setDir("").setHttp_equiv("").setLang("").setScheme("")
              because you do not have Saxon invocation set to strip
              default attribute values.<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">Excerpt from <a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fx3dgraphics.com%2Fexamples%2FX3dForAdvancedModeling%2Fbuild.xml&data=04%7C01%7Cbrutzman%40nps.edu%7Cf1103a63e2b14940b58708d9aba8a973%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637729564199131586%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=BHTDyCJajRXO%2F4EtUBSpyrfhUgXH1fz4GQe3GEihPVc%3D&reserved=0"
                moz-do-not-send="true">
https://x3dgraphics.com/examples/X3dForAdvancedModeling/build.xml</a>
              showing invocation parameters<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">                        <!-- process
              individual files here. show full path to facilitate user
              loading, editing of reported files --><o:p></o:p></p>
            <p class="MsoNormal">                       
<echo>${archive.path}/${relative.path1}/${relative.path2}/${name.short}.x3d
              converted to ${name.short}.java</echo><o:p></o:p></p>
            <p class="MsoNormal">                        <!-- Saxon10
              is locally defined macro --><o:p></o:p></p>
            <p class="MsoNormal">                        <Saxon10 
              scene="${relative.path1}/${relative.path2}/${name.short}"<o:p></o:p></p>
            <p class="MsoNormal">                           
              stylesheet="${stylesheet.dir}/X3dToJava"<o:p></o:p></p>
            <p class="MsoNormal">                       
parameterPair1="packageName=${archive.name}.${relative.path1}${relative.path2}"<o:p></o:p></p>
            <p class="MsoNormal">                       
              parameterPair2=  "className=${name.short}"<o:p></o:p></p>
            <p class="MsoNormal">                       
              parameterPair3="includeLicense=true"<o:p></o:p></p>
            <p class="MsoNormal">                               
              suffix=""<o:p></o:p></p>
            <p class="MsoNormal">                            
              extension="java"<o:p></o:p></p>
            <p class="MsoNormal">                               
              expand="on"/><o:p></o:p></p>
            <p class="MsoNormal">                        <!--
              expand:on since DTD defaults needed --><o:p></o:p></p>
            <p class="MsoNormal">                                                                          
                             <!-- <echo message="... compiling
              ${name.short}.java"/> --><o:p></o:p></p>
            <p class="MsoNormal">                                                                          
                             <javac 
              srcdir="${relative.path1}/${relative.path2}/"<o:p></o:p></p>
            <p class="MsoNormal">                             
                                                         
                                           
               includes="${name.short}.java"<o:p></o:p></p>
            <p class="MsoNormal">                                                                          
                                           
              classpath="${x3djsail.stylesheets.dir}/${jsai.full.archive.jar.name}"<o:p></o:p></p>
            <p class="MsoNormal">                                                                          
                                              
              destdir="${java.classes.dir}"<o:p></o:p></p>
            <p class="MsoNormal">                                                                          
                                                 debug="on"<o:p></o:p></p>
            <p class="MsoNormal">                              
                                                        
                                                source="${java.source}"<o:p></o:p></p>
            <p class="MsoNormal">                               
                                                       
                                                target="${java.target}"<o:p></o:p></p>
            <p class="MsoNormal">                                                                          
                                              
              verbose="${javac.verbose}"<o:p></o:p></p>
            <p class="MsoNormal">                                                                          
                                               failonerror="false"<o:p></o:p></p>
            <p class="MsoNormal">                                                                          
                                              
              includeantruntime="false"><o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">Anyway I’m not seeing what your seeing,
              here is my local test of Teapot:<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">• <a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fx3dgraphics.com%2Fexamples%2FX3dForAdvancedModeling%2FGeometricShapes%2FTeapotIndex.html&data=04%7C01%7Cbrutzman%40nps.edu%7Cf1103a63e2b14940b58708d9aba8a973%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637729564199131586%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=G9uQ4DImongsN10uwh%2F8UkXkhGGb9YJfQGUu0xC38C0%3D&reserved=0"
                moz-do-not-send="true">
https://x3dgraphics.com/examples/X3dForAdvancedModeling/GeometricShapes/TeapotIndex.html</a><o:p></o:p></p>
            <p class="MsoNormal">• <a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fx3dgraphics.com%2Fexamples%2FX3dForAdvancedModeling%2FGeometricShapes%2FTeapotIndex.x3d&data=04%7C01%7Cbrutzman%40nps.edu%7Cf1103a63e2b14940b58708d9aba8a973%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637729564199141544%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=%2B6EdtOQKsR8%2FLJ8A%2Fi51dbOUsMCrpzzBhRbC6tgmDBs%3D&reserved=0"
                moz-do-not-send="true">
https://x3dgraphics.com/examples/X3dForAdvancedModeling/GeometricShapes/TeapotIndex.x3d</a><o:p></o:p></p>
            <p class="MsoNormal">• <a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fx3dgraphics.com%2Fexamples%2FX3dForAdvancedModeling%2FGeometricShapes%2FTeapotIndex.java&data=04%7C01%7Cbrutzman%40nps.edu%7Cf1103a63e2b14940b58708d9aba8a973%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637729564199141544%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=owsSQhAhkIjqfN%2BAV5cIwivsrFMXtI%2FrRJ4J6gFEyCE%3D&reserved=0"
                moz-do-not-send="true">
https://x3dgraphics.com/examples/X3dForAdvancedModeling/GeometricShapes/TeapotIndex.java</a><o:p></o:p></p>
          </blockquote>
          <p><o:p> </o:p></p>
          <p>I'm seeing TeapotIndex.java here, and Teapot.java below. 
            Please clarify.<o:p></o:p></p>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <p class="MsoNormal"> <o:p></o:p></p>
            <div style="border-top:solid windowtext
              1.0pt;border-left:none;border-bottom:solid windowtext
              1.0pt;border-right:none;padding:1.0pt 0in 1.0pt 0in">
              <p class="MsoNormal">ant -f C:\\x3d-code\\<a
                  href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling"
                  moz-do-not-send="true">www.web3d.org\\x3d\\content\\examples\\X3dForAdvancedModeling</a>
                processScenes.java<o:p></o:p></p>
              <p class="MsoNormal">clean.RoundTrip:<o:p></o:p></p>
              <p class="MsoNormal">ensuring any prior converted
                *RoundTrip*.* source files are cleaned out...<o:p></o:p></p>
              <p class="MsoNormal">processScenes.java:<o:p></o:p></p>
              <p class="MsoNormal">Verifying Apache Ant XML Catalog
                resolver classpath:
                C:\apache-ant-1.10.11\lib/xml-resolver-1.2.jar (84091
                bytes)<o:p></o:p></p>
              <p class="MsoNormal">versions:<o:p></o:p></p>
              <p class="MsoNormal">ant -version<o:p></o:p></p>
              <p class="MsoNormal">Apache Ant(TM) version 1.10.11
                compiled on July 10 2021<o:p></o:p></p>
              <p class="MsoNormal">java -version<o:p></o:p></p>
              <p class="MsoNormal">openjdk version "16" 2021-03-16<o:p></o:p></p>
              <p class="MsoNormal">OpenJDK Runtime Environment (build
                16+36-2231)<o:p></o:p></p>
              <p class="MsoNormal">OpenJDK 64-Bit Server VM (build
                16+36-2231, mixed mode, sharing)<o:p></o:p></p>
              <p class="MsoNormal">python -version<o:p></o:p></p>
              <p class="MsoNormal">Python 3.9.7<o:p></o:p></p>
              <p class="MsoNormal">saxon -? help<o:p></o:p></p>
              <p class="MsoNormal">Saxon-HE 10.6J from Saxonica<o:p></o:p></p>
              <p class="MsoNormal">Usage: see <a
href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.saxonica.com%2Fdocumentation%2Findex.html%23!using-xsl%2Fcommandline&data=04%7C01%7Cbrutzman%40nps.edu%7Cf1103a63e2b14940b58708d9aba8a973%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637729564199151499%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=EQhogT8lv8%2BrtbOrX0yTVWMRP9KKHUs3Q%2FNfzirAiEc%3D&reserved=0"
                  moz-do-not-send="true">
http://www.saxonica.com/documentation/index.html#!using-xsl/commandline</a><o:p></o:p></p>
              <p class="MsoNormal">Format: net.sf.saxon.Transform
                options params<o:p></o:p></p>
              <p class="MsoNormal">Options available: -? -a -catalog
                -config -cr -diag -dtd -ea -expand -explain -export -ext
                -im -init -it -jit -l -lib -license -m -nogo -now -ns -o
                -opt -or -outval -p -quit -r -relocate -repeat -s -sa
                -scmin -strip -t -T -target -TB -threads -TJ -Tlevel
                -Tout -TP -traceout -tree -u -val -versionmsg -warnings
                -x -xi -xmlversion -xsd -xsdversion -xsiloc -xsl -y --?<o:p></o:p></p>
              <p class="MsoNormal">Use -XYZ:? for details of option XYZ<o:p></o:p></p>
              <p class="MsoNormal">Params: <o:p></o:p></p>
              <p class="MsoNormal">  param=value           Set
                stylesheet string parameter<o:p></o:p></p>
              <p class="MsoNormal">  +param=filename       Set
                stylesheet document parameter<o:p></o:p></p>
              <p class="MsoNormal">  ?param=expression     Set
                stylesheet parameter using XPath<o:p></o:p></p>
              <p class="MsoNormal">  !param=value          Set
                serialization parameter<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal">  ANT_HOME=C:\apache-ant-1.10.11<o:p></o:p></p>
              <p class="MsoNormal">JAVA_HOME=C:\Program
                Files\Java\openjdk\jdk-16<o:p></o:p></p>
              <p class="MsoNormal">PYTHONHOME=C:\Program Files\Python39<o:p></o:p></p>
              <p class="MsoNormal">PYTHONPATH=C:\x3d-code\<a
                  href="http://www.web3d.org/x3d/stylesheets/python/x3d"
                  moz-do-not-send="true">www.web3d.org\x3d\stylesheets\python\x3d</a><o:p></o:p></p>
              <p class="MsoNormal">Check for X3DJSAIL
                ${jsail.full.archive.jar.name} or
                X3DJSAIL.4.0.classes.jar<o:p></o:p></p>
              <p class="MsoNormal">CLASSPATH=C:\x3d-code\<a
href="http://www.web3d.org/x3d/stylesheets/java/jars/X3DJSAIL.4.0.full.jar"
                  moz-do-not-send="true">www.web3d.org\x3d\stylesheets\java\jars\X3DJSAIL.4.0.full.jar</a>;<o:p></o:p></p>
              <p class="MsoNormal">javac source/target     
                $java.source=1.8<o:p></o:p></p>
              <p class="MsoNormal">Java/JVM version   
                $ant.java.version=16<o:p></o:p></p>
              <p class="MsoNormal">Java/JVM detail version
                $java.version=16<o:p></o:p></p>
              <p class="MsoNormal">Ant version             
                $ant.version=Apache Ant(TM) version 1.10.11 compiled on
                July 10 2021<o:p></o:p></p>
              <p class="MsoNormal">Check for node.js installation from <a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fnodejs.org%2F&data=04%7C01%7Cbrutzman%40nps.edu%7Cf1103a63e2b14940b58708d9aba8a973%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637729564199161459%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=NrqkhJjL5ATSQR2tJY%2FmeUaXsqnNrjKbUp8mTxC38s0%3D&reserved=0"
                  moz-do-not-send="true">
                  https://nodejs.org</a><o:p></o:p></p>
              <p class="MsoNormal">v14.17.6<o:p></o:p></p>
              <p class="MsoNormal">lib/X3DJSAIL.4.0.full.jar -version<o:p></o:p></p>
              <p class="MsoNormal">X3DJSAIL version date: 12 October
                2021<o:p></o:p></p>
              <p class="MsoNormal">Configuration settings:  <a
                  href="https://savage.nps.edu/Savage/developers.html"
                  moz-do-not-send="true" class="moz-txt-link-freetext">
                  https://savage.nps.edu/Savage/developers.html</a><o:p></o:p></p>
              <p class="MsoNormal">===========================================<o:p></o:p></p>
              <p class="MsoNormal">C:\x3d-code\<a
href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/Teapot.x3d"
                  moz-do-not-send="true">www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/GeometricShapes//Teapot.x3d</a>
                converted to Teapot.java<o:p></o:p></p>
              <p class="MsoNormal">Compiling 1 source file to
                C:\x3d-code\<a
href="http://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/classes"
                  moz-do-not-send="true">www.web3d.org\x3d\content\examples\X3dForAdvancedModeling\classes</a><o:p></o:p></p>
              <p class="MsoNormal">now run and validate the java model<o:p></o:p></p>
              <p class="MsoNormal">java -classpath
                classes;../../../stylesheets/java/jars/X3DJSAIL.4.0.full.jar
                X3dForAdvancedModeling.GeometricShapes.Teapot<o:p></o:p></p>
              <p class="MsoNormal">Java program
                "X3dForAdvancedModeling.GeometricShapes.Teapot"
                self-validation test results: success<o:p></o:p></p>
              <p class="MsoNormal">===================================<o:p></o:p></p>
              <p class="MsoNormal">echo.timestamp:<o:p></o:p></p>
              <p class="MsoNormal">timestamp 01:36:46 on 19 November
                2021<o:p></o:p></p>
              <p class="MsoNormal">processScenes.java complete.<o:p></o:p></p>
              <p class="MsoNormal">BUILD SUCCESSFUL (total time: 5
                seconds)<o:p></o:p></p>
            </div>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:10.0pt;font-family:"Courier
                  New",serif"> </span><o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.0pt;font-family:"Courier
                  New",serif">all the best, Don</span><o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.0pt;font-family:"Courier
                  New",serif">--
                </span><o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.0pt;font-family:"Courier
                  New",serif">Don Brutzman  Naval Postgraduate
                  School, Code USW/Br       
                  <a href="mailto:brutzman@nps.edu"
                    moz-do-not-send="true" class="moz-txt-link-freetext">brutzman@nps.edu</a></span><o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.0pt;font-family:"Courier
                  New",serif">Watkins 270,  MOVES Institute,
                  Monterey CA 93943-5000 USA    +1.831.656.2149</span><o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.0pt;font-family:"Courier
                  New",serif">X3D graphics, virtual worlds, navy
                  robotics https://</span>
                <span style="font-size:10.0pt;font-family:"Courier
                  New",serif">faculty.nps.edu/brutzman</span><o:p></o:p></p>
            </div>
            <p class="MsoNormal"> <o:p></o:p></p>
            <div>
              <div style="border:none;border-top:solid #E1E1E1
                1.0pt;padding:3.0pt 0in 0in 0in">
                <p class="MsoNormal"><b>From:</b> John Carlson <a
                    href="mailto:yottzumm@gmail.com"
                    moz-do-not-send="true">
                    <yottzumm@gmail.com></a> <br>
                  <b>Sent:</b> Thursday, November 18, 2021 2:31 AM<br>
                  <b>To:</b> Brutzman, Donald (Don) (CIV) <a
                    href="mailto:brutzman@nps.edu"
                    moz-do-not-send="true"><brutzman@nps.edu></a>;
                  X3D Graphics public mailing list
                  <a href="mailto:x3d-public@web3d.org"
                    moz-do-not-send="true"><x3d-public@web3d.org></a><br>
                  <b>Subject:</b> potential error in X3dToJava.xslt
                  (setLang not called for meta statements.<o:p></o:p></p>
              </div>
            </div>
            <p class="MsoNormal"> <o:p></o:p></p>
            <div>
              <p>Before/after difference in Teapot.java.<o:p></o:p></p>
              <p> <o:p></o:p></p>
              <p><b>diff --git
                  a/src/main/java/net/x3djsonld/data/Teapot.java
                  b/src/main/java/net/x3djsonld/data/Teapot.java</b>
                <span style="font-family:"Courier New",serif"><br>
                  <b><span style="background:white">index
                      a9fdb5619..3ad954bd0 100644</span></b><span
                    style="background:white">
                  </span><br>
                  <b><span style="background:white">---
                      a/src/main/java/net/x3djsonld/data/Teapot.java</span></b><span
                    style="background:white">
                  </span><br>
                  <b><span style="background:white">+++
                      b/src/main/java/net/x3djsonld/data/Teapot.java</span></b><span
                    style="background:white">
                  </span><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#18B2B2;background:white">@@
                  -88,16 +88,16 @@</span><span
                  style="font-family:"Courier
                  New",serif;background:white"> public class Teapot
                </span><span style="font-family:"Courier
                  New",serif"><br>
                         { <br>
                    x3dModel = new
                  X3D().setProfile(X3D.PROFILE_INTERCHANGE).setVersion(X3D.VERSION_3_0)
                  <br>
                    .setHead(new head() <br>
                </span><span style="font-family:"Courier
                  New",serif;color:#B21818;background:white">-
                     .addMeta(new meta().setName(meta.NAME_TITLE
     ).setContent("Teapot.x3d").setDir("").setHttp_equiv("").setLang("").setScheme(""))</span><span
                  style="font-family:"Courier
                  New",serif;background:white">
                </span><span style="font-family:"Courier
                  New",serif"><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#B21818;background:white">-
                     .addMeta(new
                  meta().setName(meta.NAME_DESCRIPTION).setContent("A
                  mooring buoy used in Naval
                  Harbors").setDir("").setHttp_equiv("").setLang("").setScheme(""))</span><span
                  style="font-family:"Courier
                  New",serif;background:white">
                </span><span style="font-family:"Courier
                  New",serif"><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#B21818;background:white">-
                     .addMeta(new meta().setName(meta.NAME_CREATOR
                     ).setContent("LT Patrick
                  Sullivan").setDir("").setHttp_equiv("").setLang("").setScheme(""))</span><span
                  style="font-family:"Courier
                  New",serif;background:white">
                </span><span style="font-family:"Courier
                  New",serif"><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#B21818;background:white">-
                     .addMeta(new meta().setName(meta.NAME_CREATED
                     ).setContent("28 July
                  2006").setDir("").setHttp_equiv("").setLang("").setScheme(""))</span><span
                  style="font-family:"Courier
                  New",serif;background:white">
                </span><span style="font-family:"Courier
                  New",serif"><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#B21818;background:white">-
                     .addMeta(new meta().setName(meta.NAME_MODIFIED
                    ).setContent("12 January
                  2014").setDir("").setHttp_equiv("").setLang("").setScheme(""))</span><span
                  style="font-family:"Courier
                  New",serif;background:white">
                </span><span style="font-family:"Courier
                  New",serif"><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#B21818;background:white">-
                     .addMeta(new meta().setName(meta.NAME_IDENTIFIER
                  ).setContent(<a
href="https://savage.nps.edu/Savage/HarborEquipment/Buoys/MooringBuoy.x3d"
                    moz-do-not-send="true">"https://savage.nps.edu/Savage/HarborEquipment/Buoys/MooringBuoy.x3d"</a>).setDir("").setHttp_equiv(""</span><span
                  style="font-family:"Courier New",serif"><br>
                  ).setLang("").setScheme(""))<span
                    style="background:white"> </span><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#B21818;background:white">-
                     .addMeta(new meta().setName(meta.NAME_GENERATOR
                   ).setContent("VizX3D,
                  <a
href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.vivaty.com%2Fdownloads%2Fstudio&data=04%7C01%7Cbrutzman%40nps.edu%7Cf1103a63e2b14940b58708d9aba8a973%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637729564199161459%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=DVRDzLRhQlnbdPUiJMNbbcOgzeFTWD%2Fka%2F%2FYbKpbNRU%3D&reserved=0"
                    moz-do-not-send="true">
                    http://www.vivaty.com/downloads/studio</a>").setDir("").setHttp_equiv("").setLang("").setSche</span><span
                  style="font-family:"Courier New",serif"><br>
                  me(""))<span style="background:white"> </span><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#B21818;background:white">-
                     .addMeta(new meta().setName(meta.NAME_GENERATOR
                   ).setContent("Wings3D,
                  <a
href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.wings3d.com%2F&data=04%7C01%7Cbrutzman%40nps.edu%7Cf1103a63e2b14940b58708d9aba8a973%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637729564199171409%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=2nJQuOY35cNZtpP9BZJtS6KYIkLtmby8Qrk%2FTNIa4%2FE%3D&reserved=0"
                    moz-do-not-send="true">
                    http://www.wings3d.com</a>").setDir("").setHttp_equiv("").setLang("").setScheme(""))</span><span
                  style="font-family:"Courier
                  New",serif;background:white">
                </span><span style="font-family:"Courier
                  New",serif"><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#B21818;background:white">-
                     .addMeta(new meta().setName(meta.NAME_GENERATOR
                   ).setContent("X3D-Edit,
                  <a href="https://savage.nps.edu/X3D-Edit"
                    moz-do-not-send="true" class="moz-txt-link-freetext">https://savage.nps.edu/X3D-Edit</a>").setDir("").setHttp_equiv("").setLang("").setScheme(""</span><span
                  style="font-family:"Courier New",serif"><br>
                  ))<span style="background:white"> </span><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#B21818;background:white">-
                     .addMeta(new meta().setName(meta.NAME_LICENSE
   ).setContent("../../license.html").setDir("").setHttp_equiv("").setLang("").setScheme("")))</span><span
                  style="font-family:"Courier
                  New",serif;background:white">
                </span><span style="font-family:"Courier
                  New",serif"><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#18B218;background:white">+
                     .addMeta(new meta().setName(meta.NAME_TITLE
                       ).setContent("Teapot.x3d").setDir("").setHttp_equiv("")/*
                  xml:lang='' */.setScheme(""))</span><span
                  style="font-family:"Courier
                  New",serif;background:white">
                </span><span style="font-family:"Courier
                  New",serif"><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#18B218;background:white">+
                     .addMeta(new
                  meta().setName(meta.NAME_DESCRIPTION).setContent("A
                  mooring buoy used in Naval
                  Harbors").setDir("").setHttp_equiv("")/* xml:lang=''
                  */.setScheme(""</span><span
                  style="font-family:"Courier New",serif"><br>
                  ))<span style="background:white"> </span><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#18B218;background:white">+
                     .addMeta(new meta().setName(meta.NAME_CREATOR
                     ).setContent("LT Patrick
                  Sullivan").setDir("").setHttp_equiv("")/* xml:lang=''
                  */.setScheme(""))</span><span
                  style="font-family:"Courier
                  New",serif;background:white">
                </span><span style="font-family:"Courier
                  New",serif"><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#18B218;background:white">+
                     .addMeta(new meta().setName(meta.NAME_CREATED
                     ).setContent("28 July
                  2006").setDir("").setHttp_equiv("")/* xml:lang=''
                  */.setScheme(""))</span><span
                  style="font-family:"Courier
                  New",serif;background:white">
                </span><span style="font-family:"Courier
                  New",serif"><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#18B218;background:white">+
                     .addMeta(new meta().setName(meta.NAME_MODIFIED
                    ).setContent("12 January
                  2014").setDir("").setHttp_equiv("")/* xml:lang=''
                  */.setScheme(""))</span><span
                  style="font-family:"Courier
                  New",serif;background:white">
                </span><span style="font-family:"Courier
                  New",serif"><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#18B218;background:white">+
                     .addMeta(new meta().setName(meta.NAME_IDENTIFIER
                  ).setContent(<a
href="https://savage.nps.edu/Savage/HarborEquipment/Buoys/MooringBuoy.x3d"
                    moz-do-not-send="true">"https://savage.nps.edu/Savage/HarborEquipment/Buoys/MooringBuoy.x3d"</a>).setDir("").setHttp_equiv(""</span><span
                  style="font-family:"Courier New",serif"><br>
                  )/* xml:lang='' */.setScheme(""))<span
                    style="background:white"> </span><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#18B218;background:white">+
                     .addMeta(new meta().setName(meta.NAME_GENERATOR
                   ).setContent("VizX3D,
                  <a
href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.vivaty.com%2Fdownloads%2Fstudio&data=04%7C01%7Cbrutzman%40nps.edu%7Cf1103a63e2b14940b58708d9aba8a973%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637729564199171409%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=K%2FcgPheSXw1l%2F35QKP6mJjNSzNhyP3vzWU9tZc0g46A%3D&reserved=0"
                    moz-do-not-send="true">
                    http://www.vivaty.com/downloads/studio</a>").setDir("").setHttp_equiv("")/*
                  xml:lang='' */.se</span><span
                  style="font-family:"Courier New",serif"><br>
                  tScheme(""))<span style="background:white"> </span><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#18B218;background:white">+
                     .addMeta(new meta().setName(meta.NAME_GENERATOR
                   ).setContent("Wings3D,
                  <a
href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.wings3d.com%2F&data=04%7C01%7Cbrutzman%40nps.edu%7Cf1103a63e2b14940b58708d9aba8a973%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637729564199181362%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=kqacXNS%2B4ttWgAB0ZPmWEQfTxliZ%2B8yPqshfExzq8Ns%3D&reserved=0"
                    moz-do-not-send="true">
                    http://www.wings3d.com</a>").setDir("").setHttp_equiv("")/*
                  xml:lang='' */.setScheme(""))</span><span
                  style="font-family:"Courier
                  New",serif;background:white">
                </span><span style="font-family:"Courier
                  New",serif"><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#18B218;background:white">+
                     .addMeta(new meta().setName(meta.NAME_GENERATOR
                   ).setContent("X3D-Edit,
                  <a href="https://savage.nps.edu/X3D-Edit"
                    moz-do-not-send="true" class="moz-txt-link-freetext">https://savage.nps.edu/X3D-Edit</a>").setDir("").setHttp_equiv("")/*
                  xml:lang='' */.setSche</span><span
                  style="font-family:"Courier New",serif"><br>
                  me(""))<span style="background:white"> </span><br>
                </span><span style="font-family:"Courier
                  New",serif;color:#18B218;background:white">+
                     .addMeta(new meta().setName(meta.NAME_LICENSE
                     ).setContent("../../license.html").setDir("").setHttp_equiv("")/*
                  xml:lang='' */.setScheme("")))</span><span
                  style="font-family:"Courier
                  New",serif;background:white">
                </span><span style="font-family:"Courier
                  New",serif"><br>
                    .setScene(new Scene() <br>
                      .addChild(new Transform().setScale(0.3,0.3,0.3) <br>
                        .addChild(new Group("MooringBuoyWithHook")</span><o:p></o:p></p>
            </div>
          </blockquote>
        </div>
      </div>
    </blockquote>
  </body>
</html>