[x3d-public] X3dToJSON.xslt stylesheet. ProtoInstances with USE don't get a name attribute
John Carlson
yottzumm at gmail.com
Mon Mar 14 17:29:02 PDT 2016
I am trying to send these files from Google drive. If they don't work, I
will download and attach. Here's the source file to send through
X3dToJson.xslt. You'll want to verify the output with the X3D JSON Schema.
arc.x3d
<https://drive.google.com/file/d/0B7SWdIIE8ueKNTJfVzg2dXJMeUJud0VvQlNxOXVQTnhQc05N/view?usp=drivesdk>
On Mar 14, 2016 8:21 PM, "John Carlson" <yottzumm at gmail.com> wrote:
> arc.json
> <https://drive.google.com/file/d/0B7SWdIIE8ueKYkhZNTlramd1bWxyYTZVUmYyZnhFU2pTMUdF/view?usp=drivesdk>
> roy can you test this file against X3D JSON Schema. I believe if it
> complains about a missing @name attribute in the ProtoInstance, there's a
> problem with the X3dToJson.xslt stylesheet removing the name attribute on a
> ProtoInstance with a USE attribute (unless someone fixed it in the
> meantime...I think my original message wasn't clear.) I can provide a
> source .x3d file. The source file is somewhat questionable, but it passed
> QA tests last time I checked. You may want to construct your own example.
> I'll post my source file in a follow up message. I am operating on my
> phone right now, so it's hard to view json and x3d text files. I am
> attaching from Google drive from a previous message.
> On Mar 14, 2016 6:57 PM, "Roy Walmsley" <roy.walmsley at ntlworld.com> wrote:
>
> Don,
>
> I checked the JSON schema - it already required the @name field for
> ProtoDeclare and ExternProtoDeclare. However, it was optional for
> ProtoInstance. I have now made it required, and committed the change to
> SourceForge.
>
> Roy
>
> -----Original Message-----
> From: Don Brutzman [mailto:brutzman at nps.edu]
> Sent: 14 March 2016 22:34
> To: John Carlson; Roy Walmsley
> Cc: X3D Graphics public mailing list
> Subject: Re: X3D JSON style sheet. ProtoInstances with USE don't get a
> name attribute
>
> Thanks for asking. Yes there is some partial redundancy of information
> here. However...
>
> Some time ago we decided to make the @name attribute required, even for
> USE. This allows a player to perform strong checking of node type, just as
> is possible with any other USE node.
>
> This approach also avoids single point of failure, where a mistaken
> spelling of DEF or USE might inadvertently insert a scene graph with the
> wrong node type somewhere into the scene graph. Such a mistake has a high
> likelihood of creating a serious run-time error. From that perspective, I
> suppose requiring @name for strong type checking also is helpful in
> maintaining scene security from attack.
>
> Glad to hear that X3D Schematron confirmed the omission was erroneous! 8)
>
> So please include @name field in your ProtoInstance, ProtoDeclare and
> ExternProtoDeclare output. Also (Roy) please require it in the JSON
> Schema. It is good that we are building consistent set of requirements and
> quality assurance (QA) into each of the encodings.
>
>
> On 3/13/2016 7:24 AM, John Carlson wrote:
> > See that name attributes for ProtoInstances got removed when there’s
> USE in result file arc2.x3d in arc.son. I can probably put them back in my
> PrototypeExpander, I am not sure. This causes Schematron to complain. You
> can fix Schematron too, if it’s an error. Source is arc.x3d and
> intermediate is arc.json
>
>
> all the best, Don
> --
> Don Brutzman Naval Postgraduate School, Code USW/Br
> brutzman at nps.edu
> Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA
> +1.831.656.2149
> X3D graphics, virtual worlds, navy robotics
> http://faculty.nps.edu/brutzman
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20160314/8c24f6b8/attachment-0001.html>
More information about the x3d-public
mailing list