<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;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        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" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal> Okay here, the block in question where the code drops into.  I think we may need more xsl:when elements above? I’m glad we’re finally getting to this!</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>                      <xsl:otherwise></p><p class=MsoNormal>                            <!-- Note that this error condition occurs if DTD default attribute values are suppressed before invocation --></p><p class=MsoNormal>                            <xsl:text>IllegalChildNodeFieldNameNotFound</xsl:text></p><p class=MsoNormal>                            <xsl:message></p><p class=MsoNormal>                                <xsl:text>Error: IllegalChildNodeFieldNameNotFound no containerField or field name found for the X3D JSON object. Check spelling of node.</xsl:text></p><p class=MsoNormal>                                <xsl:text>&#10;</xsl:text></p><p class=MsoNormal>                                <xsl:text>  $elementName=</xsl:text></p><p class=MsoNormal>                                <xsl:value-of select="$elementName"/></p><p class=MsoNormal>                                <xsl:if test="(string-length(@DEF) > 0)"></p><p class=MsoNormal>                                        <xsl:text>, DEF=</xsl:text></p><p class=MsoNormal>                                        <xsl:value-of select="@DEF"/></p><p class=MsoNormal>                                </xsl:if></p><p class=MsoNormal>                                <xsl:if test="(string-length(@USE) > 0)"></p><p class=MsoNormal>                                        <xsl:text>, USE=</xsl:text></p><p class=MsoNormal>                                        <xsl:value-of select="@USE"/></p><p class=MsoNormal>                                </xsl:if></p><p class=MsoNormal>                                <xsl:text>, $parentName=</xsl:text></p><p class=MsoNormal>                                <xsl:value-of select="$parentName"/></p><p class=MsoNormal>                                <xsl:text>&#10;</xsl:text></p><p class=MsoNormal>                                <xsl:choose></p><p class=MsoNormal>                                        <xsl:when test="not($isTestScene)"></p><p class=MsoNormal>                                                <xsl:text>  Please report this error to x3d-public@web3d.org - thanks for your help improving X3D Quality Assurance (QA).</xsl:text></p><p class=MsoNormal>                                        </xsl:when></p><p class=MsoNormal>                                        <xsl:when test="(string-length(//meta[(@name='title')]/@content) > 0)"></p><p class=MsoNormal>                                                <xsl:text>  </xsl:text></p><p class=MsoNormal>                                                <xsl:value-of select="//meta[(@name='title')]/@content"/></p><p class=MsoNormal>                                                <xsl:text> is a test scene supporting X3D Quality Assurance (QA).</xsl:text></p><p class=MsoNormal>                                        </xsl:when></p><p class=MsoNormal>                                </xsl:choose></p><p class=MsoNormal>                            </xsl:message></p><p class=MsoNormal>                        </xsl:otherwise></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>Wednesday, January 6, 2021 9:37 AM<br><b>To: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>X3dToJson.xslt , Saxon-JS 2 (oil and water) which one is at fault?</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Okay, I took all my X3D data files and shoved them through Saxon-JS 2:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ npm install -g xslt3<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ cat skeleton.sh<o:p></o:p></p><p class=MsoNormal>for i in `ls ../data/*.x3d| grep -v new`<o:p></o:p></p><p class=MsoNormal>do<o:p></o:p></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<o:p></o:p></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<o:p></o:p></p><p class=MsoNormal>Done<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>There are many errors like:<o:p></o:p></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<o:p></o:p></p><p class=MsoNormal>Error: IllegalChildNodeFieldNameNotFound no containerField or field name found for the X3D JSON object. Check spelling of node.<o:p></o:p></p><p class=MsoNormal>  $elementName=Shape, $parentName=Group<o:p></o:p></p><p class=MsoNormal>  Please report this error to x3d-public@web3d.org - thanks for your help improving X3D Quality Assurance (QA).<o:p></o:p></p><p class=MsoNormal>Error: IllegalChildNodeFieldNameNotFound no containerField or field name found for the X3D JSON object. Check spelling of node.<o:p></o:p></p><p class=MsoNormal>  $elementName=Extrusion, DEF=extrusion, $parentName=Shape<o:p></o:p></p><p class=MsoNormal>  Please report this error to x3d-public@web3d.org - thanks for your help improving X3D Quality Assurance (QA).<o:p></o:p></p><p class=MsoNormal>Error: IllegalChildNodeFieldNameNotFound no containerField or field name found for the X3D JSON object. Check spelling of node.<o:p></o:p></p><p class=MsoNormal>  $elementName=Appearance, $parentName=Shape<o:p></o:p></p><p class=MsoNormal>  Please report this error to x3d-public@web3d.org - thanks for your help improving X3D Quality Assurance (QA).<o:p></o:p></p><p class=MsoNormal>Error: IllegalChildNodeFieldNameNotFound no containerField or field name found for the X3D JSON object. Check spelling of node.<o:p></o:p></p><p class=MsoNormal>  $elementName=Material, $parentName=Appearance<o:p></o:p></p><p class=MsoNormal>  Please report this error to x3d-public@web3d.org - thanks for your help improving X3D Quality Assurance (QA).<o:p></o:p></p><p class=MsoNormal>Error: IllegalChildNodeFieldNameNotFound no containerField or field name found for the X3D JSON object. Check spelling of node.<o:p></o:p></p><p class=MsoNormal>  $elementName=TimeSensor, DEF=TourTime, $parentName=Group<o:p></o:p></p><p class=MsoNormal>  Please report this error to x3d-public@web3d.org - thanks for your help improving X3D Quality Assurance (QA).<o:p></o:p></p><p class=MsoNormal>Error: IllegalChildNodeFieldNameNotFound no containerField or field name found for the X3D JSON object. Check spelling of node.<o:p></o:p></p><p class=MsoNormal>  $elementName=Script, DEF=MoveCylinder, $parentName=Group<o:p></o:p></p><p class=MsoNormal>  Please report this error to x3d-public@web3d.org - thanks for your help improving X3D Quality Assurance (QA).<o:p></o:p></p><p class=MsoNormal>Script DEF=MoveCylinder contains CDATA source-code text, copied as "#sourceText" using "strings" mode<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>So either X3dToJson.xslt is not ready for primetime, or it’s Saxon-JS 2.<o:p></o:p></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:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ grep -l IllegalChild *json2<o:p></o:p></p><p class=MsoNormal>abox.json2<o:p></o:p></p><p class=MsoNormal>app.json2<o:p></o:p></p><p class=MsoNormal>arc.json2<o:p></o:p></p><p class=MsoNormal>arc1.json2<o:p></o:p></p><p class=MsoNormal>arc2.json2<o:p></o:p></p><p class=MsoNormal>arc3.json2<o:p></o:p></p><p class=MsoNormal>arc4.json2<o:p></o:p></p><p class=MsoNormal>ArchHalf.json2<o:p></o:p></p><p class=MsoNormal>ArchPrototype.json2<o:p></o:p></p><p class=MsoNormal>arcold.json2<o:p></o:p></p><p class=MsoNormal>asmallbox.json2<o:p></o:p></p><p class=MsoNormal>ball.json2<o:p></o:p></p><p class=MsoNormal>BoxEm.json2<o:p></o:p></p><p class=MsoNormal>BoxManAnimationPanel.json2<o:p></o:p></p><p class=MsoNormal>bubble.json2<o:p></o:p></p><p class=MsoNormal>bubbles.json2<o:p></o:p></p><p class=MsoNormal>bubs.json2<o:p></o:p></p><p class=MsoNormal>bubs2.json2<o:p></o:p></p><p class=MsoNormal>bubs3.json2<o:p></o:p></p><p class=MsoNormal>CameraShape.json2<o:p></o:p></p><p class=MsoNormal>CoordinateAxes.json2<o:p></o:p></p><p class=MsoNormal>cube.json2<o:p></o:p></p><p class=MsoNormal>extrusion.json2<o:p></o:p></p><p class=MsoNormal>ExtrusionHeart.json2<o:p></o:p></p><p class=MsoNormal>F16.json2<o:p></o:p></p><p class=MsoNormal>flipp.json2<o:p></o:p></p><p class=MsoNormal>flower.json2<o:p></o:p></p><p class=MsoNormal>flower3.json2<o:p></o:p></p><p class=MsoNormal>flowerproto.json2<o:p></o:p></p><p class=MsoNormal>flowers.json2<o:p></o:p></p><p class=MsoNormal>flowers2.json2<o:p></o:p></p><p class=MsoNormal>flowers4.json2<o:p></o:p></p><p class=MsoNormal>force.json2<o:p></o:p></p><p class=MsoNormal>[snip]<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>What I will do next is investigate X3dToJson.xslt<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Ttiab.<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></div></body></html>