| 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.
-->