[x3d-public] Issues with Specification model in view3dscene, JSON. MFString in JSON again

John Carlson yottzumm at gmail.com
Sat Sep 2 01:13:12 PDT 2023


Before jumping off a cliff and deciding we don't want MFStrings as arrays,
consider the problem of validation.  Attached are the differences to schema
by changing JSON string arrays to strings.  Look at the rich validation we
lose.  It's not only validation of URLs

the leading - means we subtract that from schema, the leading plus is what
we are adding.

See the difference? JSON is NOT XML, even though you'd like to think that.
Don't treat it as such!

John

On Sat, Sep 2, 2023 at 2:58 AM John Carlson <yottzumm at gmail.com> wrote:

> This file throws errors view3dscene:
>
>
> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Specifications/KoreanCharacterMotionAnnexD01Jin.x3d
> (bad name field).
>
> Also:
>
> The @channels field value in the translated JSON appears as a JSON string,
> not as  a JSON array.  Here we have the MFString problem again.
>
> It appears that we have different ideas of what "MF" means.  To me, MF
> means a JSON array in JSON.  Holger's x3d-tidy tool and X_ITE renders
> MFStrings as arrays.  I created a special case NavigatorInfo at type.  Can
> we convert all MFStrings to JSON strings on output, please?  I think that
> would make everyone happy?
>
> If our tools don't agree, that will confuse people.
>
> There's could be issues around MFStrings in Text/fontStyle still. and
> other places, like urls...do you want those rendered as strings or arrays.
>
> I'm going to proceed with modifying my schema generator, I'll keep a
> backup of current stuff.
>
> John
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230902/2587f739/attachment-0001.html>
-------------- next part --------------
diff --git a/src/main/schema/x3d-4.0-JSONSchema.json b/src/main/schema/x3d-4.0-JSONSchema.json
index 2cb71a0b4..50bcf0515 100644
--- a/src/main/schema/x3d-4.0-JSONSchema.json
+++ b/src/main/schema/x3d-4.0-JSONSchema.json
@@ -1,7 +1,7 @@
 {
   "$schema": "https://json-schema.org/draft/2020-12/schema",
   "$id": "https://www.web3d.org/specifications/x3d-4.0-JSONSchema.json",
-  "title": "X3D V4.0 JSON Schema, generated 2023/08/26 07:48:38",
+  "title": "X3D V4.0 JSON Schema, generated 2023/09/02 03:05:42",
   "description": "Experimental JSON Schema for X3D V4.0",
   "type": "object",
   "properties": {
@@ -1268,19 +1268,11 @@
             },
             "@parameter": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
+              "type": "string"
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@visible": {
               "default": true,
@@ -1692,12 +1684,7 @@
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -1870,30 +1857,15 @@
             },
             "@backUrl": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@bottomUrl": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@frontUrl": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@groundAngle": {
               "$comment": "MFFloat inputOutput",
@@ -1916,24 +1888,14 @@
             },
             "@leftUrl": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "-metadata": {
               "$ref": "#/$defs/-X3DMetadataObjectSFNode"
             },
             "@rightUrl": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@skyAngle": {
               "$comment": "MFFloat inputOutput",
@@ -1957,12 +1919,7 @@
             },
             "@topUrl": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@transparency": {
               "default": 0,
@@ -2049,22 +2006,7 @@
             },
             "@forceOutput": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ALL",
-                      "NONE"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "NONE",
-                "type": "string"
-              }
+              "type": "string"
             },
             "-metadata": {
               "$ref": "#/$defs/-X3DMetadataObjectSFNode"
@@ -3157,12 +3099,7 @@
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -4688,22 +4625,7 @@
             },
             "@appliedParameters": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "enum": [
-                  "BOUNCE",
-                  "USER_FRICTION",
-                  "FRICTION_COEFFICIENT-2",
-                  "ERROR_REDUCTION",
-                  "CONSTANT_FORCE",
-                  "SPEED-1",
-                  "SPEED-2",
-                  "SLIP-1",
-                  "SLIP-2"
-                ],
-                "default": "BOUNCE",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@bboxCenter": {
               "$comment": "SFVec3f initializeOnly",
