[x3d-public] More Object Model Work.

John Carlson yottzumm at gmail.com
Sun Aug 20 16:12:56 PDT 2017


One problem with CreateX3dSceneAccessInterfaceJava.xslt currently is that it generates code for all of the XML schema AFAIK.  Options to only include various profiles, (X3D) components and levels might be desirable in X3DJSAIL, perhaps by splitting out different jars. I guess we can wait until Java 9 modules.  We might want to think about how to generate Java 9 module-info.java’s from the object model for various profiles. [ exercise left to the reader ]. Note: packages cannot be split between modules, last I heard.

We also might want to think about how to have JSON schemas for the various profiles, and reject nodes and statements which don’t match the profile.

In other words, I  don’t see links between component(+level) and specific profiles in the object model.

Perhaps this is intentional?

In the XML schema, there is 

      <xs:group name="ChildContentModelDIS">
        <xs:group name="ChildContentModelFull">
        <xs:group name="ChildContentModelGeoSpatial">
        <xs:group name="ChildContentModelHumanoidAnimation">
        <xs:group name="ChildContentModelImmersive">
        <xs:group name="ChildContentModelInteractive">
        <xs:group name="ChildContentModelInterchange">
        <xs:group name="ChildContentModelNurbs">
        <xs:group name="ChildContentModelProtoInstance">

And many ref’s.
	<xs:group ref="ChildContentModelDIS"/>
                        <xs:group ref="ChildContentModelFull"/>
                        <xs:group ref="ChildContentModelGeoSpatial"/>
                        <xs:group ref="ChildContentModelHumanoidAnimation"/>
                        <xs:group ref="ChildContentModelImmersive"/>
                        <xs:group ref="ChildContentModelInteractive"/>
                        <xs:group ref="ChildContentModelInterchange"/>
                        <xs:group ref="ChildContentModelNurbs"/>
                        <xs:group ref="ChildContentModelProtoInstance"/>
But in the object model, I don’t see the above:

$ grep ChildContent X3DObjectModel-3.3.xml |sort -u
               <GroupContentModel name="AppearanceChildContentModel"
               <GroupContentModel name="ChildContentModel" minOccurs="0" maxOccurs="unbounded"/>
               <GroupContentModel name="ChildContentModelCore" minOccurs="0" maxOccurs="unbounded"/>
               <GroupContentModel name="ChildContentModelCore" minOccurs="0"/>
               <GroupContentModel name="ChildContentModelCore"/>
               <GroupContentModel name="GroupingNodeChildContentModel"/>
               <GroupContentModel name="LoadSensorChildContentModel"
               <GroupContentModel name="ShapeChildContentModel" minOccurs="0"/>
               <GroupContentModel name="SoundChildContentModel" minOccurs="0"/>
               <GroupContentModel name="TextChildContentModel"/>
               <GroupContentModel name="TextureBackgroundChildContentModel"

And I see no reference to ChildContent in the JSON schema:

$ grep ChildContent x3d-3.3-JSONSchema.json
$

John


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170820/fe1f4388/attachment.html>


More information about the x3d-public mailing list