XML and InkML

InkML claims to be "Ink Markup Language", and notes that "By virtue of
being an XML-based language, users may easily add application-specific
information to ink files to suit the needs of the application at hand."
Unfortunately this description ignores many of the benefits of using
XML, notably standard toolkits and interchange among applications.

InkML appears to consist of three different language strands:

1) An XML-using meta-language for creating new syntactic styles
representing traces. (traceFormat)

2) A general text syntax for representing styles, configurable using
traceFormat.

3) Metadata information provided using more conventional XML.

At best, InkML appears to be a wrapper format designed to support
information arriving from devices in whatever format the device cares to
provide.  At worst, InkML appears to provide "checkbox compliance" with
XML while storing its core information in a format which is utterly
unprocessable with ordinary XML tools.  (That the format may even change
from trace to trace doesn't help!)

InkML traces in their current form are only going to be processable with
applications that understand the details of InkML.  There is not so much
as a normalized XML form in the spec that might make it possible to
usefully share InkML in wider contexts where XML parsing is understood
but InkML parsing is not.

My suggestions for improving this specification would include:

1) Defining the non-XML trace markup and its specification tools in a
separate specification. If you're going to define such a vocabulary,
effectively a new data type, at least provide it a definition (and a
name) which is easily reused by other processors.  InkML can then be a
wrapper format for that data, supporting metadata about those traces.

2) Providing an XML representation of InkML in addition to the compact
form.  Even if most InkML-only tools work with the information in the
compact form, a more verbose representation will make it much easier for
other applications to consume the information provided by InkML.

Received on Friday, 22 August 2003 18:19:41 UTC