<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "http://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Immersive' version='3.3 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' http://www.web3d.org/specifications/x3d-3.3.xsd '>
<head>
<meta name='titlecontent='MetadataExamples.x3d'/>
<meta name='descriptioncontent='Examples showing use of new X3D Metadata nodes in Core component (MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString). Also provided: external prototype definitions for backwards compatibility with VRML 97.'/>
<meta name='hintcontent='Metadata nodes may be repositioned by a few lines if VRML97 parent node does not support the children field.'/>
<meta name='creatorcontent='Don Brutzman'/>
<meta name='createdcontent='17 November 2003'/>
<meta name='modifiedcontent='7 May 2017'/>
<meta name=' warning content=' The external prototype declarations in this file are only intended for use with browsers that do not already support the Metadata nodes. '/>
<meta name='referencecontent='MetadataPrototypes.x3d'/>
<meta name='subjectcontent='Metadata nodes, X3D Core component (MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString)'/>
<meta name='referencecontent=' http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#Metadata '/>
<meta name='referencecontent=' http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#X3DMetadataObject '/>
<meta name='referencecontent=' http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference '/>
<meta name='identifiercontent=' http://www.web3d.org/x3d/content/examples/Basic/development/MetadataExamples.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<!-- ==================== -->
<!-- Do not copy these ExternProtoDeclare statements, they are only included for preparation of X3dToVrml97.xslt stylesheet mappings for backwards compatibility. -->
<!-- ==================== -->
<ExternProtoDeclare name='MetadataBooleanappinfo='MetadataBoolean contains a list of booleans in the value field.'
  url=' "MetadataPrototypes.x3d#MetadataBoolean" "http://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataBoolean" "MetadataPrototypes.wrl#MetadataBoolean" "http://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.wrl#MetadataBoolean" '>
<field name='nametype='SFStringaccessType='inputOutput'
 appinfo='default value'/>

<field name='valuetype='MFBoolaccessType='inputOutput'
 appinfo='default value'/>

<field name='referencetype='SFStringaccessType='inputOutput'
 appinfo='default value'/>

<field name='metadatatype='SFNodeaccessType='inputOutput'
 appinfo='Metadata node only'/>
</ExternProtoDeclare>
<ExternProtoDeclare name='MetadataDoubleappinfo='MetadataDouble contains a list of double-precision floating-point numbers in the value field.'
  url=' "MetadataPrototypes.x3d#MetadataDouble" "http://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataDouble" "MetadataPrototypes.wrl#MetadataDouble" "http://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.wrl#MetadataDouble" '>
<field name='nametype='SFStringaccessType='inputOutput'/>
<field name='valuetype='MFDoubleaccessType='inputOutput'/>
<field name='referencetype='SFStringaccessType='inputOutput'/>
<field name='metadatatype='SFNodeaccessType='inputOutput'/>
</ExternProtoDeclare>
<ExternProtoDeclare name='MetadataFloatappinfo='MetadataFloat contains a list of floating-point numbers in the value field.'
  url=' "MetadataPrototypes.x3d#MetadataFloat" "http://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataFloat" "MetadataPrototypes.wrl#MetadataFloat" "http://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.wrl#MetadataFloat" '>
<field name='nametype='SFStringaccessType='inputOutput'/>
<field name='valuetype='MFFloataccessType='inputOutput'/>
<field name='referencetype='SFStringaccessType='inputOutput'/>
<field name='metadatatype='SFNodeaccessType='inputOutput'/>
</ExternProtoDeclare>
<ExternProtoDeclare name='MetadataIntegerappinfo='MetadataInteger contains a list of 32-bit integer numbers in the value field.'
  url=' "MetadataPrototypes.x3d#MetadataInteger" "http://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataInteger" "MetadataPrototypes.wrl#MetadataInteger" "http://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.wrl#MetadataInteger" '>
<field name='nametype='SFStringaccessType='inputOutput'/>
<field name='valuetype='MFInt32accessType='initializeOnly'/>
<field name='set_valuetype='MFInt32accessType='inputOnly'/>
<field name='referencetype='SFStringaccessType='inputOutput'/>
<field name='metadatatype='SFNodeaccessType='inputOutput'/>
</ExternProtoDeclare>
<ExternProtoDeclare name='MetadataSetappinfo='MetadataSet contains a list of nodes in the value field.'
  url=' "MetadataPrototypes.x3d#MetadataSet" "http://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataSet" "MetadataPrototypes.wrl#MetadataSet" "http://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.wrl#MetadataSet" '>
