| 1 | 
            <?xml version="1.0" encoding="UTF-8"?>
          | 
      
| 2 | 
            <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "https://www.web3d.org/specifications/x3d-4.0.dtd">
          | 
      
| 3 | <X3D profile='Immersive' version='4.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-4.0.xsd'> | 
| 4 | <head> | 
| 5 | <!-- of note is that name values for these document meta terms are defined by Dublin Core --> | 
| 6 | <meta name='title' content=' XmpMetadataEmbedded.x3d '/> | 
| 7 | <meta name='description' content='Simple XMP sidecar example: Hello XMP metadata!'/> | 
| 8 | <meta name='created' content='29 April 2021'/> | 
| 9 | <meta name='modified' content='15 July 2025'/> | 
| 10 | <meta name='creator' content='Don Brutzman, Vince Marchetti, Jakub Flotynski, Dick Puk'/> | 
| 11 | <meta name=' warning ' content=' Source model assumes default containerField=value for X3D4 Metadata nodes, specification resolution needed '/> | 
| 12 | <meta name='reference' content=' Summary presentation XmpMetadataSupportX3D.pptx '/> | 
| 13 | <meta name='reference' content=' XmpMetadataSidecar.xml '/> | 
| 14 | <meta name='reference' content=' XmpMetadataSidecar.rdf '/> | 
| 15 | <meta name='reference' content=' XmpMetadataSidecar.ttl '/> | 
| 16 | <meta name='generator' content='Protege https://protege.stanford.edu'/> | 
| 17 | 
                         
                                  <meta name='Image' content='XmpMetadataEmbeddedX3dComparison.png' />
 | 
                  
