[x3d-public] x3d case correction tool

Leonard Daly Leonard.Daly at realism.com
Tue Nov 3 12:23:07 PST 2015

On 11/3/2015 11:10 AM, Don Brutzman wrote:

See below...

> 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.

http://www.w3.org/TR/html5/syntax.html#writing (W3C Recommendation 28 
Oct 2014)
8.1 Writing HTML documents - last paragraph

    Many strings in the HTML syntax (e.g. the names of elements and
    their attributes) are case-insensitive, but only for uppercase ASCII
    and lowercase ASCII letters
    For convenience, in this section this is just referred to as

Leonard Daly

> 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
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> all the best, Don

*Leonard Daly*
3D Systems & Cloud Consultant
X3D Co-Chair on Sabbatical
President, Daly Realism - /Creating the Future/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20151103/20eeda6c/attachment.html>

More information about the x3d-public mailing list