<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.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" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Okay, I took all my X3D data files and shoved them through Saxon-JS 2:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ npm install -g xslt3</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ cat skeleton.sh</p><p class=MsoNormal>for i in `ls ../data/*.x3d| grep -v new`</p><p class=MsoNormal>do</p><p class=MsoNormal>echo ../../../node_modules/.bin/xslt3 -xsl:/c/x3d-code/www.web3d.org/x3d/stylesheets/X3dToJson.xslt -s:$i -o:`dirname $i`/`basename $i .x3d`.json2</p><p class=MsoNormal>../../../node_modules/.bin/xslt3 -xsl:/c/x3d-code/www.web3d.org/x3d/stylesheets/X3dToJson.xslt -s:$i -o:`dirname $i`/`basename $i .x3d`.json2</p><p class=MsoNormal>Done</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>There are many errors like:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>../../../node_modules/.bin/xslt3 -xsl:/c/x3d-code/www.web3d.org/x3d/stylesheets/X3dToJson.xslt -s:../data/extrusion.x3d -o:../data/extrusion.json2</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>  $elementName=Shape, $parentName=Group</p><p class=MsoNormal>  Please report this error to x3d-public@web3d.org - thanks for your help improving X3D Quality Assurance (QA).</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>  $elementName=Extrusion, DEF=extrusion, $parentName=Shape</p><p class=MsoNormal>  Please report this error to x3d-public@web3d.org - thanks for your help improving X3D Quality Assurance (QA).</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>  $elementName=Appearance, $parentName=Shape</p><p class=MsoNormal>  Please report this error to x3d-public@web3d.org - thanks for your help improving X3D Quality Assurance (QA).</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>  $elementName=Material, $parentName=Appearance</p><p class=MsoNormal>  Please report this error to x3d-public@web3d.org - thanks for your help improving X3D Quality Assurance (QA).</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>  $elementName=TimeSensor, DEF=TourTime, $parentName=Group</p><p class=MsoNormal>  Please report this error to x3d-public@web3d.org - thanks for your help improving X3D Quality Assurance (QA).</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>  $elementName=Script, DEF=MoveCylinder, $parentName=Group</p><p class=MsoNormal>  Please report this error to x3d-public@web3d.org - thanks for your help improving X3D Quality Assurance (QA).</p><p class=MsoNormal>Script DEF=MoveCylinder contains CDATA source-code text, copied as "#sourceText" using "strings" mode</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>So either X3dToJson.xslt is not ready for primetime, or it’s Saxon-JS 2.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here are some of the output files:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ grep -l IllegalChild *json2</p><p class=MsoNormal>abox.json2</p><p class=MsoNormal>app.json2</p><p class=MsoNormal>arc.json2</p><p class=MsoNormal>arc1.json2</p><p class=MsoNormal>arc2.json2</p><p class=MsoNormal>arc3.json2</p><p class=MsoNormal>arc4.json2</p><p class=MsoNormal>ArchHalf.json2</p><p class=MsoNormal>ArchPrototype.json2</p><p class=MsoNormal>arcold.json2</p><p class=MsoNormal>asmallbox.json2</p><p class=MsoNormal>ball.json2</p><p class=MsoNormal>BoxEm.json2</p><p class=MsoNormal>BoxManAnimationPanel.json2</p><p class=MsoNormal>bubble.json2</p><p class=MsoNormal>bubbles.json2</p><p class=MsoNormal>bubs.json2</p><p class=MsoNormal>bubs2.json2</p><p class=MsoNormal>bubs3.json2</p><p class=MsoNormal>CameraShape.json2</p><p class=MsoNormal>CoordinateAxes.json2</p><p class=MsoNormal>cube.json2</p><p class=MsoNormal>extrusion.json2</p><p class=MsoNormal>ExtrusionHeart.json2</p><p class=MsoNormal>F16.json2</p><p class=MsoNormal>flipp.json2</p><p class=MsoNormal>flower.json2</p><p class=MsoNormal>flower3.json2</p><p class=MsoNormal>flowerproto.json2</p><p class=MsoNormal>flowers.json2</p><p class=MsoNormal>flowers2.json2</p><p class=MsoNormal>flowers4.json2</p><p class=MsoNormal>force.json2</p><p class=MsoNormal>[snip]</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>What I will do next is investigate X3dToJson.xslt</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Ttiab.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p></div></body></html>