<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=utf-8"><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;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>The thing about JavaScript is you can basically pass a DOM element (with commas between SFStrings in an MFString).  So it depends on usage, and I should probably handle the comma case if it is legal DOM!</p><p class=MsoNormal>And that means changing my serializers to accept a wider range of inputs than those from my JSON loader, or switch to serializing from JSON instead of DOM—toss the DOM element in the trash—or leave for DOM serializer.  Changes are made, ready to test.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Sent: </b>Saturday, May 20, 2017 10:39 PM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Cc: </b><a href="mailto:joedwil@earthlink.net">Joe D Williams</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: [x3d-public] question on MFStrings; intermediatewhitespacebetween SFString values in MFString list?</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 5/20/2017 6:36 PM, John Carlson wrote:</p><p class=MsoNormal>> Luckily, I do JSON parsing before XML parsing, so I don’t think I am affected by the "," in XML.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>X3dToJson.xslt doesn't perpetuate those.  I don't think that JSON has any flexibility in that regard.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Thanks for the info.  If someone starts using my DOM code before using JSON, I could be in trouble a little bit though.  Probably best to go back and do modifications at some point.  This is for X3DJSONLD.  (It’s in the *Serializers folks!).  I should have been using JSON all along, instead of DOM!</p><p class=MsoNormal>> </p><p class=MsoNormal>> John</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>correct, we should not allow whitespace commas in DOM representations.  that will be interesting in X3D encoding for DOM, we'll likely need loaders to deliberately normalize whitespace (including comma characters).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10</p><p class=MsoNormal>> </p><p class=MsoNormal>> *From: *Don Brutzman <mailto:brutzman@nps.edu></p><p class=MsoNormal>> *Sent: *Saturday, May 20, 2017 7:48 PM</p><p class=MsoNormal>> *To: *Joe D Williams <mailto:joedwil@earthlink.net>; John Carlson <mailto:yottzumm@gmail.com></p><p class=MsoNormal>> *Cc: *X3D Graphics public mailing list <mailto:x3d-public@web3d.org></p><p class=MsoNormal>> *Subject: *Re: [x3d-public] question on MFStrings; intermediate whitespacebetween SFString values in MFString list?</p><p class=MsoNormal>> </p><p class=MsoNormal>> On 5/20/2017 3:39 PM, Roy Walmsley wrote:</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > Hi,</p><p class=MsoNormal>> </p><p class=MsoNormal>>  ></p><p class=MsoNormal>> </p><p class=MsoNormal>>  > Actually, there is some more general overriding text in the standard which</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > does clarify this point.</p><p class=MsoNormal>> </p><p class=MsoNormal>>  ></p><p class=MsoNormal>> </p><p class=MsoNormal>>  > Look at 5.1.2 Description (see</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > http://www.web3d.org/documents/specifications/19776-1/V3.3/Part01/EncodingOfFields.html#5.1.2). This is what the  third paragraph says:</p><p class=MsoNormal>> </p><p class=MsoNormal>>  ></p><p class=MsoNormal>> </p><p class=MsoNormal>>  > "Multiple-valued fields are written as an ordered list of values enclosed in</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > quotations and separated by whitespace. If the field has zero values, only</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > the quotes are written. The last value may optionally be followed by</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > whitespace."</p><p class=MsoNormal>> </p><p class=MsoNormal>>  ></p><p class=MsoNormal>> </p><p class=MsoNormal>>  > So, clearly, between two values in any MFxxxx field, whitespace is required.</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > Therefore, no need to specify in individual field details, which none of</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > them do.</p><p class=MsoNormal>> </p><p class=MsoNormal>>  ></p><p class=MsoNormal>> </p><p class=MsoNormal>>  > In my view, therefore, the standard is quite clear.</p><p class=MsoNormal>> </p><p class=MsoNormal>>  ></p><p class=MsoNormal>> </p><p class=MsoNormal>>  > <Text string='"Line 1""Line 2" '/> is illegal, since there is no whitespace.</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > <Text string='"Line 1" "Line 2" '/> is legal, since there is a " ", which is</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > a whitespace character, as defined in 4.3.1 XML encoding.</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > <Text string='"Line 1","Line 2" '/> is legal, since there is a ",", which is</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > a whitespace character, as defined in 4.3.1 XML encoding.</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > <Text string='"Line 1"."Line 2" '/> is illegal, since "." is not a</p><p class=MsoNormal>> </p><p class=MsoNormal>>  > whitespace character, as defined in 4.3.1 XML encoding.</p><p class=MsoNormal>> </p><p class=MsoNormal>>  ></p><p class=MsoNormal>> </p><p class=MsoNormal>>  > All the best,</p><p class=MsoNormal>> </p><p class=MsoNormal>>  ></p><p class=MsoNormal>> </p><p class=MsoNormal>>  > Roy</p><p class=MsoNormal>> </p><p class=MsoNormal>> Thanks Roy.  Parsing was getting pretty gnarly without that helpful whitespace separator.</p><p class=MsoNormal>> </p><p class=MsoNormal>> So John, won't be exploring that path further in X3dToJson.xslt stylesheet.</p><p class=MsoNormal>> </p><p class=MsoNormal>> all the best, Don</p><p class=MsoNormal>> </p><p class=MsoNormal>> -- </p><p class=MsoNormal>> </p><p class=MsoNormal>> Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu</p><p class=MsoNormal>> </p><p class=MsoNormal>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class=MsoNormal>> </p><p class=MsoNormal>> X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman</p><p class=MsoNormal>> </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>all the best, Don</p><p class=MsoNormal>-- </p><p class=MsoNormal>Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu</p><p class=MsoNormal>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>