@@ -6063,22 +5985,7 @@
             },
             "@appliedParameters": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "enum": [
-                  "BOUNCE",
-                  "USER_FRICTION",
-                  "FRICTION_COEFFICIENT-2",
-                  "ERROR_REDUCTION",
-                  "CONSTANT_FORCE",
-                  "SPEED-1",
-                  "SPEED-2",
-                  "SLIP-1",
-                  "SLIP-2"
-                ],
-                "default": "BOUNCE",
-                "type": "string"
-              }
+              "type": "string"
             },
             "-body1": {
               "$ref": "#/$defs/-RigidBodySFNode"
@@ -7659,12 +7566,7 @@
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -7878,22 +7780,7 @@
             },
             "@forceOutput": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ALL",
-                      "NONE"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "NONE",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@maxAngle1": {
               "default": 3.141592653,
@@ -9646,23 +9533,7 @@
             },
             "@family": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "SANS",
-                      "SERIF",
-                      "TYPEWRITER"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "SERIF",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@horizontal": {
               "default": true,
@@ -9675,33 +9546,7 @@
             },
             "@justify": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "enum": [
-                  "MIDDLE",
-                  "\"MIDDLE\" \"BEGIN\"",
-                  "\"MIDDLE\" \"END\"",
-                  "\"MIDDLE\" \"FIRST\"",
-                  "\"MIDDLE\" \"MIDDLE\"",
-                  "BEGIN",
-                  "\"BEGIN\" \"BEGIN\"",
-                  "\"BEGIN\" \"END\"",
-                  "\"BEGIN\" \"FIRST\"",
-                  "\"BEGIN\" \"MIDDLE\"",
-                  "END",
-                  "\"END\" \"BEGIN\"",
-                  "\"END\" \"END\"",
-                  "\"END\" \"FIRST\"",
-                  "\"END\" \"MIDDLE\"",
-                  "FIRST",
-                  "\"FIRST\" \"BEGIN\"",
-                  "\"FIRST\" \"END\"",
-                  "\"FIRST\" \"FIRST\"",
-                  "\"FIRST\" \"MIDDLE\""
-                ],
-                "default": "BEGIN",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@language": {
               "$comment": "SFString inputOutput",
@@ -10464,39 +10309,19 @@
             },
             "@child1Url": {
               "$comment": "MFString initializeOnly",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@child2Url": {
               "$comment": "MFString initializeOnly",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@child3Url": {
               "$comment": "MFString initializeOnly",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@child4Url": {
               "$comment": "MFString initializeOnly",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "-children": {
               "$ref": "#/$defs/-X3DChildNodeMFNode"
@@ -10520,12 +10345,7 @@
             },
             "@rootUrl": {
               "$comment": "MFString initializeOnly",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@visible": {
               "default": true,
@@ -10621,19 +10441,11 @@
             },
             "@summary": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
+              "type": "string"
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -11764,10 +11576,7 @@
             },
             "@info": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
+              "type": "string"
             },
             "@jointBindingPositions": {
               "$comment": "MFVec3f inputOutput",
@@ -12419,10 +12228,7 @@
             },
             "@channels": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
+              "type": "string"
             },
             "@channelsEnabled": {
               "$comment": "MFBool inputOutput",
@@ -12462,10 +12268,7 @@
             },
             "@joints": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
+              "type": "string"
             },
             "@loa": {
               "default": -1,
@@ -13184,12 +12987,7 @@
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -13290,12 +13088,7 @@
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -13401,12 +13194,7 @@
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -14214,12 +14002,7 @@
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@visible": {
               "default": true,
@@ -14648,23 +14431,7 @@
             },
             "@objectType": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ALL",
-                      "NONE",
-                      "TERRAIN"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "ALL",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@pickable": {
               "default": true,
