[x3d-public] Addition to X3DUOM. DSM/Model-based ordering

John Carlson yottzumm at gmail.com
Sun Mar 31 23:16:59 PDT 2024


A preliminary 4.0 JSON schema has been published here:

https://github.com/coderextreme/x3dvalidate

under the schemas folder.

Search for x-orderOf for any pain points.

No validation is done yet, but I've run through some tests to make sure
things still work.  Note that WinterAndSpring kids fail JSON validation,
but that's probably not a surprise?  I was kind of surprised.

Here's a sample error.
 keyword: format
 location in document:
/X3D/Scene/-children/4/Transform/-children/3/Group/-children/0/HAnimHumanoid/-skin/0/Shape/-appearance/Appearance/-texture/ImageTexture
/@url/0
 message: must match format "uri-reference"
 params: {"format":"uri-reference"}
 file: examples.bad/Tufani8Final.json
 version: 4.0

That just means that the ImageTexure url does not conform to the Ajv idea
of URIs

Here's the discussion of ordering the head statements. Perhaps someone else
could identify where head comes before Scene in the x3d4 spec?  Thanks.
View3dscene seems to complain about that.

https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/core.html#Organization

So now, I have to patch up the rest of my tools to conform to the spec.
Perhaps Hoger could patch x3d-tidy.

On Sun, Mar 31, 2024 at 3:41 PM John Carlson <yottzumm at gmail.com> wrote:

> Purpose:  To specify order of X3D and head sub-nodes/statements when
> converting JSON to XML and back.
>
> FYI, Don, JSON schema is now being self-published.  They’ve abandoned the
> IETF approach.
>
> My JSON schema proposal to Ajv validator:
>
> https://github.com/ajv-validator/ajv/issues/2403
>
> I’ll probably be digging into this in the next few weeks.  Any assistance
> with X3DUOM *ContentModel would
> be appreciated.
>
> I’m also considering doing some kind of C++ encoding/object notation and
> I’m getting experience with ANTLR, further developing my VRML parser from
> X3DUOM…which is where sequential ordering hit me in the face again.
>
> John
>
> On Sun, Mar 31, 2024 at 3:02 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> Here’s the page for JSON subschemas:
>>
>> https://json-schema.org/understanding-json-schema/reference/combining
>>
>> I will be adding “x-inOrder” subschema to our JSON meta schema
>> vocabulary.  Typically subschemas contain subschemas and properties.  The
>> properties and subschemas will appear sequentially in the JSON files.
>>
>> Thanks for listening.
>>
>> John
>>
>> On Sun, Mar 31, 2024 at 2:29 PM John Carlson <yottzumm at gmail.com> wrote:
>>
>>> My thought is to add a sequential subschema to JSON Schema to match the
>>> parallel subschemas, “oneOf”, “allOf”, …
>>>
>>> On Sun, Mar 31, 2024 at 12:03 PM John Carlson <yottzumm at gmail.com>
>>> wrote:
>>>
>>>> In places where order IS important, inside head and X3D elements, the
>>>> JSON schema is silent.  I will probably be using custom schema “stuff” from
>>>> X3DUOM in JSON schema to specify order, but it will be informative, not
>>>> binding.  That is, you should implement it for interoperability.
>>>>
>>>> Collaboration on design is welcome.
>>>>
>>>> John
>>>>
>>>> On Sun, Mar 31, 2024 at 11:04 AM John Carlson <yottzumm at gmail.com>
>>>> wrote:
>>>>
>>>>> It looks like the *ContentModel tags manage order? and occurrence of
>>>>> subnodes.  I did wonder what these were.  I have not seriously looked at
>>>>> the X3DUOM xsd yet.  Is there documentation elsewhere?  I’l look at the XML
>>>>> encoding.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Joh
>>>>>
>>>>> On Sun, Mar 31, 2024 at 10:33 AM John Carlson <yottzumm at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> I am wondering about ordering statements and nodes in X3DUOM (object
>>>>>> model).  I am well aware of ordering in XML schema…and sorting in
>>>>>> stylesheets.  This means we have to write ordering for each X3DUOM
>>>>>> processor.  It might be easiest just to order stuff in X3DUOM, once.  I am
>>>>>> thinking about ordering head statements, and head vs Scene. There are
>>>>>> perhaps, other places in X3D.
>>>>>>
>>>>>> Neither JSON schema nor my upcoming VRML grammar currently bother
>>>>>> much about ordering, and that concerns me.  I feel like XSLT could provide
>>>>>> a better solution, but I’m starting to think about how to accomplish
>>>>>> ordering in VRML parsing, without information from X3DUOM.
>>>>>>
>>>>>> Thanks for listening,
>>>>>>
>>>>>> John
>>>>>>
>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20240401/fe18e287/attachment-0001.html>


More information about the x3d-public mailing list