<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saxon="http://icl.com/saxon"
      xmlns="http://www.w3.org/TR/xhtml1/strict">
   <head>
      <title>WrapperTagsExample.x3d (X3dToXhtml listing)</title>
      <!-- I18N -->
<meta http-equiv="X-UA-Compatible" content="chrome=1,IE=edge"/>
      <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
      <style type="text/css">
span.element {color: navy}
span.attribute {color: green}
span.value {color: teal}
span.plain {color: black}
span.gray  {color: gray}
span.idName {color: maroon}
a.idName {color: maroon}
div.center {text-align: center}
div.indent {margin-left: 25px}

span.prototype {color: purple}
a.prototype {color: purple}
a.prototype:visited {color: black}
span.route {color: red}
b.warning {color: #CC5500}
b.error {color: #CC0000}

                </style>
      <style type="text/css">
table.curvedEdges { border:10px solid RoyalBlue;-webkit-border-radius:13px;-moz-border-radius:13px;-ms-border-radius:13px;-o-border-radius:13px;border-radius:13px; }
table.curvedEdges td, table.curvedEdges th { border-bottom:1px dotted black;padding:5px; }
</style>
      <meta name="generator" content="XSLT processor SAXON 9.1.0.2 from Saxonica"/>
      <meta name="generator" content="http://www.web3d.org/x3d/stylesheets/X3dToXhtml.xslt"/>
      <meta name="generator"
            content="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/X3dToXhtml.xslt"/>
      <link rel="shortcut icon"
            href="http://www.web3d.org/x3d/content/icons/X3DtextIcon16.png"
            title="X3D"/>
   </head>
   <body>
      <code title="XML declaration"><?xml version="1.0" encoding="UTF-8"?></code>
      <br/>
      <code title="Document Type Declaration (DTD) for X3D validation"><!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "<a href="http://www.web3d.org/specifications/x3d-3.0.dtd">http://www.web3d.org/specifications/x3d-3.0.dtd</a>"></code>
      <div>
<span title="X3D is the top-most XML element for an Extensible 3D (X3D) Graphics file"><<span class="element">X3D</span> <span title="X3D Immersive Profile supports most nodes, similar to VRML97"><span class="attribute">profile</span>='<span class="value">Immersive</span>'</span> <span class="attribute">version</span>='<span class="value">3.0</span>' <span title="XML namespace for X3D Graphics schema validation"><span title="XML namespace for XML Schema validation">
            <span class="attribute">xmlns:xsd</span>='<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>'
</span>
         <span title="XML namespace for X3D Graphics schema validation">
            <span class="attribute">xsd:noNamespaceSchemaLocation</span>
         </span>='
<a href="http://www.web3d.org/specifications/x3d-3.0.xsd">http://www.web3d.org/specifications/x3d-3.0.xsd</a>
'</span>>
</span><div class="indent">
<span title="head can contain component, unit, and author-defined metadata (meta) tags"><<span class="element">head</span>>
</span><div class="indent">
<span title="meta 'title' provides file name for this resource"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">title</span>' <span class="attribute">content</span>='<a href="WrapperTagsExample.x3d">WrapperTagsExample.x3d</a>'/>
</span><br />

<span title="meta 'description' provides summary overview describing this resource"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">description</span>' <span class="attribute">content</span>='<span class="plain">Demonstrate and test field-name wrapper tags. Links to document "Wrapper Tags Considered Harmful." Scene includes 21 nodes, 34 open/close element tags, 44 wrapper tags, producing 78 scene-graph tags total if wrapper tags are required.</span>'/>
</span><br />

<span title="meta 'created' provides date of initial version"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">created</span>' <span class="attribute">content</span>='<span class="value">21 April 2000</span>'/>
</span><br />

<span title="meta 'modified' provides date of modified version"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">modified</span>' <span class="attribute">content</span>='<span class="value">19 December 2015</span>'/>
</span><br />

<span title="meta 'creator' provides name of original author"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">creator</span>' <span class="attribute">content</span>='<span class="value">Don Brutzman</span>'/>
</span><br />

<span title="meta 'reference' provides name or reference link to a supporting resource"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">reference</span>' <span class="attribute">content</span>='<a href="WrapperTagsExampleWrapped.html">WrapperTagsExampleWrapped.html</a>'/>
</span><br />

<span title="meta 'reference' provides name or reference link to a supporting resource"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">reference</span>' <span class="attribute">content</span>='<a href="WrapperTagsExampleUnwrapped.html">WrapperTagsExampleUnwrapped.html</a>'/>
</span><br />

<span title="meta 'identifier' provides the unique Uniform Resource Identifier (URI) or url address for this resource"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">identifier</span>' <span class="attribute">content</span>='
<a href="http://www.web3d.org/x3d/content/examples/Basic/development/WrapperTagsExample.x3d">http://www.web3d.org/x3d/content/examples/Basic/development/WrapperTagsExample.x3d</a>
'/>
</span><br />

<span title="meta 'generator' provides name of authoring tool or translation tool producing this scene"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">generator</span>' <span class="attribute">content</span>='<span class="value">X3D-Edit 3.3, </span>
               <a href="https://savage.nps.edu/X3D-Edit" target="_blank">https://savage.nps.edu/X3D-Edit</a>'/>
</span><br />

<span title="meta 'license' provides software license link or information"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">license</span>' <span class="attribute">content</span>='
<a href="../license.html">../license.html</a>'/>
</span></div><span title="head can contain component, unit, and author-defined metadata (meta) tags"></<span class="element">head</span>>
</span><br />

<span title="Scene is the root node that contains an X3D scene graph"><<span class="element">Scene</span>>
</span><div class="indent">
               <span title="XML comment"><!-- <children> *** wrapper tag *** --></span>
<br />

<span title="Transform translates, orients and scales child geometry within the local world coordinate system"><<span class="element">Transform</span> <span class="attribute">translation</span>='<span class="value">0 -3 0</span>'>
</span><div class="indent">
                  <span title="XML comment"><!-- <children> *** wrapper tag *** --></span>
<br />

<span title="Shape contains geometry and optional corresponding Appearance"><<span class="element">Shape</span>>
</span><div class="indent">
                     <span title="XML comment"><!-- <geometry> *** wrapper tag *** --></span>
<br />

<span title="Cylinder is a geometry primitive node"><<span class="element">Cylinder</span> <span class="attribute">height</span>='<span class="value">1.5</span>' <span class="attribute">radius</span>='<span class="value">.75</span>'/>
</span><br /><span title="XML comment"><!-- </geometry> *** wrapper tag *** --></span>
<br /><span title="XML comment"><!-- <appearance> *** wrapper tag *** --></span>
<br />

<span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes"><<span class="element">Appearance</span>>
</span><div class="indent">
                        <span title="XML comment"><!-- <texture> *** wrapper tag *** --></span>
<br />

<span title="ImageTexture maps a 2D-image file onto a geometric shape"><<span class="element">ImageTexture</span>
<br />
  <span title="uniform resource locator (url) list of relative or absolute file addresses, performed in order until resource retrieval succeeds"><span class="attribute">url</span>='
 "<a href="earth-topo-small.png">earth-topo-small.png</a>"  "<a href="earth-topo-small.gif">earth-topo-small.gif</a>" "<a href="http://www.web3d.org/x3d/content/examples/Basic/development/earth-topo-small.png">http://www.web3d.org/x3d/content/examples/Basic/development/earth-topo-small.png</a>" "<a href="http://www.web3d.org/x3d/content/examples/Basic/development/earth-topo-small.gif">http://www.web3d.org/x3d/content/examples/Basic/development/earth-topo-small.gif</a>" '</span>/>
</span><br /><span title="XML comment"><!-- </texture> *** wrapper tag *** --></span>
<br /><span title="XML comment"><!-- <textureTransform> *** wrapper tag *** --></span>
<br />

<<span class="element">TextureTransform</span> <span class="attribute">rotation</span>='<span class="value">-2.356</span>'/>
<br /><span title="XML comment"><!-- </textureTransform> *** wrapper tag *** --></span>
                     </div><span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes"></<span class="element">Appearance</span>>
</span><br /><span title="XML comment"><!-- </appearance> *** wrapper tag *** --></span>
                  </div><span title="Shape contains geometry and optional corresponding Appearance"></<span class="element">Shape</span>>
</span><br /><span title="XML comment"><!-- </children> *** wrapper tag *** --></span>
               </div><span title="Transform translates, orients and scales child geometry within the local world coordinate system"></<span class="element">Transform</span>>
</span><br /><span title="XML comment"><!-- </children> *** wrapper tag *** --></span>
<br /><span title="XML comment"><!-- <children> *** wrapper tag *** --></span>
<br />

<span title="LOD (Level Of Detail) uses camera-to-object distance to switch among contained child levels"><<span class="element">LOD</span>>
</span><div class="indent">
                  <span title="XML comment"><!-- <children> *** wrapper tag *** --></span>
<br />

<span title="Selecting Anchored geometry loads content specified by the url field"><<span class="element">Anchor</span> <span class="attribute">description</span>='<span class="value">Click to read explanation page</span>' <span class="attribute">parameter</span>='<span class="value">"target=_blank"</span>'
<br />
  <span title="uniform resource locator (url) list of relative or absolute file addresses, performed in order until resource retrieval succeeds"><span class="attribute">url</span>='
 "<a href="WrapperTagsConsideredHarmful.html">WrapperTagsConsideredHarmful.html</a>" "<a href="http://www.web3d.org/x3d/content/examples/Basic/development/WrapperTagsConsideredHarmful.html">http://www.web3d.org/x3d/content/examples/Basic/development/WrapperTagsConsideredHarmful.html</a>" '</span>>
</span><div class="indent">
                     <span title="XML comment"><!-- <children> *** wrapper tag *** --></span>
<br />

<span title="Shape contains geometry and optional corresponding Appearance"><<span class="element">Shape</span>>
</span><div class="indent">
                        <span title="XML comment"><!-- <appearance> *** wrapper tag *** --></span>
<br />

<span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes"><<span class="element">Appearance</span>>
</span><div class="indent">
                           <span title="XML comment"><!-- <material> *** wrapper tag *** --></span>
<br />

<span title="Material specifies surface rendering properties for associated geometry"><<span class="element">Material</span> <span class="attribute">diffuseColor</span>='<span class="value">.6 .1 .1</span>'/>
</span><br /><span title="XML comment"><!-- </material> *** wrapper tag *** --></span>
                        </div><span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes"></<span class="element">Appearance</span>>
</span><br /><span title="XML comment"><!-- <appearance> *** wrapper tag *** --></span>
<br /><span title="XML comment"><!-- <geometry> *** wrapper tag *** --></span>
<br />

<span title="Text is a geometry primitive node"><<span class="element">Text</span> <span class="attribute">string</span>='<span class="value">"wrapper tags are " "field container names" "that hold nodes"</span>'>
</span><div class="indent">
                           <span title="XML comment"><!-- <fontStyle> *** wrapper tag *** --></span>
<br />

<span title="FontStyle defines the size, family, justification, and other styles used by Text nodes"><<span class="element">FontStyle</span> <span class="attribute">justify</span>='<span class="value">"MIDDLE" "MIDDLE"</span>'/>
</span><br /><span title="XML comment"><!-- </fontStyle> *** wrapper tag *** --></span>
                        </div><span title="Text is a geometry primitive node"></<span class="element">Text</span>>
</span><br /><span title="XML comment"><!-- </geometry> *** wrapper tag *** --></span>
                     </div><span title="Shape contains geometry and optional corresponding Appearance"></<span class="element">Shape</span>>
</span><br /><span title="XML comment"><!-- </children> *** wrapper tag *** --></span>
                  </div><span title="Selecting Anchored geometry loads content specified by the url field"></<span class="element">Anchor</span>>
</span><br /><span title="XML comment"><!-- </children> *** wrapper tag *** --></span>
<br /><span title="XML comment"><!-- <children> *** wrapper tag *** --></span>
<br />

<span title="Sound controls an AudioClip or MovieTexture for sound playback"><<span class="element">Sound</span>>
</span><div class="indent">
                     <span title="XML comment"><!-- <source> *** wrapper tag *** --></span>
<br />

<span title="AudioClip provides audio data used by Sound nodes"><<span class="element">AudioClip</span> <span class="attribute">description</span>='<span class="value">empty audio clip</span>'/>
</span><br /><span title="XML comment"><!-- </source> *** wrapper tag *** --></span>
                  </div><span title="Sound controls an AudioClip or MovieTexture for sound playback"></<span class="element">Sound</span>>
</span><br /><span title="XML comment"><!-- </children> *** wrapper tag *** --></span>
               </div><span title="LOD (Level Of Detail) uses camera-to-object distance to switch among contained child levels"></<span class="element">LOD</span>>
</span><br /><span title="XML comment"><!-- </children> *** wrapper tag *** --></span>
<br /><span title="XML comment"><!-- <children> *** wrapper tag *** --></span>
<br />

<span title="Switch is a Grouping node that only renders one (or zero) child at a time"><<span class="element">Switch</span> <span class="attribute">whichChoice</span>='<span class="value">0</span>'>
</span><div class="indent">
                  <span title="XML comment"><!-- <children> *** wrapper tag *** --></span>
<br />

<span title="Shape contains geometry and optional corresponding Appearance"><<span class="element">Shape</span>>
</span><div class="indent">
                     <span title="XML comment"><!-- <geometry> *** wrapper tag *** --></span>
<br />

<span title="IndexedFaceSet is a geometry node"><<span class="element">IndexedFaceSet</span> <span class="attribute">coordIndex</span>='<span class="value">0 1 2 3 -1</span>'>
</span><div class="indent">
                        <span title="XML comment"><!-- <color> *** wrapper tag *** --></span>
<br />

<span title="Color defines a set of color triplet values"><<span class="element">Color</span> <span class="attribute">color</span>='<span class="value">0 0 1 0 1 0 1 0 0 1 1 1</span>'/>
</span><br /><span title="XML comment"><!-- </color> *** wrapper tag *** --></span>
<br /><span title="XML comment"><!-- <coord> *** wrapper tag *** --></span>
<br />

<span title="Coordinate defines a set of 3D coordinate triplet values"><<span class="element">Coordinate</span> <span class="attribute">point</span>='<span class="value">-5 -3 -2 5 -3 -2 5 1 -2 -5 1 -2</span>'/>
</span><br /><span title="XML comment"><!-- </coord> *** wrapper tag *** --></span>
<br /><span title="XML comment"><!-- <normal> *** wrapper tag *** --></span>
<br />

<span title="Normal defines a set of 3D surface-normal vectors"><<span class="element">Normal</span> <span class="attribute">vector</span>='<span class="value">0 0 -1 0 0 -1 0 0 -1 0 0 -1</span>'/>
</span><br /><span title="XML comment"><!-- </normal> *** wrapper tag *** --></span>
<br /><span title="XML comment"><!-- <texcoord> *** wrapper tag *** --></span>
<br />

<<span class="element">TextureCoordinate</span> <span class="attribute">point</span>='<span class="value">-1 -1 -1 1 1 1 1 -1</span>'/>
<br /><span title="XML comment"><!-- </texcoord> *** wrapper tag *** --></span>
                     </div><span title="IndexedFaceSet is a geometry node"></<span class="element">IndexedFaceSet</span>>
</span><br /><span title="XML comment"><!-- </geometry> *** wrapper tag *** --></span>
                  </div><span title="Shape contains geometry and optional corresponding Appearance"></<span class="element">Shape</span>>
</span><br /><span title="XML comment"><!-- </children> *** wrapper tag *** --></span>
               </div><span title="Switch is a Grouping node that only renders one (or zero) child at a time"></<span class="element">Switch</span>>
</span><br /><span title="XML comment"><!-- </children> *** wrapper tag *** --></span>
            </div><span title="Scene is the root node that contains an X3D scene graph"></<span class="element">Scene</span>>
</span></div><span title="X3D is the top-most XML element for an Extensible 3D (X3D) Graphics file"></<span class="element">X3D</span>>
</span></div>
      <p style="text-align:center; background-color:lightgrey">
         <span style="color:lightgrey"><!--</span>
Color key: <!--(matching X3D and XML terminology) -->
<<span class="element">X3dNode</span> 
         <span class="attribute">field</span>='<span class="value">value</span>'/> 
 matches 
<<span class="element">XmlElement</span> 
         <span class="attribute">attribute</span>='<span class="value">value</span>'/> 
<span style="color:lightgrey"> --></span>
      </p>
      <p style="text-align:center; background-color:white">
         <span style="color:white"><!--</span>

                    Additional help information about X3D scenes:  
                    <a href="http://www.web3d.org/x3d/content/examples/X3dResources.html"
            title="Numerous resources that support X3D graphics">X3D Resources</a>,
                    <a href="http://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html"
            title="Style guidelines, authoring tips and best practices">X3D Scene Authoring Hints</a>
                    and
                    <a href="http://www.web3d.org/x3d/content/X3dTooltips.html"
            title="Summary descriptions and authoring hints for each X3D node (element) and field (attribute)">X3D Tooltips</a>
         <span style="color:white">--></span>
      </p>
   </body>
</html>