<field name='nametype='SFStringaccessType='inputOutput'/>
<field name='valuetype='MFNodeaccessType='inputOutput'/>
<field name='referencetype='SFStringaccessType='inputOutput'/>
<field name='metadatatype='SFNodeaccessType='inputOutput'/>
</ExternProtoDeclare>
<ExternProtoDeclare name='MetadataStringappinfo='MetadataString contains a set of strings in the value field.'
  url=' "MetadataPrototypes.x3d#MetadataString" "http://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataString" "MetadataPrototypes.wrl#MetadataString" "http://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.wrl#MetadataString" '>
<field name='nametype='SFStringaccessType='inputOutput'/>
<field name='valuetype='MFStringaccessType='inputOutput'/>
<field name='referencetype='SFStringaccessType='inputOutput'/>
<field name='metadatatype='SFNodeaccessType='inputOutput'/>
</ExternProtoDeclare>
<!-- =========================== -->
<!-- Example Metadata node usage -->
<!-- =========================== -->
<Group>
<MetadataBoolean DEF='MetadataBooleanInstancename='sample boolean datareference=' http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#MetadataBooleanvalue='true false truecontainerField='metadata'/>
<Transform>
<MetadataDouble DEF='MetadataDoubleInstancename='sample double datareference=' http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#MetadataDoublevalue='1.0 2.0 3.0containerField='metadata'/>
</Transform>
<Transform>
<MetadataFloat name='sample float datareference=' http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#MetadataFloatvalue='1.0 2.0 3.0containerField='metadata'>
<!-- metadata child of metadata node (also note nested PROTO here, when translated) -->
<MetadataDouble USE='MetadataDoubleInstancecontainerField='metadata'/>
</MetadataFloat>
</Transform>
<Transform>
<MetadataInteger name='sample integer datareference=' http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#MetadataIntegervalue='1 2 3containerField='metadata'/>
</Transform>
<Transform>
<MetadataSet name='sample datareference=' http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#MetadataSetcontainerField='metadata'>
<MetadataString name='containerFieldDefaultTestvalue='"This initial node is containerField=metadata on the MetadataSet, not part of the containerField=value set"containerField='metadata'/>
<!-- be sure to set containerField='value' for all members of the contained set! -->
<MetadataBoolean containerField='valuename='MetadataSetValue1value='true false true'/>
<MetadataDouble containerField='valuename='MetadataSetValue2value='0 1 2'/>
<MetadataFloat containerField='valuename='MetadataSetValue3value='3 4 5'/>
<MetadataInteger containerField='valuename='MetadataSetValue4value='6 7 8'/>
<MetadataString containerField='valuename='MetadataSetValue5value='"string1" "string2"'/>
</MetadataSet>
</Transform>
<Transform>
<MetadataString name='sample string datareference=' http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#MetadataStringvalue='"one two three" "four five six"containerField='metadata'/>
</Transform>
<Group>
<WorldInfo DEF='TestMetadataChild'>
<MetadataString name='Backwards compatibility notevalue='"Metadata nodes are converted into comments when children [ ] field is not available in parent node"containerField='metadata'/>
</WorldInfo>
</Group>
</Group>
<!-- ==================== -->
<Anchor DEF='LinkToExamplesdescription='link to examplesparameter='"target=_blank"'
  url=' "MetadataExamples.html" "http://www.web3d.org/x3d/content/examples/Basic/development/MetadataExamplesIndex.html" '>
<Shape>
<Appearance>
<Material diffuseColor='0.8 0.6 0.2'/>
</Appearance>
<Text string='"MetadataExamples is a developmental file to define" "EXTERNPROTO signatures in VRML 97 syntax" "Example usage of Metadata nodes also included." "" "Click text to view source"'>
<FontStyle justify='"MIDDLE" "MIDDLE"size='0.5'/>
</Text>
</Shape>
</Anchor>
</Scene>
</X3D>
<!--

Index for ExternProtoDeclare definitions : MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataSet, MetadataString

Index for DEF nodes : LinkToExamples, MetadataBooleanInstance, MetadataDoubleInstance, TestMetadataChild
-->

<!-- Color key: <X3dNode DEF='idName' field='value'/> matches <XmlElement DEF='idName' attribute='value'/>
(Light blue background: behavior node) (Grey background: inserted documentation) (Magenta background: X3D extensibility)
    <Prototype name='ProtoName'> <field name='fieldName'/> </Prototype> -->

<!-- Additional help information about X3D scenes: X3D Resources, X3D Scene Authoring Hints and X3D Tooltips -->