[x3d-public] x3d case correction tool
Leonard Daly
web3d at realism.com
Tue Nov 3 17:53:25 PST 2015
On 11/3/2015 1:57 PM, Andreas Plesch wrote:
:
:
>
> The use case for me is that it required quite a bit of repetitive
> effort to get x3d output generated by the vrmath2.net
> <http://vrmath2.net> editor such as
>
> https://vrmath2.net/embed/?url=/sites/default/files/user/u342/x3d/helical_gears_smooth_opt.x3d
>
> into a conforming format so that use of x3d-edit and xj3d would start
> to make more sense. A lot of that effort was just to get the case
> correct. Most of the remaining effort was to get rid of the
> nonconforming attributes such as id. (Perhaps there is way to keep
> nonconforming attributes around as comments).
I thought that 'id' was acceptable because it is needed so much in XML
and especially HTML. If it is not, it will need to be in X3D V4.
> Since html5 is (in general?) not case sensitive,
HTML5 tags and attribute names are case insensitive. I posted the W3C
reference in a previous email (last paragraph of
http://www.w3.org/TR/html5/syntax.html#writing)
> prose on x3d vocabulary within a html5 context would presumably be
> about what the recommended, case-sensitive form is for reasons of
> validation, compatibility with xml and other contexts, and general
> readability versus what the presumably accepted but discouraged
> case-insensitive form is. Or is it something else it should address ?
X3D in HTML5 needs to be case insensitive to follow the rules and
conventions for that.
Also need to identify tags with children that need to be closed (e.g.,
<transform>...</transform>)
Tags that sometimes don't have children - these can be self-closing
(e.g. <transform USE='OtherTransform' />
Tags that are void (no closing indicator). HTML examples are <br>,
<img>, etc.
See http://www.w3.org/TR/html5/syntax.html#start-tags for details
Leonard Daly
>
> Andreas
>
>
>
>
>
> On Tue, Nov 3, 2015 at 2:10 PM, Don Brutzman <brutzman at nps.edu
> <mailto:brutzman at nps.edu>> wrote:
>
> Thanks for the good thinking.
>
> Some time ago, when first looking at HTML lower-case elements and
> X3DOM integration, there was good dialog on the mail lists. No
> doubt available in the archives.
>
> It would appear that both forms (CamelCase and
> lowercase/miXedcAsE) are desirable for X3D authors depending on
> their html publication context.
>
> At that stage I created a stylesheet that creates a table for
> producing lower-case version of X3D element names and attributes.
> It walks the X3D schema in a manner similar to what you are
> suggesting.
>
> http://www.web3d.org/x3d/stylesheets/
> http://www.web3d.org/x3d/stylesheets/X3dElementsLowerCaseTable.html
> http://www.web3d.org/x3d/stylesheets/X3dAttributesLowerCaseTable.html
> http://www.web3d.org/x3d/stylesheets/X3dElementsAttributesLowerCaseTable.txt
> http://www.web3d.org/x3d/stylesheets/X3dElementsAttributesLowerCaseTableConstruction.xslt
>
> Just tuned them up a little. Might need more precise filtering to
> avoid duplicates, etc.
>
> Hopefully this is useful.
>
> As you point out, the X3D Tidy stylesheet looks at this task too.
>
> http://www.web3d.org/x3d/stylesheets/X3dTidy.html
> http://www.web3d.org/x3d/stylesheets/X3dTidy.xslt
>
> At this point, it might be good to articulate any use cases and
> the relevant HTML5 prose on case sensitivity.
>
> Open source. All suggestions, improvements or additions welcome.
>
>
> On 11/3/2015 9:34 AM, Andreas Plesch wrote:
>
> Since the idea of having a x3d document which is conforming as
> much as possible is attractive, I am thinking of a tool which
> corrects element names and attribute names to their correct
> case sensitive spelling. Is there such a tool ?
>
> In principle I think it could work by:
> 1) extract all element and attribute names from the .dtd
> and/or schema
> 2) go through all elements (recursively) in (nonconforming)
> x3d document
> 2a) normalize element name to lower-case and see if there is
> a corresponding normalized node name in dtd
> 2b) if there is replace with correct, case sensitive element name
> if not flag as unknown (or ignore, optionally eliminate)
> 2c) do the same for all used attribute names
>
> This would work for most if not all names since they can all
> (most?) be distinguished in a case insensitive manner.
>
> The tool of choice would be a xsl style sheet which may have
> to be generated by another stylesheet which processes the
> .dtd/schema. What would be other strategies (going through
> json) ? How would one go about this in more detail ? Perhaps
> the x3d-tidy.xsl style sheet is a starting point ? It looks
> daunting.
>
> However, I would probably start much more straightforwardly by
> looking at
> http://www.web3d.org/specifications/X3dDoctypeDocumentation3.3.html
> and
> http://www.web3d.org/specifications/X3dSchemaDocumentation3.3/x3d-3.3.html
> to assemble a list and then use unix tools such as sed/awk and
> such
> to transform the x3d. What is used to generate the above
> documentation from the .dtd/xsd ?
>
> Any input much appreciated,
>
> Andreas
>
>
>
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org <mailto: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 <mailto:brutzman at nps.edu>
> Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA
> +1.831.656.2149 <tel:%2B1.831.656.2149>
> X3D graphics, virtual worlds, navy robotics
> http://faculty.nps.edu/brutzman
>
>
>
>
> --
> Andreas Plesch
> 39 Barbara Rd.
> Waltham, MA 02453
>
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
--
*Leonard Daly*
X3D Co-Chair
Cloud Consultant
President, Daly Realism - /Creating the Future/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20151103/7e6a8518/attachment.html>
More information about the x3d-public
mailing list