- From: Charles Pritchard <chuck@jumis.com>
- Date: Wed, 30 Jun 2010 12:58:15 -0700
- To: www-multimodal@w3.org
I'm currently working on an SVG+InkML profile, and having reasonable success. Something came up for me: InkML does suggest that brush properties be left to the implementation: http://www.w3.org/TR/InkML/#brushElement "Brushes may be used to convey information... all that matters is that brushes are distinct so no brush properties are necessary" It also provides a mechanism to pass metadata about brushes, through the brushProperty element: http://www.w3.org/TR/InkML/#brushPropertyElement brushProperty works quite well in archived mode, for brush metadata. However, it doesn't seem that it's been examined for Streaming mode. Within a stream, we want to minimize the number of defined brushes, and will likely build-upon a brush, changing its color, size, etc. While the channels definition allows for some measure of this kind of activity, it has nothing to offer when it comes to brush property meta data. .... It seems to me that a stream should be able to re-use and replace the definitions construct. This allows inheritance of existing values across boundaries, and setting boundaries for garbage collection of obsolete element information. The following example is intended for streaming mode. It sets up a brush called "mybrush", with three brushProperty elements. Later on in the stream, it re-uses that brush, with its brushProperty elements, but alters a few of them, changing the value of the first element and emptying the value of the third. By using <definitions> to clear the defined state stack, we're able to allow streaming implementations to process an unlimited amount of data without requiring they keep prior definitions in memory; and we allow them to reference the prior definition set through inheritance. Example: <definitions> <brush xml:id="mybrush"> <brushProperty name="key1" value="val1" /> <brushProperty name="key2" value="val2" /> <brushProperty name="key2" value="val3" /> </brush> </definitions> <context brushRef="#mybrush"> <trace> ..... </trace> <definitions> <brush xml:id="mybrush" brushRef="#mybrush"> <brushProperty name="key1" value="newValue" /> <brushProperty name="key3" value="" /> </brush> </definitions> <context brushRef="#mybrush"> <trace> ..... </trace>
Received on Wednesday, 30 June 2010 19:59:15 UTC