<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 10/30/21 17:51, Joseph D Williams
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:617dcc64.1c69fb81.9f29a.2debSMTPIN_ADDED_MISSING@mx.google.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style>@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}@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;}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;}p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}.MsoChpDefault
{mso-style-type:export-only;}div.WordSection1
{page:WordSection1;}ol
{margin-bottom:0in;}ul
{margin-bottom:0in;}</style>
<div class="WordSection1">
<p class="MsoNormal">For me, the JSON should be standardized
when it can be clearly shown to be an accurate set of rules
when transcoding between the XML, the Classic, and the JSON,
given the idea that the XML is the defining schema. That is,
for a given set of data, equivalent results can be produced to
and from equivalent data in other standard forms. </p>
</div>
</blockquote>
<p>Our tools are not yet adequate to test this. Roundtripping has
been done, but we're still investigating XML -> JSON -> XML
(via X3DJSAIL). I personally have done roundtripping and some
investigation. We will need to focus on a few examples instead of
the whole archive.</p>
<p>Here are some changes that I see worthwhile:<br>
</p>
<p><span style="font-family:monospace"><span
style="font-weight:bold;color:#5454ff;background-color:#ffffff;"><a class="moz-txt-link-abbreviated" href="http://www.web3d.org/x3d/stylesheets">www.web3d.org/x3d/stylesheets</a></span><span
style="color:#000000;background-color:#ffffff;">$ svn diff
X3dTo*.xslt
</span><br>
Index: X3dToJson.xslt
<br>
===================================================================
<br>
--- X3dToJson.xslt (revision 32565)
<br>
+++ X3dToJson.xslt (working copy)
<br>
@@ -359,7 +359,7 @@
<br>
<xsl:text> </xsl:text>
<br>
<xsl:call-template
name="print-indent"><xsl:with-param name="indent"
select="$indent+4"/></xsl:call-template>
<br>
<!-- TODO no guidance yet
on how to properly mark the governing schema within a JSON file
at <a class="moz-txt-link-freetext" href="http://json-schema.org">http://json-schema.org</a> -->
<br>
- <xsl:text>"JSON
schema":<a class="moz-txt-link-rfc2396E" href="https://www.web3d.org/specifications/x3d-3.3-JSONSchema.json">"https://www.web3d.org/specifications/x3d-3.3-JSONSchema.json"</a></xsl:text><br>
+ <xsl:text>"JSON
schema":<a class="moz-txt-link-rfc2396E" href="https://www.web3d.org/specifications/x3d-4.0-JSONSchema.json">"https://www.web3d.org/specifications/x3d-4.0-JSONSchema.json"</a></xsl:text><br>
<xsl:text>,</xsl:text>
<br>
</xsl:if>
<br>
<br>
Index: X3dToNodeJS.xslt
<br>
===================================================================
<br>
--- X3dToNodeJS.xslt (revision 32565)
<br>
+++ X3dToNodeJS.xslt (working copy)
<br>
@@ -299,7 +299,8 @@
<br>
}
<br>
}
<br>
</xsl:text><!-- class complete -->
<br>
-<xsl:text>new </xsl:text><xsl:value-of
select="$newClassName"/><xsl:text>().main();</xsl:text>
<br>
+<xsl:text>new </xsl:text><xsl:value-of
select="$newClassName"/><xsl:text>().main();
<br>
+process.exit(0);</xsl:text>
<br>
<br>
<br>
</xsl:template>
<br>
@@ -2243,9 +2244,22 @@
<br>
<xsl:if test="(local-name() =
'class')">
<br>
<xsl:text>Css</xsl:text><!--
method prefix -->
<br>
</xsl:if>
<br>
+ <xsl:if test="(local-name() =
'style')">
<br>
+
<xsl:text>Css</xsl:text><!--
method prefix -->
<br>
+ </xsl:if>
<br>
+ <xsl:if test="(local-name() =
'id')">
<br>
+
<xsl:text>Html</xsl:text><!--
method prefix -->
<br>
+ </xsl:if>
<br>
<!-- upper camel case -->
<br>
- <xsl:value-of
select="translate(substring(name(),1,1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/><br>
- <xsl:value-of
select="substring(name(),2)"/>
<br>
+ <xsl:if test="(local-name() =
'id')">
<br>
+ <xsl:value-of
select="translate(substring(name(),1,2),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/><br>
+ </xsl:if>
<br>
+
<br>
+ <xsl:if test="(local-name()
!= 'id')">
<br>
+ <xsl:value-of
select="translate(substring(name(),1,1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/><br>
+ <xsl:value-of
select="substring(name(),2)"/>
<br>
+ </xsl:if>
<br>
+
<br>
<xsl:text>(</xsl:text>
<br>
<br>
<xsl:variable
name="nodeNumber" select="count(../preceding::*) + 1"/><br>
</span></p>
<p><span style="font-family:monospace"><br>
</span></p>
<p><br>
<span style="font-family:monospace"><span
style="font-family:monospace"><span
style="font-weight:bold;color:#5454ff;background-color:#ffffff;"><a class="moz-txt-link-abbreviated" href="http://www.web3d.org/x3d/stylesheets">www.web3d.org/x3d/stylesheets</a></span><span
style="color:#000000;background-color:#ffffff;">$ svn diff
CreateX3dSceneAccessInterfaceJava.xslt </span><br>
Index: CreateX3dSceneAccessInterfaceJava.xslt
<br>
===================================================================
<br>
--- CreateX3dSceneAccessInterfaceJava.xslt (revision
32565)
<br>
+++ CreateX3dSceneAccessInterfaceJava.xslt (working copy)
<br>
@@ -35831,7 +35831,21 @@
<br>
childElementName.equals("GeoMetadata")
|| childElementName.equals("ImageCubeMapTexture") ||
childElementName.equals("ImageTexture3D") ||
<br>
childElementName.equals("ImageTexture")
|| childElementName.equals("Inline") ||
childElementName.equals("MovieTexture") ||
<br>
childElementName.equals("PackagedShader")
|| childElementName.equals("Script") ||
childElementName.equals("ShaderPart") ||
<br>
-
childElementName.equals("ShaderProgram"))
<br>
+
childElementName.equals("ShaderProgram")<br>
+|| childElementName.equals("Anchor")
<br>
+|| childElementName.equals("Inline")
<br>
+|| childElementName.equals("DISEntityTypeMapping")
<br>
+|| childElementName.equals("GeoMetadata")
<br>
+|| childElementName.equals("AudioClip")
<br>
+|| childElementName.equals("ImageCubeMapTexture")
<br>
+|| childElementName.equals("ImageTexture3D")
<br>
+|| childElementName.equals("ImageTexture")
<br>
+|| childElementName.equals("MovieTexture")
<br>
+|| childElementName.equals("Script")
<br>
+|| childElementName.equals("PackagedShader")
<br>
+|| childElementName.equals("ShaderPart")
<br>
+|| childElementName.equals("ShaderProgram")
<br>
+) <br>
&&
(containerField.equals("children") ||
containerField.equals("watchList") ||
containerField.equals("texture") ||
containerField.equals("programs") || <br>
containerField.equals("parts")
|| containerField.equals("mapping") ||
containerField.equals("shaders") ||
containerField.equals("source"))) // children is new <br>
name in X3D4, otherwise still a common, unambiguous error
<br>
((LoadSensor)elementObject).addChildren((X3DNode)
childX3dElement); // formerly addWatchList in X3D3<br>
</span></span></p>
</body>
</html>