<div dir="ltr">I believe the array of enums was duplicated because there are 2 default values.  But don't quote me on that, I haven't checked the standard at this point.<div><br></div><div>John</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jan 22, 2022 at 2:30 AM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Here are changes to X3D JSON schema to support NavigationInfo.type as a JSON string and not as a JSON array.<div><br></div><div>Note that we lose quite a bit of validation power, essentially, the user can specify *any* string--essentially there is no validation beyond JSON type.  This is because of the combinatorial aspect that the user can specify in an MFString--any ordering of the enum values is allowed. But I'm not really sure if we didn't already support *any* string.  I'm unsure at this point whether we have a pattern for NavigationInfo.type.  I checked, and it doesn't look useful.</div><div><br></div><div>I'm also wondering why the array of enums in the old schema was nearly duplicated.</div><div><br></div><div>None of this is checked in yet.   It's your opportunity to comment.  I will follow with changes to the schema generator.</div><div><br></div><div>Thanks,</div><div><br></div><div>John</div><div><div><br></div><div><br></div><div>diff --git a/src/main/schema/x3d-3.0-JSONSchema.json b/src/main/schema/x3d-3.0-JSONSchema.json<br>index 3cfcc8f91..059a81858 100644<br>--- a/src/main/schema/x3d-3.0-JSONSchema.json<br>+++ b/src/main/schema/x3d-3.0-JSONSchema.json<br>@@ -9002,38 +9002,7 @@<br>             },<br>             "@type": {<br>               "$comment": "MFString inputOutput",<br>-              "type": "array",<br>-              "prefixItems": [<br>-                {<br>-                  "enum": [<br>-                    "ANY",<br>-                    "WALK",<br>-                    "EXAMINE",<br>-                    "FLY",<br>-                    "LOOKAT",<br>-                    "NONE",<br>-                    "EXPLORE"<br>-                  ],<br>-                  "default": "EXAMINE",<br>-                  "type": "string"<br>-                },<br>-                {<br>-                  "enum": [<br>-                    "ANY",<br>-                    "WALK",<br>-                    "EXAMINE",<br>-                    "FLY",<br>-                    "LOOKAT",<br>-                    "NONE",<br>-                    "EXPLORE"<br>-                  ],<br>-                  "default": "ANY",<br>-                  "type": "string"<br>-                }<br>-              ],<br>-              "items": {<br>-                "type": "string"<br>-              }<br>+              "type": "string"<br>             },<br></div></div></div>
</blockquote></div>