@@ -14825,22 +14592,7 @@
             },
             "@align": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "enum": [
-                  "\"LEFT\" \"BOTTOM\"",
-                  "\"LEFT\" \"CENTER\"",
-                  "\"LEFT\" \"TOP\"",
-                  "\"CENTER\" \"BOTTOM\"",
-                  "\"CENTER\" \"CENTER\"",
-                  "\"CENTER\" \"TOP\"",
-                  "\"RIGHT\" \"BOTTOM\"",
-                  "\"RIGHT\" \"CENTER\"",
-                  "\"RIGHT\" \"TOP\""
-                ],
-                "default": "CENTER",
-                "type": "string"
-              }
+              "type": "string"
             },
             "-metadata": {
               "$ref": "#/$defs/-X3DMetadataObjectSFNode"
@@ -14855,48 +14607,11 @@
             },
             "@offsetUnits": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "enum": [
-                  "\"WORLD\" \"WORLD\"",
-                  "\"WORLD\" \"FRACTION\"",
-                  "\"WORLD\" \"PIXEL\"",
-                  "\"FRACTION\" \"WORLD\"",
-                  "\"FRACTION\" \"FRACTION\"",
-                  "\"FRACTION\" \"PIXEL\"",
-                  "\"PIXEL\" \"WORLD\"",
-                  "\"PIXEL\" \"FRACTION\"",
-                  "\"PIXEL\" \"PIXEL\""
-                ],
-                "default": "WORLD",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@scaleMode": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "enum": [
-                  "\"NONE\" \"NONE\"",
-                  "\"NONE\" \"FRACTION\"",
-                  "\"NONE\" \"STRETCH\"",
-                  "\"NONE\" \"PIXEL\"",
-                  "\"FRACTION\" \"NONE\"",
-                  "\"FRACTION\" \"FRACTION\"",
-                  "\"FRACTION\" \"STRETCH\"",
-                  "\"FRACTION\" \"PIXEL\"",
-                  "\"STRETCH\" \"NONE\"",
-                  "\"STRETCH\" \"FRACTION\"",
-                  "\"STRETCH\" \"STRETCH\"",
-                  "\"STRETCH\" \"PIXEL\"",
-                  "\"PIXEL\" \"NONE\"",
-                  "\"PIXEL\" \"FRACTION\"",
-                  "\"PIXEL\" \"STRETCH\"",
-                  "\"PIXEL\" \"PIXEL\""
-                ],
-                "default": "NONE",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@size": {
               "$comment": "MFFloat inputOutput",
@@ -14908,22 +14623,7 @@
             },
             "@sizeUnits": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "enum": [
-                  "\"WORLD\" \"WORLD\"",
-                  "\"WORLD\" \"FRACTION\"",
-                  "\"WORLD\" \"PIXEL\"",
-                  "\"FRACTION\" \"WORLD\"",
-                  "\"FRACTION\" \"FRACTION\"",
-                  "\"FRACTION\" \"PIXEL\"",
-                  "\"PIXEL\" \"WORLD\"",
-                  "\"PIXEL\" \"FRACTION\"",
-                  "\"PIXEL\" \"PIXEL\""
-                ],
-                "default": "WORLD",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -15096,23 +14796,7 @@
             },
             "@objectType": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ALL",
-                      "NONE",
-                      "TERRAIN"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "ALL",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@pickable": {
               "default": true,
@@ -15229,23 +14913,7 @@
             },
             "@objectType": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ALL",
-                      "NONE",
-                      "TERRAIN"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "ALL",
-                "type": "string"
-              }
+              "type": "string"
             },
             "-pickedGeometry": {
               "$ref": "#/$defs/-X3DChildNodeMFNode"
@@ -16702,10 +16370,7 @@
             },
             "@value": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -16920,22 +16585,7 @@
             },
             "@forceOutput": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ALL",
-                      "NONE"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "NONE",
-                "type": "string"
-              }
+              "type": "string"
             },
             "-metadata": {
               "$ref": "#/$defs/-X3DMetadataObjectSFNode"
@@ -17177,12 +16827,7 @@
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -17269,81 +16914,18 @@
             },
             "@function": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "COMPLEMENT",
-                      "ALPHAREPLICATE",
-                      ""
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "type": "string"
-              }
+              "type": "string"
             },
             "-metadata": {
               "$ref": "#/$defs/-X3DMetadataObjectSFNode"
             },
             "@mode": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ADD",
-                      "ADDSIGNED",
-                      "ADDSIGNED2X",
-                      "ADDSMOOTH",
-                      "BLENDCURRENTALPHA",
-                      "BLENDDIFFUSEALPHA",
-                      "BLENDFACTORALPHA",
-                      "BLENDTEXTUREALPHA",
-                      "DOTPRODUCT3",
-                      "MODULATE",
-                      "MODULATE2X",
-                      "MODULATE4X",
-                      "MODULATEALPHA_ADDCOLOR",
-                      "MODULATEINVALPHA_ADDCOLOR",
-                      "MODULATEINVCOLOR_ADDALPHA",
-                      "OFF",
-                      "REPLACE",
-                      "SELECTARG1",
-                      "SELECTARG2",
-                      "SUBTRACT"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "type": "string"
-              }
+              "type": "string"
             },
             "@source": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "DIFFUSE",
-                      "FACTOR",
-                      "SPECULAR",
-                      ""
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "type": "string"
-              }
+              "type": "string"
             },
             "-texture": {
               "$ref": "#/$defs/-X3DSingleTextureNodeMFNode"
@@ -17591,23 +17173,7 @@
             },
             "@transitionType": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "TELEPORT",
