<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://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 =' https://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='20 January 2020'/>
<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=' https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#Metadata '/>
<meta name='referencecontent=' https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#X3DMetadataObject '/>
<meta name='referencecontent=' https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference '/>
<meta name='identifiercontent=' https://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" "https://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataBoolean" "MetadataPrototypes.wrl#MetadataBoolean" "https://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" "https://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataDouble" "MetadataPrototypes.wrl#MetadataDouble" "https://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" "https://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataFloat" "MetadataPrototypes.wrl#MetadataFloat" "https://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" "https://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataInteger" "MetadataPrototypes.wrl#MetadataInteger" "https://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" "https://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataSet" "MetadataPrototypes.wrl#MetadataSet" "https://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" "https://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataString" "MetadataPrototypes.wrl#MetadataString" "https://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=' https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#MetadataBooleanvalue='true false true'/>
<Transform>
<MetadataDouble DEF='MetadataDoubleInstancename='sample double datareference=' https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#MetadataDoublevalue='1.0 2.0 3.0'/>
</Transform>
<Transform>
<MetadataFloat name='sample float datareference=' https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#MetadataFloatvalue='1.0 2.0 3.0'>
<MetadataDouble USE=' MetadataDoubleInstance'/>
<!-- metadata child of metadata node (also note nested PROTO here, when translated) -->
</MetadataFloat>
</Transform>
<Transform>
<MetadataInteger name='sample integer datareference=' https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#MetadataIntegervalue='1 2 3'/>
</Transform>
<Transform>
<MetadataSet name='sample datareference=' https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#MetadataSet '>
<MetadataString name='containerFieldDefaultTestvalue='"This initial node is containerField=metadata on the MetadataSet, not part of the containerField=value set"'/>
<!-- 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=' https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/core.html#MetadataStringvalue='"one two three" "four five six"'/>
</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"'/>
</WorldInfo>
</Group>
</Group>
<!-- ==================== -->
<Anchor DEF='LinkToExamplesdescription='link to examplesparameter='"target=_blank"'
  url=' MetadataExamples.html"https://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>
<!--

to top <!-- Index for DEF nodes: LinkToExamples, MetadataBooleanInstance, MetadataDoubleInstance, TestMetadataChild Index for ExternProtoDeclare definitions: MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataSet, MetadataString
-->
-->

<!-- Online at
https://www.web3d.org/x3d/content/examples/Basic/development/MetadataExamplesIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/development/MetadataExamples.x3d -->

<!-- Color legend: X3D terminology <X3dNode DEF='idName' field='value'/> matches XML terminology <XmlElement DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
    <ProtoDeclare name='ProtoName'> <field name='fieldName'/> </ProtoDeclare> -->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->