<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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>This looks like a way to reach inside a jar and pull out a file:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas;color:#242729;background:#EFF0F1'>jar:file:/C:/foo.jar!/bar.html<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>But I am not really sure because this came from a SO question.</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>Friday, September 1, 2017 3:07 PM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Cc: </b><a href="mailto:roy.walmsley@ntlworld.com">Roy Walmsley</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>RE: stylesheets and X3DJSAIL</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>A jar URL looks something like this:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>jar:http://localhost/webstart/chat/icbmc.jar!/<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:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Friday, September 1, 2017 3:02 PM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Cc: </b><a href="mailto:roy.walmsley@ntlworld.com">Roy Walmsley</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>RE: stylesheets and X3DJSAIL<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Note that imports won’t work in the stylesheet.  Not sure what to do, perhaps incorporate one stylesheet in the other.   There may be some other solution if you google. Maybe give a jar URL on the import.  This impacts 2 stylesheets.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Check here:<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><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>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:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Friday, September 1, 2017 2:24 PM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Cc: </b><a href="mailto:roy.walmsley@ntlworld.com">Roy Walmsley</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>RE: stylesheets and X3DJSAIL<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Patch attached for X3DJSAIL creation stylesheet.<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>Friday, September 1, 2017 2:20 PM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Cc: </b><a href="mailto:roy.walmsley@ntlworld.com">Roy Walmsley</a><br><b>Subject: </b>Re: stylesheets and X3DJSAIL<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>can you please to list without large attachment - thanks<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 9/1/2017 11:06 AM, John Carlson wrote:<o:p></o:p></p><p class=MsoNormal>> Don,<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Try this file, attached.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Note that I’ve added some stylesheet code here I think.  Be sure to diff to make sure you get what you want.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Also, I’ve added code for outputting JavaScript files for nashorn.  Untested. Should not affect anything else.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Stylesheets are expected to be at lib/stylesheets in the classpath and jar.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Project is here: https://github.com/coderextreme/JavaSceneAuthoringInterfaceLibrary<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Note that I have your X3DJSAIL stylesheet in src/main/resources/lib/stylesheets.  Mine is in src/main/xslt.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Plus I think you should be able to unify a lot of stylesheet code. Please diff and then start combining stylesheet code at your convenience.<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: *Friday, September 1, 2017 11:09 AM<o:p></o:p></p><p class=MsoNormal>> *To: *John Carlson <mailto:yottzumm@gmail.com><o:p></o:p></p><p class=MsoNormal>> *Cc: *X3D Graphics public mailing list <mailto:x3d-public@web3d.org>; Roy Walmsley <mailto:roy.walmsley@ntlworld.com><o:p></o:p></p><p class=MsoNormal>> *Subject: *Re: stylesheets and X3DJSAIL<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Am still trying to figure out the right way to do it, what i've tried so far didn't work.  am thinking/hoping these internal stylesheet assets should be visible to any program that has access to the X3DJSAIL .jar via CLASSPATH.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Thanks for these excellent leads, I will investigate and test further.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> On 8/31/2017 5:47 PM, John Carlson wrote:<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  > Not sure, but think that:<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>>  > ./jsail/Core/X3DObject.java:                    InputStream stylesheetInputStream = getClass().getResourceAsStream(stylesheetJarPath);<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>>  > Should be:<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>>  > InputStream stylesheetInputStream = getClass().getClassLoader().getResourceAsStream(stylesheetJarPath);<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> On 8/31/2017 6:04 PM, John Carlson wrote:<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  > These three lines tell the story why you can’t find the stylesheet in the jar:<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>>  > find src/main/java/org/ -type f |xargs grep stylesheetJarPath<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>>  > src/main/java/org/web3d/x3d/jsail/Core/X3DObject.java:                  String stylesheetJarPath = "/stylesheets/" + ConfigurationProperties.STYLESHEET_htmlDocumentation;<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>>  > src/main/java/org/web3d/x3d/jsail/Core/X3DObject.java:                  InputStream stylesheetInputStream = getClass().getResourceAsStream(stylesheetJarPath);<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>>  > src/main/java/org/web3d/x3d/jsail/Core/X3DObject.java:                         errorNotice += "Stylesheet not found in jar: " + stylesheetJarPath + ", ";<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>>  > Unless I read this wrong, you are only looking for a single stylesheet in the jar, instead of a variable.<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>>  > These are the lines near where you need to work on:<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>>  > src/main/java/org/web3d/x3d/jsail/Core/X3DObject.java:                  String stylesheetJarPath = "/stylesheets/" + ConfigurationProperties.STYLESHEET_htmlDocumentation;<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>>  > src/main/java/org/web3d/x3d/jsail/Core/X3DObject.java:                  File stylesheetFile = new File("lib/stylesheets/", ConfigurationProperties.STYLESHEET_htmlDocumentation);<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>>  > src/main/java/org/web3d/x3d/jsail/Core/X3DObject.java:   * @see ConfigurationProperties#STYLESHEET_JSON<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>>  > src/main/java/org/web3d/x3d/jsail/Core/X3DObject.java:                  File stylesheetFile = new File("lib/stylesheets/", ConfigurationProperties.STYLESHEET_JSON);<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>>  > src/main/java/org/web3d/x3d/jsail/Core/X3DObject.java:   * @see ConfigurationProperties#STYLESHEET_JSON<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>>  > src/main/java/org/web3d/x3d/jsail/Core/X3DObject.java:                  File stylesheetFile = new File("lib/stylesheets/", ConfigurationProperties.STYLESHEET_JAVA);<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>>  > src/main/java/org/web3d/x3d/jsail/Core/X3DObject.java:   * @see ConfigurationProperties#STYLESHEET_X3DOM<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>>  > src/main/java/org/web3d/x3d/jsail/Core/X3DObject.java:                  File stylesheetFile = new File("lib/stylesheets/", ConfigurationProperties.STYLESHEET_X3DOM);<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>>  > src/main/java/org/web3d/x3d/jsail/Core/X3DObject.java:   * @see ConfigurationProperties#STYLESHEET_X3DOM<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>>  > src/main/java/org/web3d/x3d/jsail/Core/X3DObject.java:                  File stylesheetFile = new File("lib/stylesheets/", ConfigurationProperties.STYLESHEET_X3DOM);<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>> 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>> 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>> 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><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><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>