<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=us-ascii"><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:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
h3
        {mso-style-priority:9;
        mso-style-link:"Heading 3 Char";
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:13.5pt;
        font-family:"Times New Roman",serif;
        font-weight:bold;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri",sans-serif;}
span.Heading3Char
        {mso-style-name:"Heading 3 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 3";
        font-family:"Times New Roman",serif;
        mso-fareast-language:EN-GB;
        font-weight:bold;}
p.example, li.example, div.example
        {mso-style-name:example;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:764837191;
        mso-list-template-ids:-806064490;}
@list l1
        {mso-list-id:780146383;
        mso-list-type:hybrid;
        mso-list-template-ids:1407896746 134807569 134807577 134807579 134807567 134807577 134807579 134807567 134807577 134807579;}
@list l1:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l2
        {mso-list-id:2043550182;
        mso-list-template-ids:1901255786;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></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-GB link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoPlainText>Hi Yves,<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Thank you for your comments. You made five, which I will respond to.<o:p></o:p></p><p class=MsoPlainText><u><o:p><span style='text-decoration:none'> </span></o:p></u></p><p class=MsoPlainText style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]><u>“connect” only listed within “IS”</u>: Was it intentional?  It wasn’t intentional to not list it separately. However, it is only used by IS. But where is it in the abstract specification 19775-1? Hadn’t noticed before, but I’m not finding it. This seems to be an omission that needs rectification. Thanks for drawing attention to this topic.<o:p></o:p></p><p class=MsoPlainText style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoPlainText style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]><u>JSON is planned for 19776 Part 5</u>: Will there be a Part 4? Yes, a part 4 was planned first, although it has been overtaken in terms of progress by JSON. Part 4 was planned to be the Efficient Binary Encoding. See <a href="http://www.web3d.org/specifications/X3dSpecificationRelationships.png">http://www.web3d.org/specifications/X3dSpecificationRelationships.png</a>.<o:p></o:p></p><p class=MsoListParagraph><o:p> </o:p></p><p class=MsoPlainText style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]><u>Use of the distinct prefixes “@” and “-“</u>: I’ll let Don answer this one more fully. However, below is the section from the draft standard (which is at the stage where we are working to get approval for release to the public for review – see also comment 5)) which covers this important point :<o:p></o:p></p><p class=MsoListParagraph><o:p> </o:p></p><p class=MsoPlainText style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>4)<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]>Rationale for use of prefix “@”: We tried to keep the prefix for use on fields, or properties of “statements” that are like fields. “Statements” do not get a prefix.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>5)<span style='font:7.0pt "Times New Roman"'>      </span></span><![endif]><u>Access to draft standard</u>: Sorry, but the draft standard is currently only available to members. This is a requirement of the Consortium bylaws which arises because of possible IPR issues (it applies to all new drafts). There are procedures for making it public. It is hoped to do that soon.<o:p></o:p></p><p class=MsoListParagraph><o:p> </o:p></p><p class=MsoListParagraph style='margin-left:0cm'>------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<o:p></o:p></p><h3>4.3.1.3 Encoding of field names<o:p></o:p></h3><p>Each node type defines the names and types of it's fields. These can be broadly classified into two main field types:<o:p></o:p></p><ol start=1 type=1><li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo2'><b>Children fields</b>: These fields are either SFNode or MFNode type, and their values are other nodes.<o:p></o:p></li><li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo2'><b>Value fields</b>: These are all the remaining field types.<o:p></o:p></li></ol><p>As defined in <a href="file:///E:/Software%20Development/HTML5%20Training/Github/X3D/ISO-IEC%2019776/ISO-IEC%2019776-5/ISO-IEC%2019776-5%20V3.3/ISO-IEC%2019776-5%20V3.3%20WD1/Part05/concepts.html#FieldPropertySyntax">4.3.2.10 Field property syntax</a> a field statement consists of the encoded name of the field, a comma separator, and then the value or values. The field name shall always be a JSON string. To disambiguate language constructs that are not X3D nodes or structural statements a field name shall be prefixed as follows, with no change to the capitalization of the field name:<o:p></o:p></p><ol start=1 type=1><li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo3'><b>Children fields</b>: The "-" character.<o:p></o:p></li><li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo3'><b>Value fields</b>: The "@" character.<o:p></o:p></li></ol><p class=example>EXAMPLE: The Box node has three fields, namely metadata, size, and solid, as defined in the node signature in 13.3.1 Box of <a href="file:///E:/Software%20Development/HTML5%20Training/Github/X3D/ISO-IEC%2019776/ISO-IEC%2019776-5/ISO-IEC%2019776-5%20V3.3/ISO-IEC%2019776-5%20V3.3%20WD1/Part05/references.html#I19775_1">ISO/IEC 19775-1</a>. When encoded into JSON these three field names are encoded as "-metadata", "@size", and "@solid" respectively.<o:p></o:p></p><p class=MsoNormal>------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<span style='font-size:12.0pt;font-family:"Times New Roman",serif;mso-fareast-language:EN-GB'><o:p></o:p></span></p><p class=MsoListParagraph><o:p> </o:p></p><p class=MsoPlainText>Thanks again,<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>All the best,<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Roy<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><span lang=EN-US style='mso-fareast-language:EN-GB'>-----Original Message-----<br>From: x3d-public [mailto:x3d-public-bounces@web3d.org] On Behalf Of Yves Piguet<br>Sent: 06 December 2016 07:50<br>To: Don Brutzman <brutzman@nps.edu><br>Subject: Re: [x3d-public] x3d-3.3-JSONSchema documentation available</span></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Many thanks for these links, Don. Somme comments:<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>> On 6 Dec 2016, at 01:29, Don Brutzman <<a href="mailto:brutzman@nps.edu"><span style='color:windowtext;text-decoration:none'>brutzman@nps.edu</span></a>> wrote:<o:p></o:p></p><p class=MsoPlainText>> <o:p></o:p></p><p class=MsoPlainText>> Documentation (generated by XML Spy) is now available with figures:<o:p></o:p></p><p class=MsoPlainText>> <o:p></o:p></p><p class=MsoPlainText>>             <a href="http://www.web3d.org/specifications/X3dJsonSchemaDocumentation3.3/x3d-3.3-JSONSchema.html"><span style='color:windowtext;text-decoration:none'>http://www.web3d.org/specifications/X3dJsonSchemaDocumentation3.3/x3d-3.3-JSONSchema.html</span></a><o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>"connect" is missing from this list; it can only be found in the description of "IS". I don't know it it's intended.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>> More about X3D JSON Encoding can be found at<o:p></o:p></p><p class=MsoPlainText>> <o:p></o:p></p><p class=MsoPlainText>>             <a href="http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding"><span style='color:windowtext;text-decoration:none'>http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding</span></a><o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Section <a href="http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding#Standardization"><span style='color:windowtext;text-decoration:none'>http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding#Standardization</span></a> states "The most probable place to put it is as a new Part 5 to ISO/IEC 19776. In this manner, it would correspond to the XML, Classic VRML, and Compressed Binary encodings". Will there be a part 4?<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Is there a rationale available for two distinct prefixes "@" and "-"? Except for a closer match to the XML encoding, but I would humbly object to that: per <a href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/concepts.html#Dataencodings"><span style='color:windowtext;text-decoration:none'>http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/concepts.html#Dataencodings</span></a> "concrete data encodings for X3D shall conform to this abstract specification" (in ISO/IEC 19775), so peculiarities of one encoding shouldn't be inherited by another one. Or the JSON encoding should be clearly defined as a sub-encoding of the XML encoding.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Is there a rationale available for a prefix in front of some (e.g. "@protoField"), but not all (e.g. "connect") the properties of elements which are not X3D nodes?<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>> Upcoming X3D Working Group review efforts include consideration of<o:p></o:p></p><p class=MsoPlainText>> <o:p></o:p></p><p class=MsoPlainText>>             Initial working draft:  X3D JSON Encoding<o:p></o:p></p><p class=MsoPlainText>>             ISO-IEC 19776-5 V3.3 WD1/<o:p></o:p></p><p class=MsoPlainText>>             <a href="https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019776/ISO-IEC%2019776-5/ISO-IEC%2019776-5%20V3.3"><span style='color:windowtext;text-decoration:none'>https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019776/ISO-IEC%2019776-5/ISO-IEC%2019776-5%20V3.3</span></a><o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>404 for non-members :(<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Thanks,<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Yves<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>_______________________________________________<o:p></o:p></p><p class=MsoPlainText>x3d-public mailing list<o:p></o:p></p><p class=MsoPlainText><a href="mailto:x3d-public@web3d.org"><span style='color:windowtext;text-decoration:none'>x3d-public@web3d.org</span></a><o:p></o:p></p><p class=MsoPlainText><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org"><span style='color:windowtext;text-decoration:none'>http://web3d.org/mailman/listinfo/x3d-public_web3d.org</span></a><o:p></o:p></p></div></body></html>