<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.EmailStyle23
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:240679280;
        mso-list-template-ids:1124350732;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1
        {mso-list-id:1312252068;
        mso-list-template-ids:-1636936012;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Very interesting example Vince, thanks for great insight.  The approach you provide might at first seem less terse, but has further significant merit that it is equivalently expressible and portable across all forms and versions of X3D3
 and X3D4.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Looks like your example has continued to use draft X3D4 XML approach being explored for containerField, so use of
<span style="font-family:"Courier New"">containerField='metadata'</span> looks correct to me too.  With parent reference attributes pertaining to children within a MetadataSet, and since one might consider
<span style="font-family:"Courier New"">reference='http://www.w3.org/XML/1998/namespace'</span> as superfluous when going beyond XML, then the following seems to be a functional match:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><Anchor url='http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorld.x3d'><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">  <MetadataSet containerField='metadata' name='description' reference='https://datatracker.ietf.org/doc/html/rfc5646'><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">     <MetadataString name='description' value='Hello World'><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">        <MetadataString containerField='metadata' name='lang' value='EN'/><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">     </MetadataString><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">     <MetadataString name='description' value='Witaj świecie'><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">        <MetadataString containerField='metadata' name='lang' value='PL'/><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">     </MetadataString><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">     <MetadataString name='description' value='Bonjour le monde'> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">        <MetadataString containerField='metadata' name='lang' value='FR'/><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">     </MetadataString><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">     <MetadataString name='description' value='Hola Mundo'><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">        <MetadataString containerField='metadata' name='lang' value='ES'/><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">     </MetadataString><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">  </MetadataSet><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""></Anchor><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">While perhaps this construct might seem tedious to write out by hand, it is a straightforward pattern and can be a relatively simple matter for authoring tools and X3D players to provide multilingual support.  I added a parent node to make
 the example more complete.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Of course I agree that avoiding a specification change is preferred too.   Cool!  8)<o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">all the best, Don<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">-- <o:p>
</o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman@nps.edu<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">X3D graphics, virtual worlds, navy robotics https://</span>
<span style="font-size:10.0pt;font-family:"Courier New"">faculty.nps.edu/brutzman<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> vmarchetti@kshell.com <vmarchetti@kshell.com> <br>
<b>Sent:</b> Thursday, November 25, 2021 6:25 PM<br>
<b>To:</b> Brutzman, Donald (Don) (CIV) <brutzman@nps.edu><br>
<b>Cc:</b> Jakub Flotyński <flotynski@kti.ue.poznan.pl>; X3D-Public <x3d-public@web3d.org>; John Carlson <yottzumm@gmail.com>; Richard F. Puk <puk@igraphics.com><br>
<b>Subject:</b> Re: [x3d-public] xml:lang language identification, X3D metadata patterns for XMP and multilingual support<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Nov 25, 2021, at 11:00 AM, Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Thanks for your insights and helpful summary Jakub.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">With respect to xml:lang support in X3D XML encoding, am looking at ways we might effectively support it in validation tools and documentation as an allowed XML attribute that is<span class="apple-converted-space"> </span><i>not</i><span class="apple-converted-space"> </span>a
 preferred approach, emphasizing declarative MetadataString representations instead.  Have started variation testing on an example scene.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><br>
With regard to mapping XMP structures (essentially embedding Semantic Web RDF declarations), your suggestion to look at all of the defined terms & relationships there for correspondences to Dublin Core and other known terms is a good one.  Thanks for sharing
 the XMP specification reference so everyone can look at it (I believe that XMP was later codified as an ISO standard too). This will also help us in future work when mapping glTF JSON-LD (linked-data) constructs, if those folks are actually following such
 practices.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">With regard to changing X3D4 XML default containerField for Metadata* nodes as ‘value’ for much terser Metadata structures, initial tests look good.  Am considering how to best add a corresponding X3D3 XML example that clearly shows necessary
 compatible verbose forms for X3D versions 3.0 through 3.3.  In combination with good diagnostics and documentation, this should give us a solid path forward for backward/forward compatibility without problems.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">More on language representation: here is an interesting excerpt from  RFC 5646.<o:p></o:p></p>
