- From: Don Brutzman <brutzman@nps.navy.mil>
- Date: Fri, 13 Oct 2000 13:27:08 -0700
- To: Frank Olken <olken@lbl.gov>
- CC: Jane Hunter <jane@dstc.edu.au>, Robert Miller <Robert.Miller@gxs.ge.com>, mpeg7-ddl <" mpeg7-ddl"@darmstadt.gmd.de>, "'www-xml-schema-comments@w3.org'" <www-xml-schema-comments@w3.org>, "w3c-xml-schema-ig@w3.org" <w3c-xml-schema-ig@w3.org>, X3D Contributors <x3d-contributors@web3d.org>
Frank Olken wrote: > October 13, 2000 > [...] > Additional Points > ----------------- > [...] > Apropos Don Brutzman remarks - see Henry Thompson's response > cited above on the merits of markup vs whitespace separation. > ( > http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0015.html > ) > > Brutzman's proposal to use regular expression to express > the structured array datatypes encoded as attribute values > can probably be made to work. Most of the members of the > Schema WG would view such a development with unalloyed horror, > as an inappropriate use of regular expressions. How horrifically appropriate for Friday 13th with a full moon! :0 > I reiterate Henry's remarks that failure to mark up individual > array elements makes it very difficult to process individual > array elements with XSLT or to reference them via XPATH. This is a well-understood point. Other considerations prevailed: - consistent use of attributes to represent base-type data throughout the mapping of VRML 97 to XML - tags for every base-type value greatly reduced scene readability and authorability, perhaps past any practical use by humans using text editors, because of tag clutter - tags for array elements did not particularly improve processing accessibility, because - arrays of 3D field values (the VRML MF* multi-field base types) rarely need to be accessed in isolation - changing a single MF-value usually implies knowledge & manipulation of the entire array of values - arrays of VRML base types are not special cases but rather treated as base types themselves - existence of alternate API (Scene Authoring Interface, or SAI) for methods to directly manipulate field values, e.g. setValue() and set1Value() values - use of SAI methods much more likely for high-performance time-critical 3D applications - accessing individual tuples within the array thus unlikely for XSLT or XPATH manipulation - regular expressions can enable checking for any illegal characters, can enforce tupleness, and can even enable retention of VRML 97 syntactic sugar which permits separating array elements by commas (we will decide later if we want or need to retain those commas) - x3d-compromise.dtd was specifically chosen by group over an alternative tagset with such per-value tags - no major problems (and very few minor problems) encountered while translating an extensive set of example scenes - no other Total Cost of Ownership (TCO) problems noted Example: 2 huge piles of polygonal vertices and normals drawing a bunny. Modification of individual points to make rabbit ears wag smoothly will probably occur by a series of authoring design choices like - separate ear polygons from remainder of body - consider simple scaling/rotation of that group (i.e. cheat), otherwise - use native-VRML CoordinateInterpolator and NormalInterpolator nodes to set the keyframe values corresponding to (beginning, (middle)*, end) array values - trigger the interpolators, admire the cute bunny Obviously more examples and some counterexamples exist. Nevertheless this is probably a representative example of the large-array attribute case. Hopefully the reasons above also illustrate why these design choices were made in the X3D DTD. Perhaps similar reasons will exist for other languages that often include very large chunks of numeric data. Perhaps not. Our tradeoffs are usually dominated by 3D-specific run-time performance considerations. Work on a draft X3D schema has finally begun - I've managed to reconfigure IBM's Xeena editor to handle the recent revised Schema DTD drafts at http://www.w3.org/2000/10/XMLSchema.dtd http://www.w3.org/2000/10/datatypes.dtd Hopefully an X3D schema will be working before the W3C AC meeting next month. As mentioned before, we'll report back when there are implementation results to report. Assuming everything proceeds as planned, with or without regex constraints working on MF-* array types, our likely response regarding arrays is "LATER - VERSION 1.1." Also as mentioned before, we are happy to help on any forthcoming effort regarding arrays of complex types. Again thanks for the excellent and fundamentally important work on Schema. all the best, Don -- Don Brutzman Naval Postgraduate School, Code UW/Br Root 200 work 831.656.2149 Monterey California 93943-5000 USA fax 831.656.3679 Virtual worlds/underwater robots/Internet http://web.nps.navy.mil/~brutzman
Received on Friday, 13 October 2000 16:30:17 UTC