Integrating X3D into DOM - Case Sensitivity

The X3D language uses mixed case node and field names. In some cases field values are specified as case-specific names. This is standard XML. HTML allows for any case and converts tags and attribute names to lower case before use. The HTML language does not impose specific case requirements on attribute values. XHTML is XML-based, so it is case sensitive; however, all tag and attribute names are defined as lowercase.

Operating in the HTML/DOM browser environment, it makes more sense to follow the rules and practices already defined. This calls for X3D in HTML to be case insenstive and define all node and field names as lower-case to maximize compatibility with HTML and XHTML.

The advantages are similarity and compatibility across all of the browser languages (HTML, XHTML, SVG, MathML). This disadvantage is case-incompatibility with traditional X3D (X3D not designed for in-browser handling). There are some field values where the case is explicitly defined (e.g., 'true', 'false', 'EXAMINE'). These would also need to be recognized as case-insensitive values.

XSeen always handles the lower case version of node and field names. Attributes whose value is limited to a specific set of enumerated choices are always parsed in their lower-case equivalent.