| 18 | <meta name='reference' content='https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/core.html#MetadataSet'/> | 
| 19 | <!-- Wikipedia example RDF XML plus Protege conversion to Turtle .ttl --> | 
| 20 | <meta name='reference' content=' XmpMetadataExampleWikipedia.xml '/> | 
| 21 | <meta name='reference' content=' XmpMetadataExampleWikipedia.ttl '/> | 
| 22 | <meta name='reference' content=' https://wwwimages2.adobe.com/content/dam/acom/en/devnet/xmp/pdfs/XMP%20SDK%20Release%20cc-2016-08/XMPSpecificationPart1.pdf '/> | 
| 23 | <meta name=' TODO ' content=' Once pattern OK, write conversion stylesheets XmpToX3dMetadata.xslt and X3dMetadataToXmp.xslt '/> | 
| 24 | <meta name='info' content='X3D support for xml:lang attribute not provided in X3D XML Schema, instead use MetadataString as best practice.'/> | 
| 25 | <meta name='reference' content='Wikipedia XMP https://en.wikipedia.org/wiki/Extensible_Metadata_Platform'/> | 
| 26 | <meta name='reference' content='Wikipedia Metadata https://en.wikipedia.org/wiki/Metadata'/> | 
| 27 | <meta name='reference' content='https://en.wikipedia.org/wiki/Sidecar'/> | 
| 28 | <meta name='reference' content=' https://experienceleague.adobe.com/docs/experience-manager-64/assets/administer/xmp.html '/> | 
| 29 | <meta name='reference' content='https://en.wikipedia.org/wiki/Ontology_for_Media_Resources'/> | 
| 30 | <meta name='reference' content='https://en.wikipedia.org/wiki/Multimedia_Web_Ontology_Language'/> | 
| 31 | <meta name='reference' content='W3C Ontology for Media Resources 1.0 https://www.w3.org/TR/mediaont-10'/> | 
| 32 | <meta name='reference' content=' ISO XMP ISO 16684-1:2019Part 1: Data model, serialization and core properties https://www.iso.org/standard/75163.html '/> | 
| 33 | <meta name='reference' content=' ISO XMP 16684-2:2014 Part 2: Description of XMP schemas using RELAX NG https://www.iso.org/standard/57422.html '/> | 
| 34 | <meta name='reference' content=' Adobe XMP https://www.adobe.com/devnet/xmp.html '/> | 
| 35 | <meta name='reference' content=' Adobe XMP https://www.adobe.com/products/xmp.html '/> | 
| 36 | <meta name='reference' content=' ExifTool XMP Tags https://exiftool.org/TagNames/XMP.html '/> | 
| 37 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/XmpMetadataEmbedded.x3d '/> | 
| 38 | <meta name='license' content=' https://www.web3d.org/x3d/content/examples/license.html '/> | 
| 39 | <meta name='generator' content='X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit'/> | 
| 40 | </head> | 
| 41 | <Scene> | 
| 42 | <!-- Design considerations: --> | 
| 43 | <!-- a. avoid containerField='metadata' and containerField='value' wherever possible, note X3D4 XML schema revision is needed --> | 
| 44 | <!-- b. literal XMP values wherever possible, lossless --> | 
| 45 | <!-- c. avoid nested quotes/apostrophes by using MetadataString name/value pairs --> | 
| 46 | <!-- d. map XMP parent elements to MetadataSet, otherwise have typed Metadata* values wherever possible --> | 
| 47 | <!-- e. push shared properties as high as possible in MetadataSet hierarchy, since they apply to all children --> | 
| 48 | <!-- f. assumptions: unquoted MFString values equal a single SFString array element, default Metadata* node containerField='value' --> | 
| 49 | <!-- g. MetadataSet nodes contain other Metadata* nodes as the /value/ field, thus producing tree-like structured metadata information --> | 
| 50 | <WorldInfo title='XmpMetadataEmbedded.x3d'/> | 
| 51 | <Background skyColor='0 0.439216 0.760784'/> | 
| 52 | <!-- Sample (partial) XMP sidecar file XmpMetadataSidecar.xml generated manually by Vince Marchetti as part of the STEP Geometry Services Pilot Project --> | 
| 53 | <MetadataSet containerField='metadata' name='rdf:RDF' reference='TODO refer to XMP ISO specification document'> | 
| 54 | <MetadataSet name='namespaces'> | 
| 55 | <MetadataString name='xmlns:rdf' value='http://www.w3.org/1999/02/22-rdf-syntax-ns#'/> | 
| 56 | <MetadataString name='xmlns:dc' value='http://purl.org/dc/elements/1.1/'/> | 
| 57 | <MetadataString name='xmlns:xmp' value='http://ns.adobe.com/xap/1.0/'/> | 
| 58 | </MetadataSet> | 
| 59 | <MetadataSet name='rdf:Description'> | 
| 60 | <MetadataString name='rdf:about' value='https://kshell.com/sgs/example_uri_0001/'/> | 
| 61 | <MetadataSet name='dc:description'> | 
| 62 | <MetadataSet name='rdf:Alt'> | 
| 63 | <MetadataString name='rdf:li' value='VRML visualization'> | 
| 64 | <!-- discouraging direct use of xml:lang='en' as an attribute, since that is legal XML but invalid X3D --> | 
| 65 | <MetadataString containerField='metadata' name='xml:lang' reference='prefer using MetadataString to indicate xml:lang values' value='en'/> | 
| 66 | </MetadataString> | 
| 67 | </MetadataSet> | 
| 68 | </MetadataSet> | 
| 69 | <MetadataString name='dc:format' value='model/x3d-vrml'/> | 
| 70 | <MetadataString name='dc:rights' reference='https://www.dublincore.org/specifications/dublin-core/dcmi-terms/terms/rights/' value='"open source"'/> | 
| 71 | <MetadataSet name='dc:title'> | 
| 72 | <MetadataSet name='rdf:Alt'> | 
| 73 | <MetadataString name='rdf:li' reference="xml:lang='en'" value='l-bracket_20120725.134815'> | 
| 74 | <MetadataString containerField='metadata' name='xml:lang' value='en'/> | 
| 75 | </MetadataString> | 
| 76 | <MetadataString name='rdf:li' reference="xml:lang='gr'" value='aristsirra-bracket_20120725.134815'> | 
| 77 | <MetadataString containerField='metadata' name='xml:lang' reference='prefer using MetadataString to indicate xml:lang values' value='en'/> | 
| 78 | </MetadataString> | 
| 79 | </MetadataSet> | 
| 80 | <MetadataSet name='dc:creator'> | 
| 81 | <MetadataSet name='rdf:Seq'> | 
| 82 | <MetadataString name='rdf:li' value='vmarchetti@kshell.com'/> | 
| 83 | </MetadataSet> | 
| 84 | </MetadataSet> | 
| 85 | <MetadataString name='xmp:CreateDate' value='10 February 2021'/> | 
| 86 | </MetadataSet> | 
| 87 | </MetadataSet> | 
| 88 | </MetadataSet> | 
| 89 | <Viewpoint description='View scene source to see metadata examples' position='0 0 9'/> | 
| 90 | <Anchor description='Load scene index page' parameter='"target=_blank"' url=' "XmpMetadataEmbeddedIndex.html" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/XmpMetadataEmbeddedIndex.html" '> | 
| 91 | <Shape> | 
| 92 | <Text string='"View scene source" "to see" "XmpMetadataEmbedded" "example"'> | 
| 93 | <FontStyle justify='"MIDDLE" "MIDDLE"'/> | 
| 94 | </Text> | 
| 95 | <Appearance> | 
| 96 | <Material diffuseColor='1 0.992157 0.039216'/> | 
| 97 | </Appearance> | 
| 98 | </Shape> | 
| 99 | </Anchor> | 
| 100 | </Scene> | 
| 101 | </X3D> | 
Event Graph ROUTE Table with 0 ROUTE connections total, showing X3D event-model relationships for this scene.
Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.
| line 90
                Anchor  | 
            
               description='Load scene index page'  User-interaction hint for this node.  | 
         
         <!--
Color-coding legend: X3D terminology 
<X3dNode field='value'/> 
 matches XML terminology 
<XmlElement attribute='value'/> 
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
          -->
      
         
            
         
         <!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->