<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Joe, we should OK with restricting certain nodes from having
@USE, but a complete list would be welcome, or we can discover
these things one at a time.<br>
</p>
<p>I don't believe it's syntax (JSON), rather some kind of X3D
semantics we are quibbling about. If you can find the desired
syntax or semantics for the X3D JSON Schema that will help with
your example, please point it out. Note that for Interpolators,
X3DUOM has USE fields, so the the USE fields should probably be
removed from there, which probably means they should be removed
from the XML Schema and the X3D standard, as you mention. This
may mean breaking examples (which might be a good thing).<br>
</p>
<p>In my schema generation, I merely have been taking Roy's example
and slowly extending it as the JSON Schema drafts change. I have
not done any extensive research into the JSON Schema--yes, I've
been to an opthamologist, even the eye school at UCB.<br>
</p>
<p>Again, we probably need a full on implementation/SAI to discover
such things, if not something like schematron. Here we go:
<a class="moz-txt-link-freetext" href="https://www.npmjs.com/package/jsontron">https://www.npmjs.com/package/jsontron</a> . I believe many of these
sorts of things are added to adjunct JSON schema capabilities. If
we can find better tools than jsonschemafriend (Java), Ajv
(JavaScript), and jsonschema (Python), let's use them! This list
piques my interest:
<a class="moz-txt-link-freetext" href="https://json-schema.org/implementations.html#web-ui-generation">https://json-schema.org/implementations.html#web-ui-generation</a><br>
</p>
<p>We also lack the capability in the XMLSpy generated JSON schema
to restrict USE from being used with other fields. How much we
can fiddle with this remains a question (JSON to JSON?). There
are rules hard-coded into X3D JSON schema generation that do not
appear in X3DUOM (oops!).<br>
</p>
<p>If we could generate @geoSystem schema rules from X3DUOM, that
would be really cool.<br>
</p>
<p>Here is some very interesting syntax from the XMLSpy converted
schema:</p>
<p> "..X3DNodeMixedContent.2": {<br>
"additionalProperties": false,<br>
"properties": {<br>
"$": {<br>
"type": [<br>
"string",<br>
"number",<br>
"boolean"<br>
]<br>
},</p>
<p>[snip]</p>
<p> },<br>
"type": [<br>
"object",<br>
"string",<br>
"number",<br>
"boolean"<br>
]<br>
},</p>
<p>AFAIK, X3DNodeMixedContent is not found in X3DUOM! X3D XSD, yes!</p>
<p>Thanks!</p>
<p>John<br>
</p>
<div class="moz-cite-prefix">On 10/25/21 10:03 PM, Joseph D Williams
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:61776ff4.1c69fb81.e9270.0480SMTPIN_ADDED_MISSING@mx.google.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style>@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;}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;}p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}.MsoChpDefault
{mso-style-type:export-only;}div.WordSection1
{page:WordSection1;}ol
{margin-bottom:0in;}ul
{margin-bottom:0in;}</style>
<div class="WordSection1">
<p class="MsoNormal">Hi Don and All, </p>
<p class="MsoNormal"><o:p> </o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo2">The USE
pattern we were working on in the X3D JSON Schema was common
to all nodes,</li>
</ul>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Then I think this could result in patterns
that are not ‘standard’ or acceptable or usable syntax. As I
read the example for hanimdisplacer which sort of matches
construction of an interpolator node it appeared that I could
put a USE in there to reference another displacer, I guess in
order to use the same points and displacements(?) as one
already defined. Maybe I am reading it wrong but I still can’t
think of any example of displacer or any other interpolator
where a USE is appropriate. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">And, for hanim, I predict still no
‘standard’ humanoid is able to have a USE included in Joint,
Segment, or Site nodes of a ‘standard’ skeleton, although
contained nodes of those nodes may use previously defined
stuffs.<o:p></o:p></p>
<p class="MsoNormal">So, is the USE really common to all nodes?
If so, then I want extension to be able to USE just a field of
another node, such as using a common key time sequence in a
set of interpolators. <o:p></o:p></p>
<p class="MsoNormal">Respectfully seeking the Universal
Pattern(s) … <o:p></o:p></p>
<p class="MsoNormal">All Best, <o:p></o:p></p>
<p class="MsoNormal">Joe<o:p></o:p></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" moz-do-not-send="true">Brutzman,
Donald (Don) (CIV)</a><br>
<b>Sent: </b>Monday, October 25, 2021 12:10 AM<br>
<b>To: </b><a href="mailto:joedwil@earthlink.net"
moz-do-not-send="true">Joseph D Williams</a>; <a
href="mailto:yottzumm@gmail.com" moz-do-not-send="true">John
Carlson</a><br>
<b>Cc: </b><a href="mailto:x3d-public@web3d.org"
moz-do-not-send="true">X3D Public Mailing List
(x3d-public@web3d.org)</a><br>
<b>Subject: </b>RE: [x3d-public] JSON Schema meeting
minutes</p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi Joe. The USE pattern we were working on
in the X3D JSON Schema was common to all nodes, not just HAnim
nodes. So no change of functionality expected.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We are always striving for consistent
expressive power for all the different language bindings and
file encodings.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We have 3950 X3D Examples to test. More
are always welcome for the archives if you think that further
coverage is needed of some capability.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">all the best, Don<br>
<span style="font-size:10.0pt;font-family:"Courier
New",serif">-- <br>
Don Brutzman Naval Postgraduate School, Code USW/Br
<a class="moz-txt-link-abbreviated" href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br>
Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA
+1.831.656.2149<br>
X3D graphics, virtual worlds, Navy robotics <a
href="https://faculty.nps.edu/brutzman"
moz-do-not-send="true">https://faculty.nps.edu/brutzman</a></span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From: </b><a
href="mailto:joedwil@earthlink.net" moz-do-not-send="true">Joseph
D Williams</a><br>
<b>Sent: </b>Sunday, October 24, 2021 5:12 PM<br>
<b>To: </b><a href="mailto:yottzumm@gmail.com"
moz-do-not-send="true">John Carlson</a>; <a
href="mailto:brutzman@nps.edu" moz-do-not-send="true">Brutzman,
Donald (Don) (CIV)</a><br>
<b>Cc: </b><a href="mailto:x3d-public@web3d.org"
moz-do-not-send="true">X3D Public Mailing List
(x3d-public@web3d.org)</a><br>
<b>Subject: </b>RE: [x3d-public] JSON Schema meeting
minutes<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hi John, Getting this to work will help.
Are you looking for examples to validate, beginning with a
.x3d file? <o:p></o:p></p>
<p class="MsoNormal">If I can include USE in the
HanimDisplacer pt. then I can include USE as Interpolator
key and value fields(?)<o:p></o:p></p>
<p class="MsoNormal">Including a USE in any of the HAnim…
nodes Joints, Segments, Sites is not going to work unless,
well, I can’t really see how it would work in a ‘standard’
humanoid.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Joe<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From: </b><a
href="mailto:yottzumm@gmail.com" moz-do-not-send="true">John
Carlson</a><br>
<b>Sent: </b>Sunday, October 24, 2021 11:44 AM<br>
<b>To: </b><a href="mailto:brutzman@nps.edu"
moz-do-not-send="true">Brutzman, Donald (Don) (CIV)</a><br>
<b>Cc: </b><a href="mailto:x3d-public@web3d.org"
moz-do-not-send="true">X3D Public Mailing List
(x3d-public@web3d.org)</a><br>
<b>Subject: </b>Re: [x3d-public] JSON Schema meeting
minutes<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Don, schema is here, python seems to be
working with added metaschema checks.<br>
<br>
<a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcoderextreme%2FX3DJSONLD%2Ftree%2Fmaster%2Fsrc%2Fmain%2Fschema&data=04%7C01%7Cbrutzman%40nps.edu%7C51fbb182092b4d5bb02c08d9974c199c%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637707175517256956%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=ZcklHNEBEtinlpnaTacqhx6dQUY2X0MYdh7vhMIRo1M%3D&reserved=0"
moz-do-not-send="true">https://github.com/coderextreme/X3DJSONLD/tree/master/src/main/schema</a><o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Next on agenda is bpy to JSON
conversion, possibly with added GUI/X3D conversion tool.<o:p></o:p></p>
</div>
<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>
<div>
<div>
<p class="MsoNormal">Sent from my iPad<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt">On
Oct 18, 2021, at 5:09 PM, Brutzman, Donald (Don)
(CIV) <a class="moz-txt-link-rfc2396E" 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">John and I reviewed his latest
schema today and discussed various design
considerations.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">His latest version, generated by
a Python program reading X3DUOM, is found as
follows:<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l0 level1 lfo1"><a class="moz-txt-link-freetext" href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/schema/x3d-4.0-JSONSchema.json">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/schema/x3d-4.0-JSONSchema.json</a><o:p></o:p></li>
</ul>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Looking at the result in Firefox
was helpful because that has a great way to look at
JSON which allowed us to iconize/expand
(fold/unfold) as needed. Excerpt follows.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">The result looks great. One
refinement John will handle: for nodes with a USE
field, no -children nodes are permitted.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Once he has the next version, I
will check it into the specifications directory
(next to X3D XML Schema and XML DOCTYPE).<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">At that point we are ready to
begin further validation efforts using multivarious
tools against the many X3D examples in JSON, such as<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l0 level1 lfo1"><a class="moz-txt-link-freetext" href="https://savage.nps.edu/Savage/GroundVehicles/Jeep/Jeep.json">https://savage.nps.edu/Savage/GroundVehicles/Jeep/Jeep.json</a><o:p></o:p></li>
</ul>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Testing without regex patterns is
good for now. A prior version had acceptable regex,
so that appears to be do-able.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Having fun with X3D JSON! 8)<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">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 class="moz-txt-link-abbreviated" 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>
</blockquote>
</div>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:0in;margin-right:.5in;margin-bottom:5.0pt;margin-left:.5in"> <o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</blockquote>
</body>
</html>