<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div dir="ltr">
<div></div>
<div>
<div>Whatever you like is fine by me. Nevertheless, you have been warned that such construct will not validate across various operating systems, file encodings and programming languages. If a file name can’t be included as metadata in the file itself, then
it is questionable whether the file will properly survive at all. As you wish. </div>
<div dir="ltr"><br>
</div>
<div dir="ltr">It is also interesting to consider whether special characters in file names can lead to security attacks, such as buffer over runss. There are RFC requirements and a line of work out there that looks at URL security, so there are security restrictions
which your file name is probably violating. So deliver lack of reuse may be allowed, but perhaps not so desirable.</div>
<div id="ms-outlook-mobile-signature">
<div><br>
</div>
<div>v/r Don</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> John Carlson <yottzumm@gmail.com><br>
<b>Sent:</b> Saturday, August 19, 2023 6:26:10 PM<br>
<b>To:</b> Brutzman, Donald (Don) (CIV) <brutzman@nps.edu><br>
<b>Cc:</b> X3D Graphics public mailing list <x3d-public@web3d.org><br>
<b>Subject:</b> Re: [x3d-public] Fwd: xslt3 bombs on spaces. Java Saxon is ok; X3D Scene Authoring Hints - naming conventions</font>
<div> </div>
</div>
<div>
<p></p>
<div style="background-color:#004679; width:100%; border-style:solid; border-color:#004679; border-width:1pt; padding:2pt; font-size:10pt; line-height:12pt; font-family:'Calibri'; color:Yellow; text-align:left">
<span style="color:Yellow">NPS WARNING:</span> *external sender* verify before acting.</div>
<br>
<p></p>
<div>
<div>
<div dir="ltr">Replacing " " (space) with "$" (for Java and Java outputs) seems to clear up the issues with X3DJSONLD and Java code.</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">This is in case someone decides to use spaces and complains that X3DJSONLD “doesn’t work .”</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">“Be liberal in what you accept, etc.”<br>
<div dir="auto"><br>
</div>
<div dir="auto">X3DJSONLD is becoming more robust to weird problems like this, but I still need to make some changes.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Plus I’m learning new bash stuff to make my code better!</div>
<div dir="auto"><br>
</div>
<div dir="auto">Fun stuff!</div>
</div>
</div>
<div>
<div dir="ltr">
<div><br>
</div>
<div>John</div>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">On Sat, Aug 19, 2023 at 6:40 PM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left-width:1px; border-left-style:solid; padding-left:1ex; border-left-color:rgb(204,204,204)">
<div>
<div lang="EN-US">
<div>
<p class="x_MsoNormal">Glad to hear that this is yielding for you, John.<u></u><u></u></p>
<p class="x_MsoNormal"><u></u> <u></u></p>
<p class="x_MsoNormal">Recommendation regarding spaces in file names: don’t do that! Too prone to failure, often inexplicably and undiagnosably within tool chains.<u></u><u></u></p>
<p class="x_MsoNormal"><u></u> <u></u></p>
<p class="x_MsoNormal">CamelCaseFileNaming.x3d works well, human readable, and searchable too.<u></u><u></u></p>
<p class="x_MsoNormal"><u></u> <u></u></p>
<p class="x_MsoNormal">Full set of our best-practice naming conventions follow. All improvements always welcome.<u></u><u></u></p>
<div style="border-width:medium medium 1.5pt; border-style:none none solid; padding:0in 0in 1pt; border-color:currentcolor currentcolor windowtext">
<p class="x_MsoNormal" style="border:medium; padding:0in"><u></u> <u></u></p>
</div>
<p class="x_MsoNormal"><u></u> <u></u></p>
<ul type="disc" style="margin-top:0in">
<li style="margin-left:0in">X3D Scene Authoring Hints: Naming Conventions<u></u><u></u></li><li style="margin-left:0in">These hints provide a collection of style guidelines, authoring tips and best practices to improve the quality, consistency and maintainability of Extensible 3D (X3D) Graphics models.<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions" target="_blank">https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions</a><u></u><u></u></li></ul>
<p class="x_MsoNormal"><b><span style="font-size:13.5pt; font-family:"Times New Roman",serif; color:black"><a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions" target="_blank" style="font-family:"Times New Roman",serif"><span style="font-family:"Segoe UI Emoji",sans-serif">🔖</span></a> <u style="font-family:"Times New Roman",serif">Naming
Conventions</u><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></b></p>
<p class="x_MsoNormal"><span style="font-size:13.5pt; font-family:"Times New Roman",serif; color:black">Clarity is essential for building a meaningful model. Naming conventions are appropriate for file names, DEF node identifiers and USE node references, prototype
names, and more.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
<ul type="circle">
<li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Using clear and consistent names for node names and DEF labels greatly improves the clarity of how a scene work. In effect, names can make the purpose
of a scene self-documenting.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">CamelCaseNaming: capitalize each word, never use abbreviations, strive for clarity, and be brief but complete.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><b><span style="font-size:13.5pt; font-family:"Times New Roman",serif">s</span></b><span style="font-size:13.5pt; font-family:"Times New Roman",serif">tartWithLowerCaseLetter when defining field names (i.e. attributes)
within Prototypes and Scripts.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Ensure consistent capitalization throughout. Of note: the Windows operating system is not case sensitive, but http servers are. Thus mismatched capitalization
can hide target files, and this error only is revealed when placed on a server.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Avoid embedding spaces in file names since they can be poorly (or inconsistently) handled by operating systems and tools.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Avoid use of underscores since they look like whitespace when part of a URL address. Occasionally it is acceptable to use the underscore character
("<b style="font-family:"Times New Roman",serif">_</b>") to indicate subscripts for definition of a mathematical variable.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Avoid use of hyphens ("<b style="font-family:"Times New Roman",serif">-</b>") since these are erroneously turned into subtraction operators when
converted into class or variable names.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Combined: avoid use of whitespace characters, 'apostrophes' and "quotation marks" in file names since they can cause lots of problems for tools and
search, especially when going from one operating system to another.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Naming conventions can apply to .x3d files and reference files, as well as Prototype names, field names, and DEF/USE names. Starting names similarly
(e.g. NavigationWalk, NavigationFly) can help alphabetize with indexing in the pretty-print HTML documentation, thus improving readability and searchability.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Portability of each name is important especially since X3D models may get converted into a variety of programming languages and file formats.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">There are multiple requirements for characters allowed in DEF/USE names, and so using the strictest subset is useful.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><ul type="circle">
<li class="x_MsoNormal" style="color:black"><span style="font-size:10pt; font-family:"Courier New"">.x3d, .x3db</span><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> encodings: must follow <a href="https://www.w3.org/TR/xml/#NT-Name" originalsrc="https://www.w3.org/TR/xml/#NT-Name" shash="PIpWMBpPGSf+YansQpURjw3/HszyJBBIikf7gjHmiV4mkIfhVp2g7WGkt09W00SyP70C9Fkho7XBgnp4wbEZter3Xc0hOA+vu17FLL+0tm+8VLo0VejsIU2X7tCMkl9oXmU86tzSRaSMsE6apSvATDwQ92i355vNQEX+YqIIc4g=" target="_blank" style="font-family:"Times New Roman",serif">XML
requirements</a> for ID/IDREF data type.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:10pt; font-family:"Courier New"">.x3dv, .wrl</span><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> encodings: must follow <a href="https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/grammar.html#Nodes" target="_blank" style="font-family:"Times New Roman",serif">ClassicVRML
Grammar requirements</a> for Id/IdFirstChar, which essentially match except for some special characters.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li></ul>
<li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Most restrictive and most interoperable guidance regarding choice of characters in names: can start with letter or underscore character, but not
a number or a colon. Can then include letters, numbers, hyphen, underscore, or period characters. This interoperability is important so that files can be converted equivalently between encodings without validation problems.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Use lower case for filename extensions. Examples: .png .jpg .txt. Although Windows systems are insensitive to upper/lower case, any differences will
cause "file not found" failures on Unix systems (Apple, Linux) and http servers.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Be consistent. When multiple files pertain to a single entity, start with the same name so that they will alphabetize adjacent to each other in the
catalog and the directory listings. Examples: <a href="https://savage.nps.edu/Savage/Tools/Animation/WaypointInterpolatorPrototype.x3d" target="_blank" style="font-family:"Times New Roman",serif">WaypointInterpolatorPrototype.x3d</a> <a href="https://savage.nps.edu/Savage/Tools/Animation/WaypointInterpolatorExample.x3d" target="_blank" style="font-family:"Times New Roman",serif">WaypointInterpolatorExample.x3d</a> <a href="https://savage.nps.edu/Savage/Tools/Animation/WaypointInterpolatorExample.png" target="_blank" style="font-family:"Times New Roman",serif">WaypointInterpolatorExample.png</a><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Similarly good choices for directory and subdirectory names can help keep scene names terse.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Portability is important. <a href="https://www.w3.org/TR/xml11/#sec-suggested-names" originalsrc="https://www.w3.org/TR/xml11/#sec-suggested-names" shash="Qy3CGd1/e8u+JbLJSk6eANSTbm9n9YSOYn9otsYCfSzFRk6VsTRCwR7sk47+sIf1uX7/rRNwzwohdZjh0kmp7Q2q2mctaMROEMsL9kH03LuRTJfs1wKHuXdqBTJtSSE885Xy5Q0msyWdgvgb7ZDjCkQ2Lffg0aozBoJcNNrjND4=" target="_blank" style="font-family:"Times New Roman",serif">Suggestions
for XML Names</a> in W3C XML 1.1 Recommendation describes best practices for construction of XML names and provides detailed character-set guidance. It also notes Names which are nonsensical, unpronounceable, hard to read, or easily confusable with other names
should not be employed.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">Avoid file names which are identical to an X3D node name, since name collisions can thwart interoperability when converting among various programming
languages.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li></ul>
<p class="x_MsoNormal"><span style="font-size:13.5pt; font-family:"Times New Roman",serif; color:black"><a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NameTyping" target="_blank" style="font-family:"Times New Roman",serif"><span style="font-family:"Segoe UI Emoji",sans-serif">🔖</span></a> <i style="font-family:"Times New Roman",serif">Typing
of name attributes</i>:<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
<p class="x_MsoNormal"><span style="font-size:13.5pt; font-family:"Times New Roman",serif; color:black">Small variations in SFString types for </span><span style="font-size:10pt; font-family:"Courier New"; color:black">name</span><span style="font-size:13.5pt; font-family:"Times New Roman",serif; color:black"> attributes
can occur in order to best achieve strict validation of content.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
<ol start="1" type="a">
<li class="x_MsoNormal" style="color:black"><b><span style="font-size:10pt; font-family:"Courier New"">type="SFString"</span></b><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> (meaning no restrictions) is applied to </span><span style="font-size:10pt; font-family:"Courier New"">name</span><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> attribute
for </span><span style="font-size:10pt; font-family:"Courier New"">meta</span><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> statement, matching HTML. However, note that <a href="https://www.dublincore.org/documents/dcmi-terms/#section-1" originalsrc="https://www.dublincore.org/documents/dcmi-terms/#section-1" shash="E7RjKrnZmL2QVfY/b2fLMd9nEP+00CY+63ONCbCiEslHJBwjFEpqedtGtQu+0mwrTYwKIH04GIQ0Qq2KWQPQNF0OUzuNKNiyR7eindnBqAgYWkC6pJrT2UwRiCDiGoFZwD5yZDgFhqDoeiNbgNH2LTcrPaidVdXcMahEKshNiYk=" target="_blank" style="font-family:"Times New Roman",serif">Dublin
Core Metadata Initiative (DCMI)</a> requires name to be a token appendable to a URI, so normal expectation for typical names is NMTOKEN.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><b><span style="font-size:10pt; font-family:"Courier New"">type="SFString"</span></b><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> (meaning that embedded space characters are allowed) is applied
to </span><span style="font-size:10pt; font-family:"Courier New"">name</span><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> attribute for <a href="https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#METAStatement" target="_blank" style="font-family:"Times New Roman",serif">meta</a> statement,
Core component <a href="https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#X3DMetadataObject" target="_blank" style="font-family:"Times New Roman",serif">X3DMetadataObject</a> Metadata nodes, and also applied to CADGeometry
component <a href="https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/componentsCADGeometry.html#X3DProductStructureChildNode" target="_blank" style="font-family:"Times New Roman",serif">X3DProductStructureChildNode</a> CAD nodes. This provides
wider latitude when matching terminology structures from other metadata nomenclatures. <i style="font-family:"Times New Roman",serif">Warning:</i> note however that the included whitespace characters might be inconsistent. A name value containing whitespace
might not validate or match other corresponding values.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><b><span style="font-size:10pt; font-family:"Courier New"">type="NMTOKEN"</span></b><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> (meaning that no whitespace characters are allowed) is applied
to </span><span style="font-size:10pt; font-family:"Courier New"">name</span><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> attribute for </span><span style="font-size:10pt; font-family:"Courier New"">component</span><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> and </span><span style="font-size:10pt; font-family:"Courier New"">unit</span><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> statements,
simpleType SFString enumeration names, and prototype definitions (ProtoDeclare, ExternProtoDeclare, ProtoInstance, field and fieldValue).<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><b><span style="font-size:10pt; font-family:"Courier New"">type="NMTOKEN"</span></b><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> (meaning that no whitespace characters are allowed) is applied
to </span><span style="font-size:10pt; font-family:"Courier New"">name</span><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> attribute for <a href="https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/hanim.html" target="_blank" style="font-family:"Times New Roman",serif">Humanoid
Animation (HAnim)</a> nodes. HAnim node names have a prefix if multiple Humanoids appear in a scene, e.g. </span><span style="font-size:10pt; font-family:"Courier New"">"joe_r_upperarm"</span><span style="font-size:13.5pt; font-family:"Times New Roman",serif">.
Note that an HAnimSite and HAnimDisplacer name starts with one of the <a href="https://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0_featurePointNameValues.html" target="_blank" style="font-family:"Times New Roman",serif">HAnim featurePointNameValues</a>.
HAnimSite must end in '_tip' or '_view' or '_pt' suffix. HAnimDisplacer can end in '_feature' or '_action' or '_config' suffix.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><b><span style="font-size:10pt; font-family:"Courier New"">type="NMTOKEN"</span></b><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> (meaning that no whitespace characters are allowed) is applied
to </span><span style="font-size:10pt; font-family:"Courier New"">name</span><span style="font-size:13.5pt; font-family:"Times New Roman",serif"> attribute for <a href="https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/shaders.html#X3DVertexAttributeNode" target="_blank" style="font-family:"Times New Roman",serif">X3DVertexAttributeNode</a> nodes
(FloatVertexAttribute, Matrix3VertexAttribute, Matrix4VertexAttribute) that define Shader interface data structures. This provides maximum strictness supporting a variety of shader programming languages which typically do not support whitespace in names.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li></ol>
<p class="x_MsoNormal"><i><span style="font-size:13.5pt; font-family:"Times New Roman",serif; color:black">Naming of multiple similar files:</span></i><span style="font-size:13.5pt; font-family:"Times New Roman",serif; color:black"><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
<p class="x_MsoNormal"><span style="font-size:13.5pt; font-family:"Times New Roman",serif; color:black">Naming multiple similar files can be difficult, especially when creating autogenerated files. One suggested approach is to concatenate the following name
components as appropriate. Considering order and alphabetization can help. Avoid abbreviations since they complicate search.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
<p class="x_MsoNormal"><span style="font-size:13.5pt; font-family:"Times New Roman",serif; color:black">For example you might separate components by period characters, since underscores disappear as part of a url and since hyphens will break across a line.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
<ul type="disc">
<li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">ConsistentDescriptiveName<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">.PhysicalLocation (for example <i style="font-family:"Times New Roman",serif">.HawaiiKauai</i>)<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">.SequenceNumber<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">. 21xx Month01 (or timestamp, for sortability)<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">.ext (filename extension)<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li></ul>
<p class="x_MsoNormal"><i><span style="font-size:13.5pt; font-family:"Times New Roman",serif; color:black">General notes on naming conventions:</span></i><span style="font-size:13.5pt; font-family:"Times New Roman",serif; color:black"><u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
<ul type="disc">
<li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">These conventions are suitable for X3D scenes, XML tagset design, and corresponding Java classes.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">These conventions match the node and field naming conventions in the <a href="https://www.web3d.org/x3d/specifications" target="_blank" style="font-family:"Times New Roman",serif">X3D
Specification</a> (and most XML).<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li><li class="x_MsoNormal" style="color:black"><span style="font-size:13.5pt; font-family:"Times New Roman",serif">(Ironic) Success Metric: when is a name successful?<br>
Answer: when no one has to discuss that name any more, it is simply understood.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></li></ul>
<div style="border-width:medium medium 1.5pt; border-style:none none solid; padding:0in 0in 1pt; border-color:currentcolor currentcolor windowtext">
<p class="x_MsoNormal" style="border:medium; padding:0in"><u></u> <u></u></p>
</div>
<p class="x_MsoNormal"><u></u> <u></u></p>
<p class="x_MsoNormal">HaveFunWithX3D! 8)<u></u><u></u></p>
<p class="x_MsoNormal"><span style="font-size:9pt; font-family:"Courier New""><u style="font-family:"Courier New""></u> <u style="font-family:"Courier New""></u></span></p>
<p class="x_MsoNormal"><span style="font-size:9pt; font-family:"Courier New"">all the best, Don<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="x_MsoNormal"><span style="font-size:9pt; font-family:"Courier New"">-- <u style="font-family:"Courier New"">
</u><u style="font-family:"Courier New""></u></span></p>
<p class="x_MsoNormal"><span style="font-size:9pt; font-family:"Courier New"">Don Brutzman Naval Postgraduate School, Code USW/Br
<a href="mailto:brutzman@nps.edu" target="_blank" style="font-family:"Courier New"">
brutzman@nps.edu</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="x_MsoNormal"><span style="font-size:9pt; font-family:"Courier New"">Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="x_MsoNormal"><span style="font-size:9pt; font-family:"Courier New"">X3D graphics, virtual worlds, navy robotics
<a href="https://faculty.nps.edu/brutzman" target="_blank" style="font-family:"Courier New"">
https://faculty.nps.edu/brutzman</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="x_MsoNormal"><u></u> <u></u></p>
<div style="border-width:1pt medium medium; border-style:solid none none; padding:3pt 0in 0in; border-color:rgb(225,225,225) currentcolor currentcolor">
<p class="x_MsoNormal"><b>From:</b> x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>>
<b>On Behalf Of </b>John Carlson<br>
<b>Sent:</b> Saturday, August 19, 2023 9:50 AM<br>
<b>To:</b> X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
<b>Subject:</b> [x3d-public] Fwd: xslt3 bombs on spaces. Java Saxon is ok<u></u><u></u></p>
</div>
<p class="x_MsoNormal"><u></u> <u></u></p>
<div>
<div>
<div>
<div>
<p class="x_MsoNormal">Saxon Java rules!<u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="x_MsoNormal">If anyone can figure out how to use spaces in file names to xslt3, you deserve respect!<u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="x_MsoNormal">I'm still hoping for a XML -> JSON solution for the web!<u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="x_MsoNormal">John<u></u><u></u></p>
<div>
<p class="x_MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="x_MsoNormal">../../../node_modules/.bin/xslt3 -xsl:/c/x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/X3dToJson.xslt" target="_blank">www.web3d.org/x3d/stylesheets/X3dToJson.xslt</a> -s:../data/lily 7_3_animate.x3d '-o:../data/lily 7_3_animate.new2.json'<u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal">Invalid command line input: 7_3_animate.x3d<u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal">Usage: see <a href="http://www.saxonica.com/saxon-js/documentation/index.html#!nodejs/command-line" originalsrc="http://www.saxonica.com/saxon-js/documentation/index.html#!nodejs/command-line" shash="oUjUB5x93+jLi9m75xV24GeVckGfyNc/pD2NVsZ3pl7dSMll6GyPt8sCHqZxtsm52rVh2IEA+3kcrs4y0GLUJkVC4SAKFn92EN47dU4Ltpc6oVOIjs7vOEXT3j/Uf4J3MlUO+Ur8LuSKO9y6EJrxcTnNskJRYxhoNzL0SzZdwXo=" target="_blank">
http://www.saxonica.com/saxon-js/documentation/index.html#!nodejs/command-line</a><u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal">Options available: -?, -co, -export, -im, -it, -json, -master, -nogo, -ns, -o, -relocate, -s, -t, -tp, -xp, -xsl<u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal">Use -XYZ:? for details of option XYZ<u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal">Params:<u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal"> param=value Set stylesheet string parameter<u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal"> +param=filename Set stylesheet document parameter<u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal"> ?param=expression Set stylesheet parameter using XPath<u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal"> !param=value Set serialization parameter<u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal"> (bindings and values containing punctuation may need to be quoted in some command shells,<u></u><u></u></p>
</div>
<div>
<p class="x_MsoNormal"> e.g. in PowerShell: "{NS}key=val" ?range="1 to 20" )<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</body>
</html>