<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;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        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"><div class=WordSection1><p class=MsoNormal>Heh, here we are.  I ran my JSON schema minus the X3DChildNode info against my local files, which I believe most pass Roy’s schema.   Attached are the schema errors.  I will put the schema into a source code repository, here: <a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/schema/x3d-5.1-JSONSchema.json">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/schema/x3d-5.1-JSONSchema.json</a> .  The rejecting of non-@USE properties and the missing of the @USE property is typical, and is exemplified by the Group schema below. I don’t know if Roy tried correcting my code already or not, but someone (Roy?) correcting this Group would be useful for me.  I believe it’s something to do with additionalProperties, which I can remove, but were would I put it back?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If you like I will start running the schema against X3D Resource Examples, but I’m sure similar errors will crop up.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The ProtoDeclare and ROUTE issues are because those statements are not X3DChildNodes in my hierarchy, I believe, so thus are only used in hardcoded schema.  I can hardcode the required statements into my schema generator, but would that be ideal?  How do I find out that the 5-6 statements previously mentioned are X3DChildNodes in OM4X3D?  I really would like it in the definition of the statement.  Thanks!</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>Group is currently defined as:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    "Group": {</p><p class=MsoNormal>      "type": "object",</p><p class=MsoNormal>      "oneOf": [</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "type": "object",</p><p class=MsoNormal>          "properties": {</p><p class=MsoNormal>            "@USE": {</p><p class=MsoNormal>              "type": "string"</p><p class=MsoNormal>            }</p><p class=MsoNormal>          },</p><p class=MsoNormal>          "required": [</p><p class=MsoNormal>            "@USE"</p><p class=MsoNormal>          ],</p><p class=MsoNormal>          "additionalProperties": false</p><p class=MsoNormal>        },</p><p class=MsoNormal>        {</p><p class=MsoNormal>          "type": "object",</p><p class=MsoNormal>          "properties": {</p><p class=MsoNormal>            "IS": {</p><p class=MsoNormal>              "$ref": "#/definitions/IS"</p><p class=MsoNormal>            },</p><p class=MsoNormal>            "@bboxCenter": {</p><p class=MsoNormal>              "type": "array",</p><p class=MsoNormal>              "minItems": 3,</p><p class=MsoNormal>              "maxItems": 3,</p><p class=MsoNormal>              "items": {</p><p class=MsoNormal>                "default": 0,</p><p class=MsoNormal>                "type": "number"</p><p class=MsoNormal>              }</p><p class=MsoNormal>            },</p><p class=MsoNormal>            "@bboxSize": {</p><p class=MsoNormal>              "type": "array",</p><p class=MsoNormal>              "minItems": 3,</p><p class=MsoNormal>              "maxItems": 3,</p><p class=MsoNormal>              "items": {</p><p class=MsoNormal>                "default": -1,</p><p class=MsoNormal>                "type": "number"</p><p class=MsoNormal>              }</p><p class=MsoNormal>            },</p><p class=MsoNormal>            "-children": {</p><p class=MsoNormal>              "$ref": "#/definitions/-X3DChildNodeMFNode"</p><p class=MsoNormal>            },</p><p class=MsoNormal>            "-metadata": {</p><p class=MsoNormal>              "$ref": "#/definitions/-X3DMetadataObjectSFNode"</p><p class=MsoNormal>            },</p><p class=MsoNormal>            "@DEF": {</p><p class=MsoNormal>              "type": "string"</p><p class=MsoNormal>            },</p><p class=MsoNormal>            "@class": {</p><p class=MsoNormal>              "type": "string"</p><p class=MsoNormal>            }</p><p class=MsoNormal>          },</p><p class=MsoNormal>          "additionalProperties": false</p><p class=MsoNormal>        }</p><p class=MsoNormal>      ]</p><p class=MsoNormal>    },</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>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:brutzman@nps.edu">Don Brutzman</a><br><b>Sent: </b>Saturday, July 29, 2017 9:53 PM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a>; <a href="mailto:roy.walmsley@ntlworld.com">Roy Walmsley</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: Action Needed: Need for acceptableStatements (ortypes)forchildren fields in X3DObject Model</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 7/29/2017 6:42 PM, John Carlson wrote:</p><p class=MsoNormal>> I also question whether all ConcreteNodes should be X3DChildNodes.  I doubt it.  What do you think?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>no</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> If I take it out, what will break?  Frankly, I just threw X3DChildNode in there hoping it would fix something that was broken.  A more principled approach would be better—get the whole inheritance hierarchy into OM4X3D.</p><p class=MsoNormal>> </p><p class=MsoNormal>> I will soon remove all references to X3DChildNode in my code and continue testing.  We will see what happens.</p><p class=MsoNormal>> </p><p class=MsoNormal>> John</p><p class=MsoNormal>I'll be surprised if you find something broken... the X3DJSAIL adaptation of has been tested on the entire X3D Examples Archive.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Authoritative reference throughout: X3D Abstract Spec.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>all the best, Don</p><p class=MsoNormal>-- </p><p class=MsoNormal>Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu</p><p class=MsoNormal>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>