[x3d-public] per X3D working group phone call Friday, what to do with " at beginning and ending of attribute value?

Don Brutzman brutzman at nps.edu
Fri Apr 9 08:30:24 PDT 2021


John, thanks for your note.

For multiple reasons, we were not able to make progress on this issue yesterday during specification editors call and there will likely not be enough time today either.  Sorry about that.

Nevertheless, from past meetings, the path forward to improving the specification is clear.

a. Review X3D ClassicVRML Encoding prose and formal grammar rules for SFString.  These are are stable (since VRML97) and reasonably well defined.  Any ambiguity (such as insufficient examples) will be pursued.

b. Review and improve X3D XML Encoding prose and improve.  Essentially this is a two-step process: first process SFString attributes following XML parsing requirements, then parse results using ClassicVRML grammar.  Both steps are rigorously defined and unambiguous.

c. Recenter examples in front of everyone to ensure no ambiguity remains.

Hopefully this answers your question right there.  It also matches what our entire XML-based tool suite, and X3DJSAIL and X3DPSAIL, do already.

You already know that I can't keep up with your pace, but our progress remains steady and relentless in any case.  8)

Have fun with X3D attributes!  8)


On 4/7/2021 1:58 PM, John Carlson wrote:
> 
> Don,  this stripQuotes for setting attributes may need to be addressed per result’s of Vince’s discussion Friday.   StripQuotes is in X3DJSONLD.java (you’ve probably renamed it by now).
> 
> Thanks for taking my code under the X3DJSAIL wing, I don’t know if I’ll be able to contribute through svn until I get a new account.   If you feel a new account is urgent, I will up the priority.
> 
> Sigh!
> 
> On Sat, Apr 3, 2021 at 4:49 PM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com>> wrote:
> 
>     Vince mentioned '"radius"' in phone call Friday as a valid XML
>     SFString.   So perhaps I shouldn't strip matching bounding quotes off
>     when converting to a DOM structure?
> 
>     This affects X3DJSONLD.java. I don't think I've coded this into any
>     JavaScript at this point. X3DJSONLD.cpp also has issues. (Are there
>     users of X3DJSONLD in Java and C++?)
> 
>     It was kind of a serendipitous find (and amazing that i was on the phone
>     call at all)...There are 4 other uses in X3DJSONLD.java that need to be
>     investigated.
> 
>     Thank Don, for pushing me to have a working JSON loader in X3DJSAIL.  If
>     Don doesn't go ahead an program loading X3D JSON into X3DJSAIL
>     (X3DJSONLD.java's currently in the net.coderextreme package).
> 
>     I am sorry I have had other pursuits, and have not been spending time on
>     JSON.  I agree that this is my primary volunteer responsibility.   I
>     will look into issues, if any, on GitHub. Has someone posted an issue on
>     github under X3DJSONLD? I don't see any. I just added one.
> 
>     I wouldn't call either X3DJSONLD.java or X3DJSONLD.cpp sufficiently
>     tested, at least beyond Don's X3DJSAIL HelloWorld examples.   Real world
>     struggles and stories are welcome.
> 
>       From X3DJSONLD.java:
> 
>          public String stripQuotes(String value) {
>                       if (value.charAt(0) == '"' &&
>     value.charAt(value.length()-1) == '"') {
>                               return value.substring(1, value.length()-1);
>                       } else {
>                               return value;
>                       }
>               }
>               public void elementSetAttribute(Element element, String key,
>     String value) {
>                       if (key.equals("SON schema")) {
>                               // JSON Schema
>                       } else if (key.equals("ncoding")) {
>                               // encoding, UTF-8, UTF-16 or UTF-32
>                       } else {
>                               // System.err.println(key+"= SA "+value);
>                               element.setAttribute(key, stripQuotes(value));
>                       }
>               }
> 
>     The question becomes, why do I have stripQuotes in X3DJSONLD.java and
>     X3DJSONLD.cpp?????  Probably the X3DJSAIL version is more tested than
>     X3DJSONLD's version of X3DJSONLD.java.
> 
> 
>     Here are primary test cases of X3DJSONLD:
> 
> 
>     /c/x3d-code/www.web3d.org/x3d/stylesheets/java$ <https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.web3d.org%2Fx3d%2Fstylesheets%2Fjava%24&data=04%7C01%7Cbrutzman%40nps.edu%7Cb12c5cd7ceb14308040208d8fa0813f1%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637534260228416291%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=ZKY5oPekSSmDHKOAyohhc%2BY%2FzJN4EDi2QiDrjISmrnE%3D&reserved=0> grep -l X3DJSONLD
>     */examples/*
>     nashorn/examples/Java.java
>     nashorn/examples/Json.js
>     nashorn/examples/Nashorn.js
>     nashorn/examples/Node.js
>     nashorn/examples/Quotes.js
>     node/examples/Java.java
>     node/examples/X3Dautoclass.js
> 
> 
>     (I know the names are bad, apologies).
> 
> 
>     Here are examples one might use to test, if you can identify SFStrings:
> 
> 
>     /c/x3d-code/www.web3d.org/x3d/stylesheets/java/examples$ <https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.web3d.org%2Fx3d%2Fstylesheets%2Fjava%2Fexamples%24&data=04%7C01%7Cbrutzman%40nps.edu%7Cb12c5cd7ceb14308040208d8fa0813f1%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637534260228426279%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Yvhdi5mDFpBnzdgNSlSdCULUKruxoyzM5hrmHVktQYc%3D&reserved=0> grep -l
>     \'\"[^\"]*\"\' *
>     CleatClamp.py
>     CleatClamp.x3d
>     HelloWorldProgram.java
>     HelloWorldProgramOutputCanonical.x3d
>     HelloWorldProgramOutputCanonical.xml
>     HelloWorldProgramOutput_CommandLine.html
>     HelloWorldProgramOutput_CommandLineUnzipped.x3d
>     HelloWorldProgramOutput_CommandLine.x3d
>     HelloWorldProgramOutput_CommandLine.xml
>     HelloWorldProgramOutput.html
>     HelloWorldProgramOutputLog.txt
>     HelloWorldProgramOutput_ReloadedDOM.x3d
>     HelloWorldProgramOutputTidy_CommandLine.x3d
>     HelloWorldProgramOutputTidy.x3d
>     HelloWorldProgramOutput.wrl
>     HelloWorldProgramOutput.x3d
>     HelloWorldProgramOutput.x3dv
>     HelloWorldProgramOutput.xml
> 
> 
>     /c/x3d-code/www.web3d.org/x3d/stylesheets/java/nashorn/examples$ <https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.web3d.org%2Fx3d%2Fstylesheets%2Fjava%2Fnashorn%2Fexamples%24&data=04%7C01%7Cbrutzman%40nps.edu%7Cb12c5cd7ceb14308040208d8fa0813f1%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637534260228426279%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=xR94ZXu4pwb2b3GUNybKMrEisdyMuzxIsOjTxMkB7X4%3D&reserved=0> grep -l
>     \'\"[^\"]*\"\' *
>     HelloWorldProgramOutput.Java.x3d
>     HelloWorldProgramOutput.Nashorn.js.newPrettyPrint.intermediate.x3d
>     HelloWorldProgramOutput.Nashorn.js.new.x3d
>     HelloWorldProgramOutput.x3d
>     Java.x3d
>     JsonPrettyPrint.intermediate.x3d
>     Json.x3d
>     Nashorn0.x3d
>     NashornPrettyPrint.intermediate.x3d
>     Nashorn.x3d
>     Node0.x3d
>     Node.x3d
>     Quotes.x3d
> 
>     X3d.x3d
> 
> 
>     /c/x3d-code/www.web3d.org/x3d/stylesheets/java/node/examples$ <https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.web3d.org%2Fx3d%2Fstylesheets%2Fjava%2Fnode%2Fexamples%24&data=04%7C01%7Cbrutzman%40nps.edu%7Cb12c5cd7ceb14308040208d8fa0813f1%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637534260228436271%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Ex5mSHCzZ%2Bx6uRL0H%2BKlGIOfybkS%2FHIyLvGN35tEM7k%3D&reserved=0> grep -l
>     \'\"[^\"]*\"\' *
>     HelloWorldProgramOutput.Java.x3d
>     HelloWorldProgramOutput.x3d
>     Java.x3d
>     Json.x3d
>     Node0.x3d
>     Node.x3d
>     Quotes.x3d
>     X3d.x3d
> 
>     It was likely that I was struggling over quoting in the nashorn
>     examples, but my memory is pretty much non-existent about this until I
>     get back into it.
> 
> 
>     Do people want a typesafe library for loading JavaScript, or something
>     more like a DOM-based loader?  I'll make a new message for this.
> 
>     John
> 
> 
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> 

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman



More information about the x3d-public mailing list