[x3d-public] JSON schema enhancement?

John Carlson yottzumm at gmail.com
Sun Aug 13 07:42:46 PDT 2017


This is for SFImage, sorry.

John

On Aug 13, 2017 10:00 AM, "John Carlson" <yottzumm at gmail.com> wrote:

Well I'm trying to convert a large integer into something that will fit in
an int in Java through python, and afaik, it can't be hex.   Can someone
help convert JSON to DOM to Java, JavaScript and Python?

Thanks!

John

On Aug 13, 2017 9:46 AM, "Roy Walmsley" <roy.walmsley at ntlworld.com> wrote:

> John,
>
>
>
> It’s a simple question. However, the answer is not so simple!
>
>
>
> Yes, we could easily add maximum and minimum values to the JSON schema for
> all xFInt32 fields. They would all have to be done individually,
> notwithstanding any more limited requirements.
>
>
>
> However, what is the maximum and minimum? I know, you’ll say that the
> maximum is 2^31-1, i.e. 2147483647 <(214)%20748-3647>, and the minimum is
> -2147483468 <(214)%20748-3468>. And 99.9% of the time, in practice, that
> is what it will be. But what does the specification say.
>
>
>
> Let’s look at ISO/IEC 19775-1:2013, clause 5.3.7 SFInt32 and MFInt32.
>
> Reference: http://www.web3d.org/documents/specifications/19775-1/V3.3/
> Part01/fieldsDef.html#SFInt32AndMFInt32
>
>
>
> The text in the first paragraph reads:
>
>
>
> “The SFInt32 field specifies one 32-bit integer. The MFInt32 field
> specifies zero or more 32-bit integers. SFInt32 and MFInt32 fields are
> signed integers.”
>
>
>
> We can also look at the corresponding text in ISO/IEC 19776-1:2015, clause
> 5.8 SFInt32 and MFInt32
>
> Reference: http://www.web3d.org/documents/specifications/19776-1/V3.3/
> Part01/EncodingOfFields.html#SFInt32
>
>
>
> The text is similar.
>
>
>
> And that is all the standards say on the subject. What they don’t tell us
> is what arithmetic system is in use. The vast majority use two’s-complement
> arithmetic. Hence, the maximum and minimum values are as above. But, that
> is not the only possibility. There could be one’s-complement or offset
> binary, for example.
>
> Reference: https://en.wikipedia.org/wiki/Signed_number_representations
>
>
>
> Finally, let’s look at one example of the use of an MFInt32 field. Find
> the node signature for the IndexedFaceSet node, at clause 13.3.6
> IndexedFaceSet in ISO/IEC 19775-1:2013.
>
> Reference: http://www.web3d.org/documents/specifications/19775-1/V3.3/
> Part01/components/geometry3D.html#IndexedFaceSet
>
>
>
> In particular, look at any of the four MFInt32 fields, e.g. colorIndex,
> coordIndex, normalIndex, texCoordIndex. Notice the limits given by the
> standard. They are [0,inf) or -1. Technically, therefore, if X3D file in,
> say, XML, ClassicVRML, or JSON has one value of, for example, 9876543210,
> then this is technically a legal value, and should pass validation. It
> would be up to the browser implementation to report that it can’t handle
> such a large number.
>
>
>
> All that said, we might also consider the requirements for the profiles.
> Let’s look at the full profile, which can be found at Annex F in ISO/IEC
> 19775-1:2013. Table F.3 lists the minimum support requirements for nodes in
> the full profile (which is all nodes).
>
> Reference: http://www.web3d.org/documents/specifications/19775-1/V3.3/
> Part01/fullProfile.html#t-NodesForConforming
>
>
>
> Scanning down to the IndexedFaceSet node, looking at the second column,
> which has the heading “X3D File Limit”, we see that the file should be
> limited to a maximum of 15000 indices. Now we have a different limit, which
> is way  below the two’s-complement maximum.
>
>
>
> In conclusion, your simple question is not so easily answered. I’ve tried
> to present some of the relevant material. All comments weolcome.
>
>
>
> All  the best,
>
>
>
> Roy
>
>
>
> *From:* John Carlson [mailto:yottzumm at gmail.com]
> *Sent:* 11 August 2017 21:06
> *To:* Roy Walmsley <roy.walmsley at ntlworld.com>; Don Brutzman <
> brutzman at nps.edu>; X3D Graphics public mailing list <x3d-public at web3d.org>
> *Subject:* JSON schema enhancement?
>
>
>
> Roy, can we get an enhancement to the JSON schema limiting all SFInt32 and
> MFInt32 fields to the appropriate numeric range?  Thanks!
>
>
>
> Thanks!
>
>
>
> John
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170813/1f34a100/attachment-0001.html>


More information about the x3d-public mailing list