[x3d-public] X3D example scenes using MetadataSet in WorldInfo

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Wed Feb 2 11:55:46 PST 2022


Yes, you can create X3D metadata fragments in XML which are compatible with both V3.3 and V4 simply by staying verbose with XML containerField.

There are no changes in other programming languages or file encodings (though you might do something similar in JSON if paying attention to default values).

There are separate examples for X3D3 and X3D4 to show differences in omitting containerField='value' in X3D4.  For large MetadataSet collections, we've seen that this terseness helps with human reading and understanding.

p.s. thank you Vince for reporting problem with pretty-print conversion earlier, that has been remedied in X3dToXhtml.xslt stylesheet and updated outputs deployed.  Terser excerpt follows.


  *   https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter15Metadata/WorldInfoExampleMetadataSetX3D4.html

<WorldInfo title='WorldInfoExampleMetadataSetX3D4.x3d Example Scene'>
    <!-- WorldInfo single available child field of interest is 'metadata' so contained MetadataSet must have containerField='metadata' which IS NOT default in X3D4 -->
    <MetadataSet containerField='metadata' name='birthday' reference=' http://www.americaslibrary.gov/jb/colonial/jb_colonial_washingtn_2.html '>
        <MetadataString containerField='metadata' name='calendar' reference='this node describes nature of parent node, and is not intended as a data value' value='"Julian"'/>
        <!-- MetadataSet next field of interest is 'value' and so contained Metadata nodes must have containerField='value' which IS the default in X3D4' -->
        <MetadataInteger name='day' value='11'/>
        <MetadataInteger name='month' value='2'/>
        <MetadataInteger name='year' value='1731'/>
    </MetadataSet>
</WorldInfo>

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 https:// faculty.nps.edu/brutzman

From: John Carlson <yottzumm at gmail.com>
Sent: Wednesday, February 2, 2022 11:01 AM
To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
Cc: Vince Marchetti <vmarchetti at kshell.com>
Subject: Re: [x3d-public] X3D example scenes using MetadataSet in WorldInfo

Don/Vince, I think that you are showing, not including differences in comments, that one can create X3D which is compatible with both V3.3 and V4?

On Wed, Feb 2, 2022 at 11:04 AM Brutzman, Donald (Don) (CIV) <brutzman at nps.edu<mailto:brutzman at nps.edu>> wrote:
Hi Vince.  I belatedly found the attached scene lingering on my desktop.  Looked like the goal was to show nested MetadataSet nodes.
I've added some information to the scene, and validated them.  Also adapted matching side-by-side versions for X3D3 and X3D4 to illustrate small differences in syntax.

  *   X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 15 Metadata
  *   https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter15Metadata

  *   World Info Example Metadata Set X3D 3
  *   https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter15Metadata/WorldInfoExampleMetadataSetX3D3Index.html
 <WorldInfo>
    <!-- WorldInfo single available child field of interest is 'metadata' and so contained MetadataSet must have containerField='metadata' which IS the default in X3D3' -->
    <MetadataSet containerField='metadata' name='birthday' reference=' http://www.americaslibrary.gov/jb/colonial/jb_colonial_washingtn_2.html '>
        <MetadataString containerField='metadata' name='calendar' reference='this node describes nature of parent node, and is not intended as a data value' value='"Julian"'/>
        <!-- MetadataSet next field of interest is 'value' and so contained Metadata nodes must have containerField='value' which IS NOT default in X3D3' -->
        <MetadataInteger containerField='value' name='day' value='11'/>
        <MetadataInteger containerField='value' name='month' value='2'/>
        <MetadataInteger containerField='value' name='year' value='1731'/>
    </MetadataSet>
</WorldInfo>

  *   World Info Example Metadata Set X3D 4
  *   https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter15Metadata/WorldInfoExampleMetadataSetX3D4Index.html
<WorldInfo>
    <!-- WorldInfo single available child field of interest is 'metadata' so contained MetadataSet must have containerField='metadata' which IS NOT default in X3D4' -->
    <MetadataSet containerField='metadata' name='birthday' reference=' http://www.americaslibrary.gov/jb/colonial/jb_colonial_washingtn_2.html '>
        <MetadataString containerField='metadata' name='calendar' reference='this node describes nature of parent node, and is not intended as a data value' value='"Julian"'/>
        <!-- MetadataSet next field of interest is 'value' and so contained Metadata nodes must have containerField='value' which IS the default in X3D4' -->
        <MetadataInteger name='day' value='11' containerField='value'/>
        <MetadataInteger name='month' value='2' containerField='value'/>
        <MetadataInteger name='year' value='1731' containerField='value'/>
    </MetadataSet>
</WorldInfo>
_______________________________________________
x3d-public mailing list
x3d-public at web3d.org<mailto:x3d-public at web3d.org>
http://web3d.org/mailman/listinfo/x3d-public_web3d.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220202/5757d23e/attachment-0001.html>


More information about the x3d-public mailing list