-                      "LINEAR",
-                      "ANIMATE"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "LINEAR",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@type": {
               "$comment": "MFString inputOutput",
@@ -19711,12 +19277,7 @@
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -20259,23 +19820,7 @@
             },
             "@objectType": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ALL",
-                      "NONE",
-                      "TERRAIN"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "ALL",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@pickable": {
               "default": true,
@@ -20975,23 +20520,7 @@
             },
             "@objectType": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ALL",
-                      "NONE",
-                      "TERRAIN"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "ALL",
-                "type": "string"
-              }
+              "type": "string"
             },
             "-pickedGeometry": {
               "$ref": "#/$defs/-X3DChildNodeMFNode"
@@ -22118,23 +21647,7 @@
             },
             "@objectType": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ALL",
-                      "NONE",
-                      "TERRAIN"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "ALL",
-                "type": "string"
-              }
+              "type": "string"
             },
             "-pickedGeometry": {
               "$ref": "#/$defs/-X3DChildNodeMFNode"
@@ -23715,23 +23228,7 @@
             },
             "@family": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "SANS",
-                      "SERIF",
-                      "TYPEWRITER"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "SERIF",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@horizontal": {
               "default": true,
@@ -23744,33 +23241,7 @@
             },
             "@justify": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "enum": [
-                  "MIDDLE",
-                  "\"MIDDLE\" \"BEGIN\"",
-                  "\"MIDDLE\" \"END\"",
-                  "\"MIDDLE\" \"FIRST\"",
-                  "\"MIDDLE\" \"MIDDLE\"",
-                  "BEGIN",
-                  "\"BEGIN\" \"BEGIN\"",
-                  "\"BEGIN\" \"END\"",
-                  "\"BEGIN\" \"FIRST\"",
-                  "\"BEGIN\" \"MIDDLE\"",
-                  "END",
-                  "\"END\" \"BEGIN\"",
-                  "\"END\" \"END\"",
-                  "\"END\" \"FIRST\"",
-                  "\"END\" \"MIDDLE\"",
-                  "FIRST",
-                  "\"FIRST\" \"BEGIN\"",
-                  "\"FIRST\" \"END\"",
-                  "\"FIRST\" \"FIRST\"",
-                  "\"FIRST\" \"MIDDLE\""
-                ],
-                "default": "BEGIN",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@language": {
               "$comment": "SFString inputOutput",
@@ -24003,12 +23474,7 @@
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -24347,12 +23813,7 @@
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -24470,12 +23931,7 @@
             },
             "@url": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "minItems": 1,
-              "items": {
-                "format": "uri-reference",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -24990,22 +24446,7 @@
             },
             "@forceOutput": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ALL",
-                      "NONE"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "NONE",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@maxAngle": {
               "default": 3.141592653,
@@ -25121,22 +24562,7 @@
             },
             "@forceOutput": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ALL",
-                      "NONE"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "NONE",
-                "type": "string"
-              }
+              "type": "string"
             },
             "@maxSeparation": {
               "default": 1,
@@ -27091,10 +26517,7 @@
             },
             "@string": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
+              "type": "string"
             },
             "@DEF": {
               "$comment": "SFString inputOutput",
@@ -30097,22 +29520,7 @@
             },
             "@forceOutput": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ALL",
-                      "NONE"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "NONE",
-                "type": "string"
-              }
+              "type": "string"
             },
             "-metadata": {
               "$ref": "#/$defs/-X3DMetadataObjectSFNode"
@@ -31069,23 +30477,7 @@
             },
             "@objectType": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "ALL",
-                      "NONE",
-                      "TERRAIN"
-                    ]
-                  },
-                  {
-                    "type": "string"
-                  }
-                ],
-                "default": "ALL",
-                "type": "string"
-              }
+              "type": "string"
             },
             "-pickedGeometry": {
               "$ref": "#/$defs/-X3DChildNodeMFNode"
@@ -31417,10 +30809,7 @@
             },
             "@info": {
               "$comment": "MFString inputOutput",
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
+              "type": "string"
             },
             "-metadata": {
               "$ref": "#/$defs/-X3DMetadataObjectSFNode"
@@ -31629,12 +31018,7 @@
         },
         "@url": {
           "$comment": "MFString inputOutput",
-          "type": "array",
-          "minItems": 1,
-          "items": {
-            "format": "uri-reference",
-            "type": "string"
-          }
+          "type": "string"
         }
       },
       "required": [


More information about the x3d-public mailing list