<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;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:inherit;}
/* 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;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";}
span.typ
        {mso-style-name:typ;}
span.pln
        {mso-style-name:pln;}
span.pun
        {mso-style-name:pun;}
span.kwd
        {mso-style-name:kwd;}
span.com
        {mso-style-name:com;}
span.lit
        {mso-style-name:lit;}
.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>From the link:</p><p class=MsoNormal><o:p> </o:p></p><div><pre style='background:#EFF0F1;vertical-align:baseline'><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>TransformerFactory</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> transFact </span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>=</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>TransformerFactory</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>.</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>newInstance</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>();</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>StreamSource</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> xsltSource </span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>=</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=kwd><span style='font-family:"inherit",serif;color:#101094;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>new</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>StreamSource</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>(</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>xsl</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>);</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p> </o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=com><span style='font-family:"inherit",serif;color:#858C93;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>// XXX for 'xsl:import' to load other xsls from class path</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>transFact</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>.</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>setURIResolver</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>(</span></span><span class=kwd><span style='font-family:"inherit",serif;color:#101094;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>new</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>ClasspathResourceURIResolver</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>());</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>Templates</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> cachedXSLT </span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>=</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> transFact</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>.</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>newTemplates</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>(</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>xsltSource</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>);</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>Transformer</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> transformer </span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>=</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> cachedXSLT</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>.</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>newTransformer</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>();</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p> </o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p> </o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=kwd><span style='font-family:"inherit",serif;color:#101094;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>class</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>ClasspathResourceURIResolver</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=kwd><span style='font-family:"inherit",serif;color:#101094;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>implements</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>URIResolver</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>{</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>  </span></span><span class=lit><span style='font-family:"inherit",serif;color:#7D2727;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>@Override</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>  </span></span><span class=kwd><span style='font-family:"inherit",serif;color:#101094;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>public</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>Source</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> resolve</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>(</span></span><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>String</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> href</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>,</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>String</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=kwd><span style='font-family:"inherit",serif;color:#101094;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>base</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>)</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=kwd><span style='font-family:"inherit",serif;color:#101094;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>throws</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>TransformerException</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>{</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>    </span></span><span class=kwd><span style='font-family:"inherit",serif;color:#101094;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>return</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=kwd><span style='font-family:"inherit",serif;color:#101094;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>new</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'> </span></span><span class=typ><span style='font-family:"inherit",serif;color:#2B91AF;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>StreamSource</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>(</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>XXX</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>.</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>getClassLoader</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>().</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>getResourceAsStream</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>(</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>href</span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>));</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>  </span></span><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>}</span></span><span class=pln><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'><o:p></o:p></span></span></pre><pre style='background:#EFF0F1;vertical-align:baseline'><span class=pun><span style='font-family:"inherit",serif;color:#303336;border:none windowtext 1.0pt;padding:0in;background:#EFF0F1'>}</span></span><span style='font-family:Consolas;color:#393318'><o:p></o:p></span></pre></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Not sure if this works in both Saxon and Java XSLT.  You’ll have to experiment.  You’ll also have to replace XXX.</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:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Monday, September 4, 2017 12:24 AM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Subject: </b>RE: More Object Model Work: indicating nodes and statementsforeachprofile within object model and X3DJSAIL</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here’s the link again.  I think this will truly help if you look at some of the answers.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><a href="https://stackoverflow.com/questions/3699860/resolving-relative-paths-when-loading-xslt-files">https://stackoverflow.com/questions/3699860/resolving-relative-paths-when-loading-xslt-files</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>But I’m not certain.  If you can’t get there, I will try.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></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<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Sent: </b>Sunday, September 3, 2017 11:43 PM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Subject: </b>Re: More Object Model Work: indicating nodes and statements foreachprofile within object model and X3DJSAIL<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 9/3/2017 7:00 PM, John Carlson wrote:<o:p></o:p></p><p class=MsoNormal>> Again, you need to diagnose the imports in the stylesheet.   See links previously provided to stack overflow (not in this message, I think).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>understood, thanks.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>i refactored out a common method to perform a stylesheet invocation using jar .xslt as source that simplified most conversions.  most are now working.  added a primitive debug mode also.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>the problems with import is that the X3dToHtml documentation stylesheet also imports/invokes the SVG Extrusion crossSection stylesheet, which can't be found from inside the jar.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>unable to turn off that import via a passed-parameter switch.  so i am considering refactoring and splitting that stylesheet, will invoke each separately where needed, this affects multiple other places that use the stylesheet.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> You need a way to resolve imports in the stylesheet in Java, probably with a URI resolver.  There may be different ways to do it for saxon and java xslt.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> If you can’t solve it quick, let me know, and I will start looking at it.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>still in motion...<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> John<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> *From: *Don Brutzman <mailto:brutzman@nps.edu><o:p></o:p></p><p class=MsoNormal>> *Sent: *Sunday, September 3, 2017 8:06 PM<o:p></o:p></p><p class=MsoNormal>> *To: *John Carlson <mailto:yottzumm@gmail.com><o:p></o:p></p><p class=MsoNormal>> *Subject: *Re: More Object Model Work: indicating nodes and statements for eachprofile within object model and X3DJSAIL<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> lotta work but slowly yielding... hopefully tonight.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> On 8/31/2017 10:48 AM, John Carlson wrote:<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  > Hmm.   Do you have the path in the jar in the java, or is there no path?<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  > On Aug 31, 2017 1:42 PM, "Don Brutzman" <brutzman@nps.edu<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  > <mailto:brutzman@nps.edu>> wrote:<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >     yes i've done that but think that it is not being referenced properly...<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >     jar issue, TODO diagnose/fix.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >     On 8/31/2017 9:33 AM, John Carlson wrote:<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         Well depending on where you run the main<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         Java file from, it will either find or not find the stylesheets.   My<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         suggestion was to put the stylesheet in the jar and access it through<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         the class loader through a class, probably x3dobject.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         John<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         On Aug 31, 2017 10:53 AM, "Don Brutzman" <brutzman@nps.edu<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <mailto:brutzman@nps.edu> <mailto:brutzman@nps.edu<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <mailto:brutzman@nps.edu>>> wrote:<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >             Right, that's good.  "Common sense" check is helpful to make sure<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         that things are understandable.  Thanks John.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >             Am finally ready to re-look at the .jar problem you had a few<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         weeks ago, please help recenter me.  I didn't understand properly before.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >             p.s. still having some intermittent trouble accessing stylesheets<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         within the classpath .jar as well.  Am shifting to a new computer so<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         that reveals both issues and occasionally new mysteries.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >             On 8/31/2017 12:50 AM, John Carlson wrote:<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                 I didn't check anything but the syntax, content I didn't check.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                 John<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                 On Aug 31, 2017 3:48 AM, "Don Brutzman" <brutzman@nps.edu<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <mailto:brutzman@nps.edu> <mailto:brutzman@nps.edu<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <mailto:brutzman@nps.edu>> <mailto:brutzman@nps.edu<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <mailto:brutzman@nps.edu> <mailto:brutzman@nps.edu<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <mailto:brutzman@nps.edu>>>> wrote:<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      On 8/30/2017 10:23 AM, John Carlson wrote:<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                          Looks okay to me.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      Thanks for double checks.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                          On Aug 30, 2017 12:47 PM, "Don Brutzman"<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <brutzman@nps.edu <mailto:brutzman@nps.edu> <mailto:brutzman@nps.edu<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <mailto:brutzman@nps.edu>><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                          <mailto:brutzman@nps.edu <mailto:brutzman@nps.edu><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <mailto:brutzman@nps.edu <mailto:brutzman@nps.edu>>><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <mailto:brutzman@nps.edu <mailto:brutzman@nps.edu><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <mailto:brutzman@nps.edu <mailto:brutzman@nps.edu>><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                          <mailto:brutzman@nps.edu <mailto:brutzman@nps.edu><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <mailto:brutzman@nps.edu <mailto:brutzman@nps.edu>>>>> wrote:<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              OK, have amended X3D XML Schema to include<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         allowed nodes under<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                          each profile.  Also added allowed X3D statements<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         under Core profile.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              Documentation at<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC>><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC>>><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC>><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3_profileNames.html#LinkDC>>>><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              Next: have extracted these node and statement<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         lists for inclusion<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                          in the X3D Unified Object Model profile information.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              Result excerpt follows.  Please look at syntax,<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         hope it looks OK.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                          As this gets integrated, will next apply by generating<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                          profile-validation tests in source code for<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         X3DJSAIL.[...]<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      OK have taken the next step: added validation of profile<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         and component<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      information for each node in the respective validate()<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         methods.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      Example excerpt from AnchorObject follows, where<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         Anchor-specific values<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      for profiles/component/level get plugged in from entries in<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      X3DObjectModel-3.3.xml:<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      // profile validation test, if connected to full scene<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      if (findAncestorX3DObject() != null)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              String     modelProfile =<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         findAncestorX3DObject().getProfile();<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              headObject modelHead    =<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         findAncestorX3DObject().getHead();<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              ArrayList<componentObject> sceneComponentsList =<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         new ArrayList<>();<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              if (modelHead != null)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                                      sceneComponentsList =<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         modelHead.getComponentList();<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              boolean hasSatisfactoryComponent = false;<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              for (componentObject nextComponent :<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         sceneComponentsList)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                                      if (<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         nextComponent.getName().equals("Networking") &&<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         (nextComponent.getLevel() >= 2))<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         hasSatisfactoryComponent = true;<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              }<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              if (!hasSatisfactoryComponent &&<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         !modelProfile.equals("CADInterchange") &&<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         !modelProfile.equals("Interactive") &&<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         !modelProfile.equals("Immersive") &&<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         !modelProfile.equals("MedicalInterchange") &&<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         !modelProfile.equals("MPEG4Interactive") &&<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                                      !modelProfile.equals("Full"))<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                                      String errorNotice =<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      ConfigurationProperties.ERROR_ILLEGAL_VALUE +<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                                              ": invalid X3D profile='" +<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      getContainerFieldOverride() +<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                                              "' for parent X3D model, add element<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      <componentInfo name='Networking' level='2'/> or<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         assignment " +<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                                              "'<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         findAncestorX3DObject().getHead().addComponentInfo(\"Networking\").setLevel(2);";<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         validationResult.append(errorNotice).append("\n");<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                                      throw new<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         InvalidFieldException(errorNotice); // report error<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                              }<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      }<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      Tested satisfactorily on HelloWorldProgram.java which indeed<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      self-diagnosed itself to reveal a missing component entry<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         for Layering<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      level 1.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      Test program runs satisfactorily, a few other quirks<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         appear to be<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      adjusted/fixed.  Now running recently released Java JDK<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         version "1.8.0_141".<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      Updates now uploading, autogeneration stylesheet changes<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         and smoke tests<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      checked in, this new release should be available in about<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         an hour.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         http://www.web3d.org/specifications/java/X3DJSAIL.html<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/java/X3DJSAIL.html><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/java/X3DJSAIL.html<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/java/X3DJSAIL.html>><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      <http://www.web3d.org/specifications/java/X3DJSAIL.html<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/java/X3DJSAIL.html><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/java/X3DJSAIL.html<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://www.web3d.org/specifications/java/X3DJSAIL.html>>><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      Looking things over, will probably add class constants<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         for minimum<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      COMPONENT and LEVEL later to simplify programmer access.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      all the best, Don<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      --     Don Brutzman  Naval Postgraduate School, Code<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         USW/Br brutzman@nps.edu <mailto:brutzman@nps.edu><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <mailto:brutzman@nps.edu <mailto:brutzman@nps.edu>><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      <mailto:brutzman@nps.edu <mailto:brutzman@nps.edu><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <mailto:brutzman@nps.edu <mailto:brutzman@nps.edu>>><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         +1.831.656.2149 <tel:%2B1.831.656.2149> <tel:%2B1.831.656.2149><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      <tel:%2B1.831.656.2149><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >                      X3D graphics, virtual worlds, navy robotics<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         http://faculty.nps.edu/brutzman <http://faculty.nps.edu/brutzman><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://faculty.nps.edu/brutzman <http://faculty.nps.edu/brutzman>><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://faculty.nps.edu/brutzman <http://faculty.nps.edu/brutzman><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >         <http://faculty.nps.edu/brutzman <http://faculty.nps.edu/brutzman>>><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >     all the best, Don<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >     --<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >     Don Brutzman  Naval Postgraduate School, Code USW/Br brutzman@nps.edu<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >     <mailto:brutzman@nps.edu><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >     Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >     <tel:%2B1.831.656.2149><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >     X3D graphics, virtual worlds, navy robotics<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >     http://faculty.nps.edu/brutzman <http://faculty.nps.edu/brutzman><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>all the best, Don<o:p></o:p></p><p class=MsoNormal>-- <o:p></o:p></p><p class=MsoNormal>Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu<o:p></o:p></p><p class=MsoNormal>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<o:p></o:p></p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>