<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> </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> </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>