[x3d-public] url MFString handling

Andreas Plesch andreasplesch at gmail.com
Wed Apr 20 08:13:57 PDT 2022


Thanks. I found loadURLs() for the JSON Proto Expander.  While Inline
and ImageTexture is the focus,  xml ExternProto will need to be
figured out as well. It is using fetch() asynchronously.

Andreas



On Wed, Apr 20, 2022 at 1:06 AM John Carlson <yottzumm at gmail.com> wrote:
>
> All I can remember is I wrote callback hell for ExternProtoDeclare in the JSON Proto Expander.   It had some way to handle a list of URLs.   Likely that code is in X3DOM.   Maybe under loadUrls?
>
> If you can’t find it,  I’ll look at src/main/node in X3DJSONLD.
>
> On Tue, Apr 19, 2022 at 8:36 PM Andreas Plesch <andreasplesch at gmail.com> wrote:
>>
>> x3dom currently lacks support for back-up urls to use if the first
>> urls do not work. I am trying to add support and wonder how to deal
>> with corner cases.
>>
>> The spirit of the spec. here is pretty clear:
>> https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/networking.html#X3DUrlObject
>>
>> says that a url which cannot be located or if the retrieved data
>> cannot be interpreted should be skipped. Subsequent urls are then used
>> as back-ups.
>>
>> Currently, x3dom checks if an inline x3d url can be parsed as xml and
>> if so if it has a Scene element.
>>
>> The first corner case happens if there is a X3D element but it does
>> not contain a Scene element. This could be interpreted to mean an
>> empty X3D document with an empty Scene, or that it perhaps should be
>> skipped as not interpretable. I would probably favor skipping as this
>> would normally happen by mistake.
>>
>> The second corner case is a Scene element without content. Should such
>> X3D be considered interpretable ?  I think x3dom is currently set up
>> to parse it without error resulting in an empty Scene, probably with
>> default NavigationInfo and Viewpoint. So this could be considered
>> interpretable and not be skipped.
>>
>> https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#urls
>>
>> says a result needs to be "legal". But legal is by definition what is
>> provided in the spec., eg. comes down to being interpretable.
>>
>> The tooltip at https://www.web3d.org/x3d/content/X3dTooltips.html#Inline.url
>>
>> does not seem to further clarify.
>>
>> Any feedback appreciated,
>>
>> Andreas
>>
>> --
>> Andreas Plesch
>> Waltham, MA 02453
>>
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org



--
Andreas Plesch
Waltham, MA 02453



More information about the x3d-public mailing list