<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">I think this first came up about a
month ago. The idea of adding brackets around anything that could
be an array was so that software that was processing the file did
not either<br>
1) know the structure of X3D<br>
<br>
OR<br>
<br>
2) Have to inquire the type of the structure at run-time<br>
<br>
<br>
It appears to me that the above reasoning is being discarded here.
If I am wrong, please help correct my misunderstanding.<br>
<br>
<br>
Leonard Daly<br>
<br>
<br>
<br>
</div>
<blockquote cite="mid:56C6CF79.5040203@nps.edu" type="cite">John,
during today's X3D Schema/DTD teleconference Roy observed that our
SFNode child nodes were always wrapped in [array brackets] even
though there is not an array there.
<br>
<br>
This is contrary to our declared design principle that SFNode is
always a JSON object.
<br>
<br>
<a class="moz-txt-link-freetext" href="http://www.web3d.org/x3d/stylesheets/X3dToJson.html#values">http://www.web3d.org/x3d/stylesheets/X3dToJson.html#values</a>
<br>
<br>
That definitely appears to be what we want. No desire to mislead
JSON authors into thinking that another node might appear.
<br>
<br>
Fortunately this implementation wasn't too difficult. Here is the
list of SFNode types that I constructed from
AllX3dElementsAttributes.3.3.xml
<br>
<br>
<xsl:variable name="SFNodeType" select="
<br>
($fieldName = 'back') or ($fieldName =
'bottom') or ($fieldName = 'front') or
<br>
($fieldName = 'left') or ($fieldName =
'right') or ($fieldName = 'top') or
<br>
($fieldName = 'backTexture') or ($fieldName =
'bottomTexture') or ($fieldName = 'frontTexture') or
<br>
($fieldName = 'leftTexture') or ($fieldName =
'rightTexture') or ($fieldName = 'topTexture') or
<br>
($fieldName = 'appearance') or ($fieldName =
'body1') or ($fieldName = 'body2') or
<br>
($fieldName = 'collidable') or ($fieldName =
'collider') or
<br>
($fieldName = 'color') or ($fieldName =
'colorRamp') or ($fieldName = 'coord') or
<br>
($fieldName = 'controlPoint') or ($fieldName =
'controlPoints') or ($fieldName = 'crossSectionCurve') or
<br>
($fieldName = 'emitter') or ($fieldName =
'fillProperties') or
<br>
($fieldName = 'fogCoord') or ($fieldName =
'fontStyle') or ($fieldName = 'geoOrigin') or
<br>
($fieldName = 'geometry') or ($fieldName =
'geometry1') or ($fieldName = 'geometry2') or
<br>
($fieldName = 'gradients') or ($fieldName =
'layout') or ($fieldName = 'lineProperties') or
<br>
($fieldName = 'massDensityModel') or
<br>
($fieldName = 'metadata') or ($fieldName =
'normal') or ($fieldName = 'pickingGeometry') or
<br>
($fieldName = 'profileCurve') or ($fieldName =
'proxy') or
<br>
($fieldName = 'renderStyle') or ($fieldName =
'source') or
<br>
($fieldName = 'segmentIdentifiers') or ($fieldName =
'surface') or ($fieldName = 'surfaceNormals') or
<br>
($fieldName = 'targetObject') or ($fieldName =
'texCoord') or ($fieldName = 'texCoordRamp') or
<br>
($fieldName = 'texture') or ($fieldName =
'textureProperties') or ($fieldName = 'textureTransform') or
<br>
($fieldName = 'trajectoryCurve') or ($fieldName =
'transferFunction') or
<br>
($fieldName = 'viewpoint') or ($fieldName =
'voxels') or
<br>
($fieldName = 'weightTransferFunction1') or ($fieldName =
'weightTransferFunction2') or
<br>
($parentName='CADFace' and $fieldName = 'shape') or
<br>
($parentName='CollidableShape' and $fieldName = 'shape')"
/>
<br>
<br>
So anyway it appears to be working on the first handful of test
examples used during development.
<br>
<br>
HelloWorld.json example attached, check out SFNode fields
-appearance -geometry -material etc. Output is slightly terser as
well.
<br>
<br>
No doubt this affects your implementation to but it appears to be
an important change.
<br>
<br>
Hope this sounds good to you too. Chalk another win up for Roy's
JSON schema!
<br>
<br>
Stylesheet modifications checked in. I'm running the JSON
Examples build overnight, should be ready for you and Roy in the
morning.
<br>
<br>
<a class="moz-txt-link-freetext" href="http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples">http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples</a>
<br>
"Special testing distribution. A comprehensive collection of all
JSON example scenes is available at
X3dExampleArchivesJsonScenes.zip (MD5 checksum) plus current
output from the X3D JSON build process at build.json.out."
<br>
<br>
all the best, Don
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
x3d-public mailing list
<a class="moz-txt-link-abbreviated" href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>
<a class="moz-txt-link-freetext" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
</pre>
</blockquote>
<br>
<br>
<div class="moz-signature">-- <br>
<font class="tahoma,arial,helvetica san serif" color="#333366">
<font size="+1"><b>Leonard Daly</b></font><br>
3D Systems & Cloud Consultant<br>
X3D Co-Chair on Sabbatical<br>
LA ACM SIGGRAPH Chair<br>
President, Daly Realism - <i>Creating the Future</i>
</font></div>
</body>
</html>