<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><o:p> </o:p></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:andreasplesch@gmail.com">Andreas Plesch</a><br><b>Sent: </b>Wednesday, June 6, 2018 10:39 AM<br><b>To: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: [x3d-public] X3D Regex</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Date: Wed, 6 Jun 2018 09:23:09 -0700</p><p class=MsoNormal>> From: Don Brutzman <brutzman@nps.edu></p><p class=MsoNormal>> To: X3D Graphics Working Group <x3d@web3d.org></p><p class=MsoNormal>> Cc: X3D Graphics public mailing list <x3d-public@web3d.org>, "Humanoid</p><p class=MsoNormal>>         Animation (H-Anim) Working Group" <h-anim@web3d.org></p><p class=MsoNormal>> Subject: [x3d-public] X3D teleconference 5 JUN 2018 minutes: HAnim</p><p class=MsoNormal>>         DIS, X3D Regex, Web3D 2018 and X3Dv4</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>...</p><p class=MsoNormal>>         X3D Regular Expressions (regexes)</p><p class=MsoNormal>>         http://www.web3d.org/specifications/X3dRegularExpressions.html</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Vince reports that MFInt32 problem stack-overflow error still remains when running X3D Schematron locally.  He will post the abridged example that is still failing, hopefully that will help our test efforts.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> MFInt32 regex pattern:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>         ((\+|\-)?(0|[1-9][0-9]*)?( )?(,)?( )?)*</p><p class=MsoNormal>>         http://www.web3d.org/specifications/X3dRegularExpressions.html#MFInt32</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>>> I am looking at this regex and have a few questions.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>>> All groups are optional, so it seems to also match an empty string "".</p><p class=MsoNormal>>> Perhaps not a problem, or even intentional.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Totally intentional. We need the ability to legally load the node with no content then later, prior to actually running the scene. Add some attr content.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>>> It matches a mix of commas and spaces, for example ",,,  , ,, ,,  ".</p><p class=MsoNormal>>> This does not look like an acceptable MFInt32 value.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Well, either space or comma is legal sep. Mix reads poorly but legal if number of </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>>> The second group (0|[1-9][0-9]*) : This is harder to understand. It</p><p class=MsoNormal>seems to want to address leading zeros. Why not just use ([0-9]*) ?</p><p class=MsoNormal>Using https://regexr.com/ and https://regex101.com/ I could not come</p><p class=MsoNormal>up with a pattern where these expressions were not equivalent. What</p><p class=MsoNormal>would be an example where ([0-9]*) would not work ?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>leading zero for decimal value?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>>> http://www.web3d.org/documents/specifications/19776-1/V3.3/Part01/EncodingOfFields.html#SFInt32</p><p class=MsoNormal>allows hexadecimal values, using 0x prefix. I have never seen this but</p><p class=MsoNormal>the regex would not match, eg. produces a false negative.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Looks like hex needs better regex. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>>> -Andreas</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks and Best, </p><p class=MsoNormal>Joe</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>-- </p><p class=MsoNormal>Andreas Plesch</p><p class=MsoNormal>Waltham, MA 02453</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>_______________________________________________</p><p class=MsoNormal>x3d-public mailing list</p><p class=MsoNormal>x3d-public@web3d.org</p><p class=MsoNormal>http://web3d.org/mailman/listinfo/x3d-public_web3d.org</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>