<html xmlns:v="urn:schemas-microsoft-com:vml" 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=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:Roboto;
        panose-1:2 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Monaco;}
/* 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;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        font-size:10.0pt;
        font-family:"Courier New",serif;}
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.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle25
        {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:6911881;
        mso-list-template-ids:408194858;}
@list l0:level1
        {mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1
        {mso-list-id:293291285;
        mso-list-template-ids:-131542314;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        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:;
        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:;
        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:;
        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:;
        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:;
        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:;
        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:;
        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:;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l2
        {mso-list-id:452484982;
        mso-list-type:hybrid;
        mso-list-template-ids:500565758 -965807926 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l2:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l2:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New",serif;}
@list l2:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l2:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l2:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New",serif;}
@list l2:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l2:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l2:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New",serif;}
@list l2:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l3
        {mso-list-id:702170185;
        mso-list-template-ids:-1062467080;}
@list l3:level1
        {mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4
        {mso-list-id:884148053;
        mso-list-type:hybrid;
        mso-list-template-ids:1198527594 852147870 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l4:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l4:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New",serif;}
@list l4:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l4:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l4:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New",serif;}
@list l4:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l4:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l4:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New",serif;}
@list l4:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l5
        {mso-list-id:1352493379;
        mso-list-template-ids:105945780;}
@list l5:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l5:level2
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l5:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l5:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l5:level5
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l5:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l5:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l5:level8
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l5:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l6
        {mso-list-id:1819881009;
        mso-list-type:hybrid;
        mso-list-template-ids:819868014 -1160997022 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l6:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l6:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New",serif;}
@list l6:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l6:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l6:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New",serif;}
@list l6:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l6:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l6:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New",serif;}
@list l6:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l7
        {mso-list-id:1822963197;
        mso-list-template-ids:-507740514;}
@list l7:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l7:level2
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l7:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l7:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l7:level5
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l7:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l7:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l7:level8
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l7:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l8
        {mso-list-id:2110805429;
        mso-list-type:hybrid;
        mso-list-template-ids:-1284477422 -444837840 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l8:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:Calibri;}
@list l8:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New",serif;}
@list l8:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l8:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l8:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New",serif;}
@list l8:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l8:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l8:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New",serif;}
@list l8:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l9
        {mso-list-id:2118328996;
        mso-list-template-ids:1783784020;}
@list l9:level1
        {mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l9:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l9:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l9:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l9:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l9:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l9:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l9:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l9:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Thanks for your insights and helpful summary Jakub.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<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
<i>not</i> a preferred approach, emphasizing declarative MetadataString representations instead.  Have started variation testing on an example scene.<o:p></o:p></p>
<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>
<p class="MsoNormal"><o:p> </o:p></p>
<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>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">More on language representation: here is an interesting excerpt from  RFC 5646.<o:p></o:p></p>
<ul type="disc">
<li class="MsoListParagraph" style="mso-list:l2 level1 lfo13">RFC 5646, Tags for Identifying Languages, Best Current Practice BCP 47<o:p></o:p></li><li class="MsoListParagraph" style="mso-list:l2 level1 lfo13">https://datatracker.ietf.org/doc/html/rfc5646<o:p></o:p></li></ul>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif;color:black">      For markup languages, such as HTML and XML, language information<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif;color:black">      can be added to each part of the document identified by the markup<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif;color:black">      structure (including the whole document itself).  For example, one<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif;color:black">      could write <span lang="fr">C'est la vie.</span> inside a German<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif;color:black">      document; the German-speaking user could then access a French-<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif;color:black">      German dictionary to find out what the marked section meant.  If<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif;color:black">      the user were listening to that document through a speech<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif;color:black">      synthesis interface, this formation could be used to signal the<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif;color:black">      synthesizer to appropriately apply French text-to-speech<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif;color:black">      pronunciation rules to that span of text, instead of applying the<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif;color:black">      inappropriate German rules.<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<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>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-family:"Courier New",serif"><MetadataSet name=</span><span style="font-family:"Courier New",serif">'description' reference='https://datatracker.ietf.org/doc/html/rfc5646'</span><span style="font-family:"Courier New",serif">><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New",serif">     <MetadataString name=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">description</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">
 value=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">Hello World</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">      reference=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">lang=EN</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">/>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New",serif">     <MetadataString name=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">description</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">
 value=</span><span style="font-family:"Courier New",serif">'Witaj świecie'</span><span style="font-family:"Courier New",serif">    reference=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">lang=PL</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">/>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New",serif">     <MetadataString name=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">description</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">
 value=</span><span style="font-family:"Courier New",serif">'Bonjour le monde'</span><span style="font-family:"Courier New",serif"> reference=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">lang=FR</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">/>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New",serif">     <MetadataString name=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">description</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">
 value=</span><span style="font-family:"Courier New",serif">'Hola Mundo'</span><span style="font-family:"Courier New",serif">          reference=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">lang=ES</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">/>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New",serif"></MetadataSet><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Nesting the <span style="font-size:10.0pt;font-family:"Courier New",serif">
'</span><span style="font-family:"Courier New",serif">lang=??</span><span style="font-size:10.0pt;font-family:"Courier New",serif">'</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>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-family:"Courier New",serif"><MetadataSet name=</span><span style="font-family:"Courier New",serif">'description' reference='https://datatracker.ietf.org/doc/html/rfc5646'</span><span style="font-family:"Courier New",serif">><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New",serif">     <MetadataString name=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">description</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">
 value=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">Hello World</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">      lang=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">EN</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">/>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New",serif">     <MetadataString name=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">description</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">
 value=</span><span style="font-family:"Courier New",serif">'Witaj świecie'</span><span style="font-family:"Courier New",serif">    lang=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">PL</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">/>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New",serif">     <MetadataString name=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">description</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">
 value=</span><span style="font-family:"Courier New",serif">'Bonjour le monde'</span><span style="font-family:"Courier New",serif"> lang=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">FR</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">/>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New",serif">     <MetadataString name=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">description</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">
 value=</span><span style="font-family:"Courier New",serif">'Hola Mundo'</span><span style="font-family:"Courier New",serif">          lang=</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">ES</span><span style="font-family:"Courier New",serif">'</span><span style="font-family:"Courier New",serif">/>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New",serif"></MetadataSet><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<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>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Note that it would require an additional field for MetadataString nodes.  Candidate specification addition follows:<o:p></o:p></p>
<ul type="disc">
<li class="MsoListParagraph" style="mso-list:l2 level1 lfo13">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#MetadataString<o:p></o:p></li></ul>
<p class="MsoNormal" style="text-indent:.25in"><span style="font-family:"Courier New",serif">7.4.6 MetadataString<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New",serif">MetadataString : X3DNode, X3DMetadataObject {
<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New",serif">  SFNode   [in,out] metadata  NULL [X3DMetadataObject]<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New",serif">  SFString [in,out] name      ""<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New",serif">  SFString [in,out] reference ""<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New",serif">  MFString [in,out] value     []<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New",serif"> 
<span style="background:yellow;mso-highlight:yellow">SFString [in,out] lang      ""</span><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New",serif">}<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-family:"Courier New",serif;background:yellow;mso-highlight:yellow">The
<i>lang</i> field identifies corresponding human language for the provided <i>value</i> strings in accordance with [RFC5646].</span><span style="font-family:"Courier New",serif"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Since this additional <i>lang</i> field is only suggested for X3D4 MetadataString node, not seeing any negative impact on existing X3D content or implementations.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Opinions please?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">(Dick, just found a specification erratum: current X3D4 draft refers to [RFC4646] which is now obsoleted by [RFC5656] as above.)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Incidentally there are also some Mantis issues regarding the internal interface hierarchy defined for Metadata nodes defined by X3D4 Architecture.  I will look at whether they are resolvable without impacting any content and review findings
 with Dick.  Am expecting to either find a functionally equivalent satisfactory resolution (with zero impact on authors/implementers) or else recommend closing without specification change.  As ever, X3D community and working group will be asked to review prior
 to final issue resolution.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Finally, today in USA is Thanksgiving Day, a time to give thanks with family and count our blessings.  All of us building on X3D around the world have a lot to be grateful for.  Thanks to everybody helping advance these capabilities for
 everyone.<o:p></o:p></p>
<ul type="disc">
<li class="MsoListParagraph" style="mso-list:l4 level1 lfo11"><span style="font-size:12.0pt;font-family:Roboto;color:#006621;background:white">https://en.wikipedia.org/wiki/Thanksgiving</span><o:p></o:p></li></ul>
<p class="MsoNormal">So, steady improvement as we explore… Have fun with X3D!  8)<o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">all the best, Don<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">--
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">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",serif">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",serif">X3D graphics, virtual worlds, navy robotics https://</span>
<span style="font-size:10.0pt;font-family:"Courier New",serif">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> Jakub Flotyński <flotynski@kti.ue.poznan.pl> <br>
<b>Sent:</b> Tuesday, November 23, 2021 9:00 AM<br>
<b>To:</b> Brutzman, Donald (Don) (CIV) <brutzman@nps.edu>; John Carlson <yottzumm@gmail.com><br>
<b>Cc:</b> vmarchetti@kshell.com; X3D-Public <x3d-public@web3d.org><br>
<b>Subject:</b> Re: [x3d-public] xml:lang language identification<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p>Hi All,<o:p></o:p></p>
<p>we had a short discussion with Don about the transformation of different XMP nodes and attributes to RDF. A general idea is to have an overview of the XMP specification available at:<o:p></o:p></p>
<ul type="disc">
<li style="mso-list:l8 level1 lfo10">https://wwwimages2.adobe.com/content/dam/acom/en/devnet/xmp/pdfs/XMP%20SDK%20Release%20cc-2016-08/XMPSpecificationPart1.pdf<o:p></o:p></li></ul>
<p>and determine groups of XMP nodes and attributes that would require different transformation to RDF nodes and attributes. In such a case, we could have a pretty uniform approach to various metadata entities, while maintaining possibility to extend the transformation
 with new nodes and attributes.<o:p></o:p></p>
<p>Best regards<br>
Jakub<o:p></o:p></p>
<p><o:p> </o:p></p>
<div>
<p class="MsoNormal">W dniu 19.11.2021 o 11:03, Brutzman, Donald (Don) (CIV) pisze:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">We had a useful discussion about xml:lang in Thursday weekly CAD DPS call, had similar thinking going on.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">I will be confirming with Jakub next week (using our XMP test model) whether  <MetatadaString name=”xml:lang” value=”EN”/> is always preferable to attribute xml:lang=’EN’ because it is portable across all varieties of X3D.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Whether or not to include attribute xml:lang=’EN’ in DOCTYPE/Schema: either add it everywhere since it is legal XML, or else not at all so that validation warnings are indeed thrown (since it is likely not the recommended approach).<o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">all the best, Don</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">--
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">Don Brutzman  Naval Postgraduate School, Code USW/Br       
<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">X3D graphics, virtual worlds, navy robotics https://</span>
<span style="font-size:10.0pt;font-family:"Courier New",serif">faculty.nps.edu/brutzman</span><o:p></o:p></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> John Carlson <a href="mailto:yottzumm@gmail.com">
<yottzumm@gmail.com></a> <br>
<b>Sent:</b> Wednesday, November 17, 2021 5:58 PM<br>
<b>To:</b> Brutzman, Donald (Don) (CIV) <a href="mailto:brutzman@nps.edu"><brutzman@nps.edu></a><br>
<b>Cc:</b> <a href="mailto:vmarchetti@kshell.com">vmarchetti@kshell.com</a>; X3D-Public
<a href="mailto:x3d-public@web3d.org"><x3d-public@web3d.org></a>; Jakub Flotyński
<a href="mailto:flotynski@kti.ue.poznan.pl"><flotynski@kti.ue.poznan.pl></a><br>
<b>Subject:</b> Re: [x3d-public] xml:lang language identification<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<p class="MsoNormal">I suggest getting xml:lang into X3DUOM before JSON Schema, but we can do some hard coding into the schema generator if pretesting is desired.   An example JSON schema snippet would be required.
<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Also consider “subclassing” xml:lang for our own purposes, including supporting locales in MFStrings perhaps.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">I think full testing of existing JSON schema in python,Java, and JavaScript would be desired before proceeding.<o:p></o:p></p>
<div>
<p class="MsoNormal">Sent from my iPad<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt">On Nov 17, 2021, at 9:12 AM, Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:<o:p></o:p></p>
</blockquote>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thanks for review comments.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">I agree that using MetadataString for xml:lang definitions is a good approach for portable X3D mappings within MetadataSet collections.  Indeed that was the original approach we tried in the XMP mapping.  Further scrutiny will be needed
 to see if it can support multiple xml:lang definitions for a given value, that might be a separate design pattern.  Jakub and I will continue to look closely at this.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Meanwhile, the xml:lang attribute is allowed by XML.  Thus am still looking to add it to X3D XML Schema and DOCTYPE (and possibly X3D JSON schema) as an attribute allowed during XML validation, at least for the handful of X3D use cases
 where it might make sense.  Flagging presence of xml:lang values as erroneous would be a “false negative,” meaning an incorrect error diagnostic.<o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">all the best, Don</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">--
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">Don Brutzman  Naval Postgraduate School, Code USW/Br       
<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">X3D graphics, virtual worlds, navy robotics https://</span>
<span style="font-size:10.0pt;font-family:"Courier New",serif">faculty.nps.edu/brutzman</span><o:p></o:p></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> x3d-public <<a href="mailto:x3d-public-bounces@web3d.org">x3d-public-bounces@web3d.org</a>>
<b>On Behalf Of </b>John Carlson<br>
<b>Sent:</b> Wednesday, November 17, 2021 6:53 AM<br>
<b>To:</b> <a href="mailto:vmarchetti@kshell.com">vmarchetti@kshell.com</a><br>
<b>Cc:</b> X3D-Public <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>><br>
<b>Subject:</b> Re: [x3d-public] xml:lang language identification<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thanks, Vince.   That’s pretty much what I wanted to say.  I don’t know if schemas can apply xml:lang to an attribute in all XML documents guided by the schema.   I don’t think that would make sense.   I am not arguing a position, because
 I have not studied.<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I’ve had problems with namespaced attribute names in the past.   I suggest we go through a thorough test after any updates to X3DUOM.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">John<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<p class="MsoNormal">Sent from my iPad<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><br>
<br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt">On Nov 16, 2021, at 6:24 PM, <a href="mailto:vmarchetti@kshell.com">
vmarchetti@kshell.com</a> wrote:<o:p></o:p></p>
</blockquote>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
<br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Nov 16, 2021, at 6:00 PM, 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">XML allows identification of language via the reserved xml:lang attribute on any attribute.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoListParagraph" style="margin-top:0in;margin-bottom:0in;mso-list:l9 level1 lfo3">
XML Recommendation, fifth edition, W3C, section2.12 Language Identification<o:p></o:p></li><li class="MsoListParagraph" style="margin-top:0in;margin-bottom:0in;mso-list:l9 level1 lfo3">
https://www.w3.org/TR/REC-xml/#sec-lang-tag<o:p></o:p></li></ol>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">and<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoListParagraph" style="margin-top:0in;margin-bottom:0in;mso-list:l0 level1 lfo6">
W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes, W3C Recommendation 5 April 2012 section 3.4.3 language<o:p></o:p></li><li class="MsoListParagraph" style="margin-top:0in;margin-bottom:0in;mso-list:l0 level1 lfo6">
https://www.w3.org/TR/xmlschema11-2/#language<o:p></o:p></li></ol>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">These excerpts from the XML documents assert that the xml:lang attribute is not as granular as applying to individual attributes, but applies at<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">the XML element level, and so to all the attributes and subelements , with some clear rules for overriding the xml:lang attribute in sub-elements.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">With that in mind, I think that the function of the xml:lang attribute can, in the X3D abstract specification, be performed by a MetadataString node which can be applied to any X3D node, including<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">other Metadata nodes. The advantage of this approach would be that the language attribution can be readily transferred between different encodings of the same X3D content.<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"> <o:p></o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Today while working on XMP metadata transcription from RDF/XML (or TTL) form into X3D/XML form, Jakub and I found that we needed to utilize xml:lang attribute for lossless two-way conversion.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I can think of the following X3D elements that might need to indicate which identification of human language might be appropriate:<o:p></o:p></p>
</div>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoListParagraph" style="margin-top:0in;margin-bottom:0in;mso-list:l3 level1 lfo9">
Text node (corresponding to ‘string’ field)<o:p></o:p></li><li class="MsoListParagraph" style="margin-top:0in;margin-bottom:0in;mso-list:l3 level1 lfo9">
MetadataString<o:p></o:p></li><li class="MsoListParagraph" style="margin-top:0in;margin-bottom:0in;mso-list:l3 level1 lfo9">
<field> and <fieldValue> declarations, if type is SFString/MFString<o:p></o:p></li></ol>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Conceivably we might also permit this whenever a description field is present also (Viewpoint, sensors, etc.).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Not looking to change X3D expressive power but think that xml:lang information ought to be permissible in X3D XML encoding since it is an allowed part of XML.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Thus am planning to add xml:lang as indicated above in the X3D XML Schema and X3D XML DOCTYPE to avoid incorrect, misleading validation errors.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Any other considerations appropriate?  Will enter Mantis issue when ready to proceed.  All comments welcome.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">all the best, Don</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">--<span class="apple-converted-space"> </span></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">Don Brutzman  Naval Postgraduate School, Code USW/Br       <span class="apple-converted-space"> </span><a href="mailto:brutzman@nps.edu"><span style="color:#0563C1">brutzman@nps.edu</span></a></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">X3D graphics, virtual worlds, navy robotics https://</span><span class="apple-converted-space"> </span><span style="font-size:10.0pt;font-family:"Courier New",serif"><a href="http://faculty.nps.edu/brutzman"><span style="color:#0563C1">faculty.nps.edu/brutzman</span></a></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:Monaco">_______________________________________________<br>
x3d-public mailing list<br>
</span><a href="mailto:x3d-public@web3d.org"><span style="font-size:9.0pt;font-family:Monaco;color:#0563C1">x3d-public@web3d.org</span></a><span style="font-size:9.0pt;font-family:Monaco"><br>
</span><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org"><span style="font-size:9.0pt;font-family:Monaco;color:#0563C1">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</span></a><o:p></o:p></p>
</div>
</blockquote>
</div>
<p class="MsoNormal"><br>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><o:p></o:p></p>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
<pre>-- <o:p></o:p></pre>
<pre>dr inż. Jakub Flotyński, prof. UEP<o:p></o:p></pre>
<pre>Katedra Technologii Informacyjnych<o:p></o:p></pre>
<pre>Uniwersytet Ekonomiczny w Poznaniu<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Department of Information Technology<o:p></o:p></pre>
<pre>Poznań University of Economics and Business<o:p></o:p></pre>
<pre>al. Niepodległości 10, 61-875 Poznań<o:p></o:p></pre>
<pre>tel./fax: (+48)(61)639-2758<o:p></o:p></pre>
<pre>e-mail: <a href="mailto:flotynski@kti.ue.poznan.pl">flotynski@kti.ue.poznan.pl</a><o:p></o:p></pre>
<pre><a href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kti.ue.poznan.pl%2Fflotynski&data=04%7C01%7Cbrutzman%40nps.edu%7C8e0e32665c4e44a1803508d9aea2ae25%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637732838019438091%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=32J0hPYXRxHIYdJgyjFOp1wsnvtI%2FxSmhyQc1GVj56E%3D&reserved=0">http://www.kti.ue.poznan.pl/flotynski</a><o:p></o:p></pre>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><br>
Nadawcą korespondencji i jednocześnie administratorem Państwa danych osobowych jest Uniwersytet Ekonomiczny w Poznaniu, al. Niepodległości 10, 61-875 Poznań, z którym można skontaktować się listownie lub poprzez wiadomość e-mail (<a href="mailto:rodo@ue.poznan.pl">rodo@ue.poznan.pl</a>).
 Państwa dane osobowe przetwarzane będą w celu prowadzenia niniejszej korespondencji i przez czas jej trwania. Przysługuje Państwu prawo dostępu do danych, ich sprostowania, ograniczenia przetwarzania, usunięcia, żądania sprzeciwu wobec przetwarzania oraz wniesienia
 skargi do Prezesa Urzędu Ochrony Danych Osobowych. Szczegółowe informacje na temat ochrony danych osobowych dostępne są w
<a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fue.poznan.pl%2Fpl%2Fpolityka-prywatnosci%2Cc12767%2F&data=04%7C01%7Cbrutzman%40nps.edu%7C8e0e32665c4e44a1803508d9aea2ae25%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637732838019448022%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Ubr7LyWiRBVPBeT6tsXYJqm%2B5fvidFG37lpEqOJ0Gcc%3D&reserved=0">
Polityce prywatności</a>. <o:p></o:p></p>
</div>
</div>
</div>
</body>
</html>