<div dir="ltr"><div dir="ltr">The following X3DJSONLD files do not process through the below pom.xml using  `mvn clean install`</div><div dir="ltr"><br></div><div>The KoreanCharacters were retrieved from X3D resource examples.</div><div>HelloWorldProgramOutput.x3d was retrieved from <a href="http://www.web3d.org/x3d/stylesheets/java/examples">www.web3d.org/x3d/stylesheets/java/examples</a> after an X3DJSAIL build</div><div><br></div><div>I can run without these X3D files, but eventually we will have to fix the issues.</div><div><br></div><div><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/pom.xml">https://github.com/coderextreme/X3DJSONLD/blob/master/pom.xml</a></div><div><br></div><div>I believe this is a standard way to run stylesheets in maven.   Note the dependency at the bottom of the file.</div><div><br></div><div>Let me know if any version changes have happened in the Saxon version Don is using.</div><div><br></div><div><br></div><div>Thanks!<br></div><div><br></div><div>John<br></div><div dir="ltr"><br></div><div dir="ltr">diff --git a/src/main/data/HAnim2SpecificationLOA3Invisible.x3d b/src/main/data/HAnim2SpecificationLOA3Invisible.x3d<br>diff --git a/src/main/data/HAnimModelsHandsFeet.x3d b/src/main/data/HAnimModelsHandsFeet.x3d<br>diff --git a/src/main/data/HelloWorldProgramOutput.x3d b/src/main/data/HelloWorldProgramOutput.x3d<br>diff --git a/src/main/data/JoeKick.x3d b/src/main/data/JoeKick.x3d<br>diff --git a/src/main/data/JoeProcessed.x3d b/src/main/data/JoeProcessed.x3d<br>diff --git a/src/main/data/JoeProcessedKick.x3d b/src/main/data/JoeProcessedKick.x3d<br>diff --git a/src/main/data/KoreanCharacter01Jin.x3d b/src/main/data/KoreanCharacter01Jin.x3d<br>diff --git a/src/main/data/KoreanCharacter02Chul.x3d b/src/main/data/KoreanCharacter02Chul.x3d<br>diff --git a/src/main/data/KoreanCharacter03Hyun.x3d b/src/main/data/KoreanCharacter03Hyun.x3d<br>diff --git a/src/main/data/KoreanCharacter04Young.x3d b/src/main/data/KoreanCharacter04Young.x3d<br>diff --git a/src/main/data/KoreanCharacter05Ju.x3d b/src/main/data/KoreanCharacter05Ju.x3d<br>diff --git a/src/main/data/KoreanCharacter06Ga.x3d b/src/main/data/KoreanCharacter06Ga.x3d<br>diff --git a/src/main/data/KoreanCharacter07No.x3d b/src/main/data/KoreanCharacter07No.x3d<br>diff --git a/src/main/data/KoreanCharacter08Da.x3d b/src/main/data/KoreanCharacter08Da.x3d<br>diff --git a/src/main/data/KoreanCharacter09Ru.x3d b/src/main/data/KoreanCharacter09Ru.x3d<br>diff --git a/src/main/data/KoreanCharacter10Mi.x3d b/src/main/data/KoreanCharacter10Mi.x3d<br>diff --git a/src/main/data/KoreanCharacter11Min.x3d b/src/main/data/KoreanCharacter11Min.x3d<br>diff --git a/src/main/data/KoreanCharacter12Sun.x3d b/src/main/data/KoreanCharacter12Sun.x3d<br>diff --git a/src/main/data/KoreanCharacterMotionAnnexC01Jin.x3d b/src/main/data/KoreanCharacterMotionAnnexC01Jin.x3d<br>diff --git a/src/main/data/KoreanCharacterMotionAnnexD01Jin.x3d b/src/main/data/KoreanCharacterMotionAnnexD01Jin.x3d<br>diff --git a/src/main/data/skeleton10.x3d b/src/main/data/skeleton10.x3d<br>diff --git a/src/main/data/skeletonJoe.x3d b/src/main/data/skeletonJoe.x3d<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 7, 2021 at 1:29 AM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;" lang="EN-US"><div class="gmail-m_9019719483917987819WordSection1"><p class="MsoNormal">If you can download Saxon-JS 2 xslt3,  it would be good to test XSLT 2.0 against XSLT 3.0</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">If you cannot, IDK</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Attached are results from stylesheet.sh and helloworld.txt, comparing the output from xslt3 from Saxonica and saxon9he.jar from Saxonica.</p><p class="MsoNormal"><br>I have made all changes you suggested, and changed http: to https: except for the 3 HelloWorld*x3d found in HelloWorldScenes (on the sourceforge file system).  I do not see the need to download from the web, but I will do that now.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><a href="https://x3dgraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes/" target="_blank">https://x3dgraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes/</a></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I see no difference in the files downloaded from web.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I’ve identified that this is a problem in X3dToJson.xslt, Saxon-JS 2 or Saxon-CE.  Apparently this is not a problem with saxon9he.jar.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I’m guessing there a problem with the JavaScript implementations of XSLT, since saxon9he.jar seems to be working.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">What’s the work around for client-side XSLT?   Can we modify X3dToJson.xslt?</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I will probably pursue jsondiff.js next, but I feel like going to bed.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">This is not a small problem and affects 118 out of 143 of my JSON output files.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I would like to do X3D XML to X3D JSON translation in the browser, and we don’t have a good solution for static sites.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Well, I’m seeing an issue with my Proto Preprocessor.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">GN.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">John</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986" target="_blank">Mail</a> for Windows 10</p><p class="MsoNormal"><u></u> <u></u></p><div style="border-color:rgb(225,225,225) currentcolor currentcolor;border-style:solid none none;border-width:1pt medium medium;padding:3pt 0in 0in"><p class="MsoNormal" style="border:medium none;padding:0in"><b>From: </b><a href="mailto:brutzman@nps.edu" target="_blank">Don Brutzman</a><br><b>Sent: </b>Wednesday, January 6, 2021 1:36 PM<br><b>To: </b><a href="mailto:yottzumm@gmail.com" target="_blank">John Carlson</a>; <a href="mailto:x3d-public@web3d.org" target="_blank">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: [x3d-public] X3dToJson.xslt , Saxon-JS 2 (oil and water) which one is at fault?</p></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Hi John.  A good practice is to compare with possible errors in original content in order to isolate the cause of difficulties.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">* X3D Resources, Examples: Scene Archives for X3D</p><p class="MsoNormal">   <a href="https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples" target="_blank">https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples</a></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Most of the following relationships are demonstrated in</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">* X3D Example Archives: X3D4AM, X3D for Advanced Modeling, Hello World Scenes, Hello World</p><p class="MsoNormal">   <a href="https://x3dgraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes/HelloWorldIndex.html" target="_blank">https://x3dgraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes/HelloWorldIndex.html</a></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">* <a href="https://x3dgraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes/HelloWorld.json" target="_blank">https://x3dgraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes/HelloWorld.json</a></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">which has been successfully converted from HelloWorld.x3d by X3dToJson.xslt</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">On 1/6/2021 7:37 AM, John Carlson wrote:</p><p class="MsoNormal">> </p><p class="MsoNormal">> Okay, I took all my X3D data files and shoved them through Saxon-JS 2:</p><p class="MsoNormal">> </p><p class="MsoNormal">> $ npm install -g xslt3</p><p class="MsoNormal">> </p><p class="MsoNormal">> $ cat skeleton.sh</p><p class="MsoNormal">> </p><p class="MsoNormal">> for i in `ls ../data/*.x3d| grep -v new`</p><p class="MsoNormal">> </p><p class="MsoNormal">> do</p><p class="MsoNormal">> </p><p class="MsoNormal">> echo ../../../node_modules/.bin/xslt3 -xsl:/c/x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/X3dToJson.xslt" target="_blank">www.web3d.org/x3d/stylesheets/X3dToJson.xslt</a> -s:$i -o:`dirname $i`/`basename $i .x3d`.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> ../../../node_modules/.bin/xslt3 -xsl:/c/x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/X3dToJson.xslt" target="_blank">www.web3d.org/x3d/stylesheets/X3dToJson.xslt</a> -s:$i -o:`dirname $i`/`basename $i .x3d`.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> Done</p><p class="MsoNormal">> </p><p class="MsoNormal">> There are many errors like:</p><p class="MsoNormal">> </p><p class="MsoNormal">> ../../../node_modules/.bin/xslt3 -xsl:/c/x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/X3dToJson.xslt" target="_blank">www.web3d.org/x3d/stylesheets/X3dToJson.xslt</a> -s:../data/extrusion.x3d -o:../data/extrusion.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> Error: IllegalChildNodeFieldNameNotFound no containerField or field name found for the X3D JSON object. Check spelling of node.</p><p class="MsoNormal">> </p><p class="MsoNormal">>    $elementName=Shape, $parentName=Group</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">expected value for parent-child relationship is containerField='children'</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">>    Please report this error to <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a> - thanks for your help improving X3D Quality Assurance (QA).</p><p class="MsoNormal">> </p><p class="MsoNormal">> Error: IllegalChildNodeFieldNameNotFound no containerField or field name found for the X3D JSON object. Check spelling of node.</p><p class="MsoNormal">> </p><p class="MsoNormal">>    $elementName=Extrusion, DEF=extrusion, $parentName=Shape</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">expected value for parent-child relationship is containerField='geometry'</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">>    Please report this error to <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a> - thanks for your help improving X3D Quality Assurance (QA).</p><p class="MsoNormal">> </p><p class="MsoNormal">> Error: IllegalChildNodeFieldNameNotFound no containerField or field name found for the X3D JSON object. Check spelling of node.</p><p class="MsoNormal">> </p><p class="MsoNormal">>    $elementName=Appearance, $parentName=Shape</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">expected value for parent-child relationship is containerField='appearance'</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">>    Please report this error to <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a> - thanks for your help improving X3D Quality Assurance (QA).</p><p class="MsoNormal">> </p><p class="MsoNormal">> Error: IllegalChildNodeFieldNameNotFound no containerField or field name found for the X3D JSON object. Check spelling of node.</p><p class="MsoNormal">> </p><p class="MsoNormal">>    $elementName=Material, $parentName=Appearance</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">expected value for parent-child relationship is containerField='material'</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">>    Please report this error to <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a> - thanks for your help improving X3D Quality Assurance (QA).</p><p class="MsoNormal">> </p><p class="MsoNormal">> Error: IllegalChildNodeFieldNameNotFound no containerField or field name found for the X3D JSON object. Check spelling of node.</p><p class="MsoNormal">> </p><p class="MsoNormal">>    $elementName=TimeSensor, DEF=TourTime, $parentName=Group</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">expected value for parent-child relationship is containerField='children'</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">>    Please report this error to <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a> - thanks for your help improving X3D Quality Assurance (QA).</p><p class="MsoNormal">> </p><p class="MsoNormal">> Error: IllegalChildNodeFieldNameNotFound no containerField or field name found for the X3D JSON object. Check spelling of node.</p><p class="MsoNormal">> </p><p class="MsoNormal">>    $elementName=Script, DEF=MoveCylinder, $parentName=Group</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">expected value for parent-child relationship is containerField='children'</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">>    Please report this error to <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a> - thanks for your help improving X3D Quality Assurance (QA).</p><p class="MsoNormal">> </p><p class="MsoNormal">> Script DEF=MoveCylinder contains CDATA source-code text, copied as "#sourceText" using "strings" mode</p><p class="MsoNormal">> </p><p class="MsoNormal">> So either X3dToJson.xslt is not ready for primetime, or it’s Saxon-JS 2.</p><p class="MsoNormal">> </p><p class="MsoNormal">> Here are some of the output files:</p><p class="MsoNormal">> </p><p class="MsoNormal">> $ grep -l IllegalChild *json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> abox.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> app.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> arc.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> arc1.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> arc2.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> arc3.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> arc4.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> ArchHalf.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> ArchPrototype.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> arcold.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> asmallbox.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> ball.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> BoxEm.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> BoxManAnimationPanel.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> bubble.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> bubbles.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> bubs.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> bubs2.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> bubs3.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> CameraShape.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> CoordinateAxes.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> cube.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> extrusion.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> ExtrusionHeart.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> F16.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> flipp.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> flower.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> flower3.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> flowerproto.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> flowers.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> flowers2.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> flowers4.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> force.json2</p><p class="MsoNormal">> </p><p class="MsoNormal">> [snip]</p><p class="MsoNormal">> </p><p class="MsoNormal">> What I will do next is investigate X3dToJson.xslt</p><p class="MsoNormal">> </p><p class="MsoNormal">> Ttiab.</p><p class="MsoNormal">> </p><p class="MsoNormal">> John</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Wondering if your scenes have DOCTYPE (DTD) declarations in them? Is it correct?</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">* X3D Scene Authoring Hints, Validation of X3D Scenes using DTD and XML Schema</p><p class="MsoNormal">   <a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Validation" target="_blank">https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Validation</a></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I think that the retrieved DOCTYPE is where saxon gets default containerField values from in the X3D Examples build.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">If you (or other authors) don't want to include DOCTYPE, that is understandable (and of course allowed).  If this is the cause of the problem, then maybe we need to add containerField default values directly in this stylesheet (as well as a number of others).  Or maybe you want to add a local reference to DOCTYPE as part of your invocation.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">all the best, Don</p><p class="MsoNormal">-- </p><p class="MsoNormal">Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a></p><p class="MsoNormal">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class="MsoNormal">X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" target="_blank">http://faculty.nps.edu/brutzman</a></p><p class="MsoNormal"><u></u> <u></u></p></div></div></blockquote></div>