</div>
<ul type="disc">
<li class="MsoListParagraph" style="mso-list:l0 level1 lfo1">RFC 5646, Tags for Identifying Languages, Best Current Practice BCP 47<o:p></o:p></li><li class="MsoListParagraph" style="mso-list:l0 level1 lfo1">https://datatracker.ietf.org/doc/html/rfc5646<o:p></o:p></li></ul>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">      For markup languages, such as HTML and XML, language information</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">      can be added to each part of the document identified by the markup</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">      structure (including the whole document itself).  For example, one</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">      could write <span lang="fr">C'est la vie.</span> inside a German</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">      document; the German-speaking user could then access a French-</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">      German dictionary to find out what the marked section meant.  If</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">      the user were listening to that document through a speech</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">      synthesis interface, this formation could be used to signal the</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">      synthesizer to appropriately apply French text-to-speech</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">      pronunciation rules to that span of text, instead of applying the</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">      inappropriate German rules.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Am wondering if we can extend this pattern to allow defining compatible multilingual expressions, as often occurs in XML and Semantic Web.  Perhaps something like this:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New""><MetadataSet name='description' reference='https://datatracker.ietf.org/doc/html/rfc5646'></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New"">     <MetadataString name='description'<span class="apple-converted-space"> </span>value='Hello World'<span class="apple-converted-space"> </span>     reference='lang=EN'/></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New"">     <MetadataString name='description'<span class="apple-converted-space"> </span>value='Witaj świecie'<span class="apple-converted-space"> </span>   reference='lang=PL'/></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New"">     <MetadataString name='description'<span class="apple-converted-space"> </span>value='Bonjour le monde'<span class="apple-converted-space"> </span>reference='lang=FR'/></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New"">     <MetadataString name='description'<span class="apple-converted-space"> </span>value='Hola Mundo'<span class="apple-converted-space"> </span>         reference='lang=ES'/></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New""></MetadataSet></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Nesting the<span class="apple-converted-space"> </span><span style="font-size:10.0pt;font-family:"Courier New"">'</span><span style="font-family:"Courier New"">lang=??</span><span style="font-size:10.0pt;font-family:"Courier New"">'</span><span class="apple-converted-space"> </span>construct
 as an overload on the reference field is a bit awkward, and also limits proper use of the reference field (instead of pointing to a semantic reference as intended).  Possible simpler alternative follows, which looks appealing and would also facilitate X3D
 parsing/conversions to various programming languages and file encodings:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New""><MetadataSet name='description' reference='https://datatracker.ietf.org/doc/html/rfc5646'></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New"">     <MetadataString name='description'<span class="apple-converted-space"> </span>value='Hello World'<span class="apple-converted-space"> </span>     lang='EN'/></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New"">     <MetadataString name='description'<span class="apple-converted-space"> </span>value='Witaj świecie'<span class="apple-converted-space"> </span>   lang='PL'/></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New"">     <MetadataString name='description'<span class="apple-converted-space"> </span>value='Bonjour le monde'<span class="apple-converted-space"> </span>lang='FR'/></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New"">     <MetadataString name='description'<span class="apple-converted-space"> </span>value='Hola Mundo'<span class="apple-converted-space"> </span>         lang='ES'/></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New""></MetadataSet></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Since multilingual support is already a goal for X3D (but we only support one language at a time), this second approach is worth considering.  In addition to usage in metadata structures like XMP, it seems useful across the rest of X3D
 as well. For example an author might put such a construct within an Anchor or TouchSensor or Text node, and an X3D player might then offer the corresponding description matching user (or HTML page, or Web browser) language preferences.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Note that it would require an additional field for MetadataString nodes.  Candidate specification addition follows:<o:p></o:p></p>
</div>
<ul type="disc">
<li class="MsoListParagraph" style="mso-list:l1 level1 lfo2">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#MetadataString<o:p></o:p></li></ul>
<div>
<p class="MsoNormal" style="text-indent:.25in"><span style="font-family:"Courier New"">7.4.6 MetadataString</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New"">MetadataString : X3DNode, X3DMetadataObject {</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New"">  SFNode   [in,out] metadata  NULL [X3DMetadataObject]</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New"">  SFString [in,out] name      ""</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New"">  SFString [in,out] reference ""</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New"">  MFString [in,out] value     []</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New""> <span class="apple-converted-space"> </span><span style="color:black;background:yellow">SFString [in,out] lang      ""</span></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New"">}</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New";color:black;background:yellow">The<span class="apple-converted-space"> </span><i>lang</i><span class="apple-converted-space"> </span>field identifies corresponding human language
 for the provided<span class="apple-converted-space"> </span><i>value</i><span class="apple-converted-space"> </span>strings in accordance with [RFC5646].</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Since this additional<span class="apple-converted-space"> </span><i>lang</i><span class="apple-converted-space"> </span>field is only suggested for X3D4 MetadataString node, not seeing any negative impact on existing X3D content or implementations.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Opinions please?<o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I offer the judgement that this X3D MetadataSet:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><MetadataSet name='description' reference='https://datatracker.ietf.org/doc/html/rfc5646'><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     <MetadataString name='description' value='Hello World' ><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        <MetadataString containerField='metadata' name='lang' value='EN' reference='http://www.w3.org/XML/1998/namespace'/><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     </MetadataString><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     <MetadataString name='description' value='Witaj świecie'><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        <MetadataString containerField='metadata' name='lang' value='PL' reference='http://www.w3.org/XML/1998/namespace'/><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     </MetadataString><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     <MetadataString name='description' value='Bonjour le monde'> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        <MetadataString containerField='metadata' name='lang' value='FR' reference='http://www.w3.org/XML/1998/namespace'/><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     </MetadataString><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     <MetadataString name='description' value='Hola Mundo'><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        <MetadataString containerField='metadata' name='lang' value='ES' reference='http://www.w3.org/XML/1998/namespace'/><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">     </MetadataString><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"></MetadataSet><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">satisfies the same purpose as the the one above using the proposed field name lang, without the need to change the the X3D standard. My opinion is against adding a lang field to the MetadataString node.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Vince Marchetti<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>