[ink] InkML Implementation Report for Microsoft Office 2010

Now that the InkML 1.0 specification is in the Candidate Recommendation phase, I am pleased to submit an InkML Implementation Report on behalf of Microsoft for Microsoft Office 2010.

The attached implementation report conforms to the format specified by the InkML 1.0 Implementation Report Plan document (http://www.w3.org/2002/mmi/2011/inkml-irp/).

Below is an HTML form of the attached IR.

Thank you,

Tom Underhill
Software Development Lead at Microsoft Corporation
Editor, Ink Markup Language (InkML) 1.0 Specification


Implementation Name:
Microsoft Office 2010

Testimonial:
Microsoft is committed to incorporating support for natural input into its products. Input methods such as ink handwriting and diagrams expand the types of content that can be created and stored in digital form. The usefulness of such information relies on the ability to create accurate interpretations of the data and the ability to persist these interpretations in an openly accessible format. As a member of the W3C Multimodal Interaction working group, Microsoft supports the Ink Markup Language (InkML) 1.0 Candidate recommendation as an effective approach to representing interpretations of natural input.

The InkML 1.0 standard provides a rich language for expressing the archiving or streaming of digital ink content. A key concern for Microsoft as the company moves to support open file and data exchange formats is that the standards which are ultimately adopted allow for the accurate representation of existing data, typically represented in proprietary binary formats. The proposed InkML standard, along with the related EMMA standard, provides the desired compatibility with existing Microsoft formats. As such, Microsoft believes that the adoption of these specifications will make natural input data available to a broader range of clients, ultimately making such data more useful and valuable.


Assert ID

Feature

Spec

Req

Sub

Semantics

P

F

NI

res (pass|fail|not-impl)

notes

100

inkml:ink

[2.1]<http://www.w3.org/TR/InkML/#inkElement>

Y

N

InkML documents MUST have inkml:ink as the root element.

1

0

0

pass



101



[2.1]<http://www.w3.org/TR/InkML/#inkElement>

N

Y

SUB CONSTRAINT: The inkml:documentID attribute MAY be used to provide a unique id to the Ink document.

1

0

0

pass

Office 2010 will read this attribute, but ignores it and will not re-write it.

200

inkml:trace

[3.2.1]<http://www.w3.org/TR/InkML/#trace>

Y

N

The inkml:trace MUST be used to record the data captured by the digitizer.

1

0

0

pass



201



[3.2.1]<http://www.w3.org/TR/InkML/#trace>

Y

Y

SUB CONSTRAINT: The following grammar defines the syntax of the data that appears within a <trace> element.  It is described using the subset of Extended Backus-Naur Form defined in the Notation section of the Extensible Markup Language (XML) 1.0 (Fourth Edition) specification.  This subset of EBNF includes the following notation:

*: 0 or more
+: 1 or more
?: 0 or 1
(): grouping
|: separates alternatives
double or single quotes surround literals
#x precedes hex character codes
The grammar is as follows:

trace   ::= point ("," point)* ","? wsp*

point   ::= (wsp* value)+ wsp*

value   ::= difference_order?  wsp* "-"? wsp* number | "T" | "F" | "*" | "?"

number  ::= (decimal | double | hex)

double  ::= decimal ("e"|"E") ("+"|"-")? digit+

decimal ::= digit+ ("." digit*)? | "." digit+

hex     ::= "#" (digit | "A" | "B" | "C" | "D" | "E" | "F")+

difference_order ::= ("!" | "'" | '"')

digit   ::= ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9")

wsp     ::= (#x20 | #x9 | #xD | #xA)
Additionally, wsp may occur anywhere except within a decimal, float or hex and must occur if required to separate two values. Otherwise the longest token is matched. For example, "3245" requires an internal wsp character if it is to be interpreted as two decimal numbers, "32" and "45". On the other hand, "0.923.45" will be interpreted as "0.923" and ".45".

1

0

0

pass



202



[3.2.1]<http://www.w3.org/TR/InkML/#trace>

Y

Y

SUB CONSTRAINT: The number of value tokens appearing within each point MUST be at least equal to the number of regular channels and be no more than the number of regular channels plus the number of intermittent channels.

1

0

0

pass



203



[3.2.1]<http://www.w3.org/TR/InkML/#trace>

Y

Y

SUB CONSTRAINT: The sequence order of reported channels MUST be a head for the sequence of declared channels given in the applicable inkml:traceFormat.

1

0

0

pass



204



[3.2.1]<http://www.w3.org/TR/InkML/#trace>

Y

Y

SUB CONSTRAINT: The priorRef attribute MUST be present for traces having value middle or end forthe continuation attribute.

0

0

1

not-impl

Office 2010 will read this attribute, but ignores it and will not re-write it.

205



[3.2.1]<http://www.w3.org/TR/InkML/#trace>

Y

Y

SUB CONSTRAINT: All traces MUST begin with an explicit value, not with a first difference(' - single quote prefix) or second difference (" - double quote prefix).

1

0

0

pass



206



[3.2.1]<http://www.w3.org/TR/InkML/#trace>

Y

Y

SUB CONSTRAINT: A second difference encoding MUST be preceded by a single difference representation; which, in turn, must be preceded with an explicit encoding.

1

0

0

pass



207



[3.2.1]<http://www.w3.org/TR/InkML/#trace>

Y

Y

SUB CONSTRAINT: Intermittent channels MUST be always encoded explicitly, i.e. the qualifiers ' and " are not allowed.

1

0

0

pass



208



[3.2.1]<http://www.w3.org/TR/InkML/#trace>

Y

N

The wildcard character "*" MUST be used to indicate either that the value of the channel remains at the previous channel value (if explicit), or that the channel continues integrating with the previous first difference or second difference values, as appropriate.

1

0

0

pass



209



[3.2.1]<http://www.w3.org/TR/InkML/#trace>

Y

Y

SUB CONSTRAINT: All Channels declared after the last reported channel MUST be treated as though a '*' were reported. All channels declared before the last reported channel must also be reported, if only with explicit wild cards.

1

0

0

pass



210



[3.2.1]<http://www.w3.org/TR/InkML/#trace>

Y

N

The wildcard character "?" MUST be used to indicate that value of a channel is not given at that point.

1

0

0

pass



300

inkml:traceGroup

[3.3.1]<http://www.w3.org/TR/InkML/#traceGroup>

Y

N

Successive inkml:trace which share common characteristics MAY be grouped using an inkml:traceGroup.

1

0

0

pass



301



[3.3.1]<http://www.w3.org/TR/InkML/#traceGroup>

Y

Y

SUB CONSTRAINT: The inkml:contextRef attribute MUST be used to refer to the inkml:contextelement defining the common contextual values of the trace data grouped by the inkml:traceGroup.

1

0

0

pass



302



[3.3.1]<http://www.w3.org/TR/InkML/#traceGroup>

Y

N

A inkml:traceGroup element MUST support nested inkml:trace elements or inkml:traceGroupelements as children.

1

0

0

pass



303



[3.3.1]<http://www.w3.org/TR/InkML/#traceGroup>

N

N

Semantic Labelling:  An inkml:annotation element or an inkml:annotationXML element MAY be given as child to inkml:traceGroup and contains semantic of the grouped set of traces. For example the recognition results of the logical group of traces that belongs to a word can be captured using the annotation element.

1

0

0

pass



400

inkml:traceView

[3.3.2]<http://www.w3.org/TR/InkML/#traceViewElement>

N

N

The inkml:traceView element MAY be used to group traces by reference from the current document or other documents.

0

0

1

not-impl

Office 2010 will read this element, but ignores it and will not re-write it.

401



[3.3.2]<http://www.w3.org/TR/InkML/#traceViewElement>

N

Y

SUB CONSTRAINT: The inkml:traceDataRef attribute MAY be used to specify the URI of a inkml:trace,inkml:traceGroup or inkml:traceView element.

0

0

1

not-impl



402



[3.3.2]<http://www.w3.org/TR/InkML/#traceViewElement>

N

Y

SUB CONSTRAINT: The grouping MAY be used to provide common contextual values or structure for semantic labelling. Additional context information MAY be supplied via <annotation> or<annotationXML> child elements.

0

0

1

not-impl



405



[3.3.2]<http://www.w3.org/TR/InkML/#traceViewElement>

N

Y

SUB CONSTRAINT: If a traceDataRef attribute is given, then a to and/or from attribute MAY be given. Together, traceDataRef, from and to attributes refer to another trace data element and select part of it.

0

0

1

not-impl



406



[3.3.2]<http://www.w3.org/TR/InkML/#traceViewElement>

N

Y

SUB CONSTRAINT: A missing from attribute MAY be equivalent to selecting the first point in the (recursively) first child of the referenced element. A missing to attribute MAY be equivalent to selecting the last point in the (recursively) last child of the referenced element.

0

0

1

not-impl



407



[3.3.2]<http://www.w3.org/TR/InkML/#traceViewElement>

N

Y

SUB CONSTRAINT: Interpretation logic of from or to attributes: Any value of a from or to attribute is a colon-separated list of integers, whose meaning MAY be defined as follows: An empty list of integers SHOULD select the entire referenced object (point, <trace>, <traceGroup> or <traceView>). If the list is non-empty, then its first element SHOULD be taken as a 1-based index into the referenced object, and the remaining list is used to select within the object.

0

0

1

not-impl



407a



[3.3.2]<http://www.w3.org/TR/InkML/#traceViewElement>

N

Y

SUB CONSTRAINT: It SHOULD be considered as ERROR to try to select within a single point.

0

0

1

not-impl



408



[3.3.2]<http://www.w3.org/TR/InkML/#traceViewElement>

N

Y

SUB CONSTRAINT: If the referenced object is a traceView, then the indexing MAY be relative to the tree selected by the traceView, not relative to the original traceView object.

0

0

1

not-impl



409



[3.3.2]<http://www.w3.org/TR/InkML/#traceViewElement>

N

Y

SUB CONSTRAINT: If a contextRef attribute is given, then it MAY override the context of the referenced trace data.

0

0

1

not-impl



410



[3.3.2]<http://www.w3.org/TR/InkML/#traceViewElement>

N

Y

SUB CONSTRAINT: If a <traceGroup> contains continuation traces, they MAY be counted independently, i.e. each continuation trace is a separate element.

0

0

1

not-impl



500

inkml:definitions

[6.2.1]<http://www.w3.org/TR/InkML/#definitionsElement>

Y

N

The inkml:definitions element MAY be used as a container which is used to define reusable content such as Contextual elements.

1

0

0

pass



501



[6.2.1]<http://www.w3.org/TR/InkML/#definitionsElement>

Y

Y

SUB CONSTRAINT: Child Elements of inkml:definitions  MUST have an id attribute in order to allow them to be referenced.

1

0

0

pass



502



[6.2.1]<http://www.w3.org/TR/InkML/#definitionsElement>

Y

N

Content within a <definitions> has no impact on the interpretation of traces, unless referenced from outside the <definitions>.

1

0

0

pass



503



[6.2.1]<http://www.w3.org/TR/InkML/#definitionsElement>

Y

N

Multiple inkml:definitions as children to the root inkml:ink element SHOULD be accumulated into a single definition-state of that ink document.

1

0

0

pass



600

inkml:context

[4.1]<http://www.w3.org/TR/InkML/#contextElement>

Y

N

The inkml:context MUST be used to consolidate all salient characteristics of one or more related ink traces.

1

0

0

pass



601



[4.5]<http://www.w3.org/TR/InkML/#defaultContext>

Y

N

Default Context: Implicit references to context attributes MUST be referred to default context. The current context must be initialized with default value for all properties, including default trace format, default canvas, etc. Then, interspersed with ink data, other elements may occur that alter the default context.

1

0

0

pass



602



[4.5]<http://www.w3.org/TR/InkML/#defaultContext>

Y

N

The default context MAY be explicitly specified using the URI "#DefaultContext".

1

0

0

pass



700

inkml:traceFormat

[3.1.1]<http://www.w3.org/TR/InkML/#traceFormat>

Y

N

The inkml:traceFormat describes the format used to encode points within inkml:trace elements. It MUST contain an ordered sequence of inkml:channel elements, giving the regular channels (if any), followed by an optional inkml:intermittentChannels.

1

0

0

pass



701



[3.1.1]<http://www.w3.org/TR/InkML/#traceFormat>

Y

Y

SUB CONSTRAINT: The order of the coordinates in each point of a trace MUST be determined by the order of the inkml:channel elements in the trace format, including those from the intermittent channels part.

1

0

0

pass

Although Office 2010 can read intermittent channels, it will re-write them as regular channels

702



[3.1.1]<http://www.w3.org/TR/InkML/#traceFormat>

Y

N

Default TraceFormat: If no inkml:traceFormat is not specified, then a default traceFormat with id attribute equal to DefaultTraceFormat which has the channels X and Y with default values for the attributes.

1

0

0

pass



800

inkml:intermittentChannels

[3.1.3]<http://www.w3.org/TR/InkML/#intermittentChannels>

Y

N

The inkml:intermittentChannels MUST contain those inkml:channel elements whose value may optionally be recorded for each sample point.

1

0

0

pass

Although Office 2010 can read intermittent channels, it will re-write them as regular channels

801



[3.1.3]<http://www.w3.org/TR/InkML/#intermittentChannels>

Y

Y

SUB CONSTRAINT: The order of the enclosed inkml:channel declarations MUST give the order of the intermittent channel data samples within traces referring the enclosing inkml:traceFormat element.

1

0

0

pass



802



[3.1.3]<http://www.w3.org/TR/InkML/#intermittentChannels>

N

Y

SUB CONSTRAINT: The child inkml:channel MAY use the default attribute to specify the default value for the channel which if not given SHOULD be 0 (for integer or decimal channel), F (for boolean channel).

1

0

0

pass



900

inkml:channel

[3.1.2]<http://www.w3.org/TR/InkML/#channel>

Y

N

The list of channels provided by the digitizing device or any inkSource system MUST be mapped to a list ofinkml:channel elements wrapped in to a inkml:traceFormat element and in the optionalinkml:intermittentChannels child element of the traceFormat.

1

0

0

pass



901



[3.1.2]<http://www.w3.org/TR/InkML/#channel>

Y

N

The name attribute MUST be used to provide name for the channel. It should be used as key for referring to the channel.

1

0

0

pass



902



[3.1.2]<http://www.w3.org/TR/InkML/#channel>

Y

N

The type attribute MAY be used to provide the data type of the channel. It can have any one of the relevant value from, "integer", "decimal" and "boolean". If the attribute is not specified, then "decimal" SHOULD be assigned as default value.

1

0

0

pass



903



[3.1.2]<http://www.w3.org/TR/InkML/#channel>

Y

N

The min attribute MAY be used to provide the lower boundary value of the channel. The max attribute MAY be used to provide the upper boundary value of the channel.

1

0

0

pass



904



[3.1.2]<http://www.w3.org/TR/InkML/#channel>

Y

Y

SUB CONSTRAINT: If  the min and max attributes are given, then all channel values MUST fall within the specified range.

1

0

0

pass



905



[3.1.2]<http://www.w3.org/TR/InkML/#channel>

N

N

The orientation attribute MAY be used to specify the orientation of increasing channel values with respect to the default direction of the channel's coordinate axis. The possible values are either "+ve" or "-ve". The default value SHOULD be "+ve".

1

0

0

pass



906



[3.1.2]<http://www.w3.org/TR/InkML/#channel>

N

N

The respectTo attribute MAY be used to provide a 'frame of reference' data for the channel. For example, it MAY be used to provide the 'origin' value for numerical channels such as X and Y and MAY be used to specify the 'reference timeStamp' for the Time channel (T).

1

0

0

pass



907



[3.1.2]<http://www.w3.org/TR/InkML/#channel>

N

N

The units attribute MAY be used to provide the unit value of numerical channels (type attribute is either "integer" or "decimal").

1

0

0

pass



908



[3.1.2]<http://www.w3.org/TR/InkML/#channel>

N

Y

SUB CONSTRAINT: In scenarios where the channel value reported by the digitizer is preprocessed/normalized to get the channel value of the trace data,  a child inkml:mapping element MAY be used to specify the correspondence between those channel values. e.g. A mapping child element MAY be used with any 'orientation channels' to map the angles to the sin of the angles, as this is usually more useful in calculation involving angles.

0

0

1

not-impl



909



[3.1.2]<http://www.w3.org/TR/InkML/#channel>

Y

N

Reserved Channel Names: The list of reserved channel names given in the specification MUST be implemented with the semantic as explained in the specification.

1

0

0

pass



910



[3.1.2]<http://www.w3.org/TR/InkML/#channel>

N

Y

SUB CONSTRAINT: The inkml:mapping child element MAY be used to define the transformation for normalizing the device reported channel value to the this channel value. The corresponding source channel description is already given in the inkml:inkSource element in the current context.

0

0

1

not-impl



911



[3.1.8]<http://www.w3.org/TR/InkML/#user>

Y

N

User Defined Channels: User MAY define new inkml:channel elements apart from the list of reserved channels available. e.g. When using direction-sensitive stylus, the force channel MAY be measured using 3 user defined channels such as FX, FY and FZ.

1

0

0

pass

Office 2010 will read any user defined channels, but will ignore them and will no re-write them.

1000

inkml:inkSource

[4.2.1]<http://www.w3.org/TR/InkML/#inkSourceElement>

Y

N

The metadata about the format and quality of ink as it is reported by the source MUST be captured using an inkml:inkSource element. The source is typically hardware (a digitizer device), but may in general be any "virtual" source of ink, such as a software application that is tracking the trajectory of an object.

1

0

0

pass



1001



[4.2.1]<http://www.w3.org/TR/InkML/#inkSourceElement>

Y

Y

SUB CONSTRAINT: The inkml:traceFormat child element MUST be used to define the format of the ink.

1

0

0

pass



1002



[4.2.1]<http://www.w3.org/TR/InkML/#inkSourceElement>

N

Y

SUB CONSTRAINT: The specificationRef attribute MAY have an URI of a page that used to provide detailed or additional specifications.

1

0

0

pass



1100

inkml:canvas

[5.1]<http://www.w3.org/TR/InkML/#canvasElement>

N

N

The inkml:canvas element MAY be used to define a virtual coordinate system, which uniquely identifies a shared virtual space for cooperation of ink applications.

0

0

1

not-impl



1101



[5.1]<http://www.w3.org/TR/InkML/#canvasElement>

N

N

The inkml:canvas MAY define its dimension by giving a inkml:traceFormat element. The channel definition contains the min and max values, orientation and units.

0

0

1

not-impl



1102



[5.1]<http://www.w3.org/TR/InkML/#canvasElement>

N

Y

SUB CONSTRAINT: The "traceFormatRef" attribute MAY be used to refer the pre-existing trace format element.

1

0

0

pass



1103



[5.1]<http://www.w3.org/TR/InkML/#canvasElement>

Y

N

Default Canvas: The default canvas MUST be available as part of the Default Context. It SHOULD have two real-valued coordinates X and Y, both unbounded in the positive and negative directions.

1

0

0

pass



1104



[5.1]<http://www.w3.org/TR/InkML/#canvasElement>

N

Y

SUB CONSTRAINT: The default canvas MAY be explicitly specified using the URI "#DefaultCanvas".

1

0

0

pass



1200

inkml:canvasTransform

[5.2]<http://www.w3.org/TR/InkML/#canvasTransformElement>

N

N

The inkml:canvasTransform element MAY be used to relate two coordinate systems. The source and target coordinate systems SHOULD be defined in terms of inkml:traceFormat elements.

0

0

1

not-impl



1201



[5.2]<http://www.w3.org/TR/InkML/#canvasTransformElement>

N

N

The contents of the <canvasTransform> MAY consist of one or two inkml:mapping elements.  If there is only one, then it SHOULD be the mapping from the source to the target coordinate system, where the meaning of "source" and "target" is determined by the use. If there are two children, the first SHOULD be the mapping from the source to the target and the second SHOULD the inverse mapping from the target back to the source.

0

0

1

not-impl



1202



[5.2]<http://www.w3.org/TR/InkML/#canvasTransformElement>

N

N

The inverse transform MAY map from the canvas back to the original trace format by supplying default values for the coordinates not in the canvas

0

0

1

not-impl



1203



[5.2]<http://www.w3.org/TR/InkML/#canvasTransformElement>

N

N

For certain classes of mappings, the inverse mapping MAY be determined automatically in which case theinvertible attribute MUST be set to true.

0

0

1

not-impl



1204



[5.2]<http://www.w3.org/TR/InkML/#canvasTransformElement>

N

N

The Mappings Should be one of the below types, "identity" , "lookup", "affine", "mathml", and "product". Otherwise the type MUST be treated as "unknown".

0

0

1

not-impl



1205



[5.2]<http://www.w3.org/TR/InkML/#canvasTransformElement>

N

N

Default Canvas Transform: The default canvasTransform SHOULD have "identity" mapping for both forwarded and inverse mapping.

0

0

1

not-impl



1300

inkml:brush

[4.3.1]<http://www.w3.org/TR/InkML/#brushElement>

Y

N

The inkml:brush element MAY be used for the definition of reusable set of brush attributes which may be associated with traces.

1

0

0

pass



1301



[4.3.1]<http://www.w3.org/TR/InkML/#brushElement>

Y

N

The "xml:id" attribute MUST be present and uniquely identify the brush.

1

0

0

pass



1302



[4.3.1]<http://www.w3.org/TR/InkML/#brushElement>

Y

N

The "brushRef" attribute MAY be present to reference another brush whose attributes this brush inherit.

1

0

0

pass



1303



[4.3.1]<http://www.w3.org/TR/InkML/#brushElement>

Y

Y

SUB CONSTRAINT: if the brush inherits properties from another brush reference via a "brushRef" attribute, and if any of the same properties are also defined on this brush via inkml:brushProperty child elements, the local brushProperty values override the inherited values.

1

0

0

pass



1304



[4.3.1]<http://www.w3.org/TR/InkML/#brushElement>

Y

N

A "brushRef" attribute on a inkml:context element MAY reference a brush and any traces which reference the context MUST be assigned the brush attributes of the referenced brush.

1

0

0

pass



1305



[4.3.1]<http://www.w3.org/TR/InkML/#brushElement>

Y

Y

SUB CONSTRAINT: A "brushRef" attribute on a inkml:trace element MAY reference a brush and this brush assignment MUST override any brush assignment specified by the trace's context.

1

0

0

pass



1350

inkml:brushProperty

[4.3.2]<http://www.w3.org/TR/InkML/#brushPropertyElement>

Y

N

The list of brush attributes MUST be specified using inkml:brushProperty child elements.

1

0

0

pass



1351



[4.3.2]<http://www.w3.org/TR/InkML/#brushPropertyElement>

Y

N

The "name" attribute specifying a brush property name MUST be present on a inkml:brushPropertyelement.

1

0

0

pass



1352



[4.3.2]<http://www.w3.org/TR/InkML/#brushPropertyElement>

Y

N

The application MUST support the list of "name" attribute values listed in section: "width", "height", "color", "transparency", "tip", "rasterOp", "antiAliased", "fitToCurve", "ignorePressure".  The application MAY use additional "name" attribute values.

1

0

0

pass



1352



[4.3.2]<http://www.w3.org/TR/InkML/#brushPropertyElement>

Y

N

The value attribute specifying a brush property value MUST be present and the data type must be appropriate for the give brush property type specified by the "name" attribute.

1

0

0

pass



1353



[4.3.2]<http://www.w3.org/TR/InkML/#brushPropertyElement>

Y

Y

SUB CONSTRAINT: The "unit" attribute specifying a brush property value's particular unit of measure MAY be present, but if present the "value" attribute MUST be a numeric value.

1

0

0

pass



1400

inkml:timestamp

[4.4.1]<http://www.w3.org/TR/InkML/#timestamp>

N

N

The inkml:timestamp element MAY be used define a reference timestamp which can then be used for relative timestamping of traces.

1

0

0

pass



1500

inkml:sampleRate

[4.2.2]<http://www.w3.org/TR/InkML/#sampleRate>

N

N

The inkml:sampleRate element MAY be used to capture the rate at which ink samples are reported by the ink source device.

1

0

0

pass

Office 2010 will read this element, but ignores it and will not re-write it.

1501



[4.2.2]<http://www.w3.org/TR/InkML/#sampleRate>

N

Y

SUB CONSTRAINT: The value attribute MUST be given a decimal value equals to the sample rate in samples/second.

1

0

0

pass



1502



[4.2.2]<http://www.w3.org/TR/InkML/#sampleRate>

N

Y

SUB CONSTRAINT: The uniform attribute MUST be designated "false" (non-uniform) if any pen-down points are skipped or if the sampling is irregular.

1

0

0

pass



1510

inkml:latency

[4.2.3]<http://www.w3.org/TR/InkML/#latency>

N

N

The inkml:latency element MAY be used to capture the basic device latency that applies to all channels, in milliseconds.

0

0

1

not-impl



1511



[4.2.3]<http://www.w3.org/TR/InkML/#latency>

N

Y

SUB CONSTRAINT: The value attribute MUST be given a decimal value equals to the latency in milliseconds.

0

0

1

not-impl



1520

inkml:activeArea

[4.2.4]<http://www.w3.org/TR/InkML/#activeArea>

N

N

The inkml:activeArea element MAY be used to encode the details of the two-dimensional area within which the source device is capable of sensing the pen position.

0

0

1

not-impl



1530

inkml:srcProperty

[4.2.5]<http://www.w3.org/TR/InkML/#srcProperty>

N

N

The basic device details of inkml:inkSource are captured using inkml:sampleRate, inkml:latency and inkml:activeArea child elements. All other additional 'numeric' properties MAY be captured using inkml:srcProperty elements.

1

0

0

pass

Office 2010 will read this element, but ignores it and will not re-write it.

1540

inkml:channelProperty

[4.2.7]<http://www.w3.org/TR/InkML/#channelProperty>

N

N

The inkml:channelProperty element MAY be used to define additional properties to inkml:channel elements other than that provided with attributes of the inkml:channel element.

1

0

0

pass



1550

inkml:channelProperties

[4.2.6]<http://www.w3.org/TR/InkML/#channelProperties>

N

N

This child element of inkml:inkSource element MAY be used to wrap inkml:channelPropertyelements that define additional properties to inkml:channel which are defined in traceformat of the inkSource.

1

0

0

pass



1560

inkml:mapping

[6.1]<http://www.w3.org/TR/InkML/#mappings>

N

N

The inkml:mapping element MAY be used to define transformational mapping of different trace formats.

0

0

1

not-impl



1570

inkml:bind

[6.1.2]<http://www.w3.org/TR/InkML/#bindElement>

Y

N

For a lookup table, each index column MUST be bound to the channel that provides the input for the lookup operation. This MAY be done with a <bind> element that specifies source and column attributes.

0

0

1

not-impl



1580

inkml:table

[6.1.3]<http://www.w3.org/TR/InkML/#tableElement>

N

N

A table MAY be used to provides a set of points for mapping.

0

0

1

not-impl



1581



[6.1.3]<http://www.w3.org/TR/InkML/#tableElement>

Y

Y

SUB CONSTRAINT: Each row MUST have the same number of entries. The final row MAY optionally be followed by a comma.

0

0

1

not-impl



1582



[6.1.3]<http://www.w3.org/TR/InkML/#tableElement>

N

N

Each row in the table MAY represent a value of the function at one point. Which columns represent the argument (s) and which the result (s)  MAY be determined by <bind> elements.

0

0

1

not-impl



1583



[6.1.3]<http://www.w3.org/TR/InkML/#tableElement>

N

Y

SUB CONSTRAINT: The entries in the table may either be all numerical or all boolean.

0

0

1

not-impl



1584



[6.1.3]<http://www.w3.org/TR/InkML/#tableElement>

N

N

The "interpolation" attribute  MAY be used to specify the interpolation between discrete mapping values defined by a lookup table.

0

0

1

not-impl



1585



[6.1.3]<http://www.w3.org/TR/InkML/#tableElement>

Y

Y

SUB CONSTRAINT: The possible values for the "interpolation" attribute are "floor, middle, ceiling, linear and cubic". The default value for the attribute MUST be "linear".

0

0

1

not-impl



1586



[6.1.3]<http://www.w3.org/TR/InkML/#tableElement>

N

N

The "apply" attribute MAY be used to specify whether the mapping values are used from the table/formula, or whether this table/formula needs to be added to the current data value.

0

0

1

not-impl



1587



[6.1.3]<http://www.w3.org/TR/InkML/#tableElement>

Y

Y

SUB CONSTRAINT: The possible values for the "apply" attribute are "absolute" and "relative" . The default value for the attribute MUST be "absolute".

0

0

1

not-impl



1590

inkml:affine

[6.1.4]<http://www.w3.org/TR/InkML/#affineElement>

N

N

The inkml:affine element MAY be used to provide the entries for an affine mapping from n source values to m target values.

0

0

1

not-impl



1591



[6.1.4]<http://www.w3.org/TR/InkML/#affineElement>

Y

Y

SUB CONSTRAINT: An affine mapping MUST consists of a linear transformation (multiplication by a matrix) and a shift (adding a vector).

0

0

1

not-impl



1600

inkml:annotation

[6.3.1]<http://www.w3.org/TR/InkML/#annotationElement>

N

N

The inkml:annotation element MAY be used to annotate with simple textual descriptions in the ink markup.

1

0

0

pass

Office 2010 will read this element, but ignores it and will not re-write it.

1610

inkml:annotationXML

[6.3.2]<http://www.w3.org/TR/InkML/#annotationXMLElement>

N

N

The inkml:annotationXML element MAY be used to annotate with a collection of XML elements as content (children) for example, a MathML markup or any valid well formed XML snippet.

1

0

0

pass

Office 2010 uses annotationXML to store EMMA semantic content.  Any other kind of annotationXML is ignored.

1700

xml:id attribute



Y

Y

SUB CONSTRAINT: Any inkml element that have a non-empty xml:id attribute MUST be persisted in to inkml:definitions and be available for reference by other elements.

1

0

0

pass



1710

inkml:units attribute

[6.4]<http://www.w3.org/TR/InkML/#units>

N

N

The inkml:units attribute MAY be used in inkml:channel (numerical-channel) to indicate the unit of the channel value and MAY be used in inkml:channelProperties element to provide unit for channel properties.

1

0

0

pass



1711



[6.4]<http://www.w3.org/TR/InkML/#units>

Y

Y

SUB CONSTRAINT: An enumerated list of values given in the specification MUST be supported as value for inkml:units attribute.

1

0

0

pass

Received on Monday, 7 February 2011 04:20:37 UTC