<!-- ===========================================================

    wink  (Wanda Ink XML language)
    
    author: Katrin Fanke, Lambert Schomaker, Isabelle Guyon, 
            Louis Vuurpijl and the Wanda team
    institution: Fraunhofer IPK, Rijksuniversiteit Groningen, 
                 Clopinet, NICI
    version: 0.9
    created: 2002-03-25-00-00
    modified: 2003-06-13-00-00
-->
<?xml version="1.0" encoding="UTF-8"?>
<!-- ENTITIES=============================================== -->
<!ENTITY % bool " true | false ">
<!ENTITY % trace_type "pen_up | pen_down">
<!ENTITY % scale_unit "mmpu | dpu">
<!ENTITY % unit_types "mm | px | u | dot">
<!ENTITY % position " straight | upside_down | rotated_90_clockwise 
| rotated_90_counter_clockwise">
<!ENTITY % channel_name 
    "* | pressure_levels | x | y | z | pen_azimuth | pen_tilt | time">
<!--======================================================== -->
<!ELEMENT wink (device_info?, trace_format+, data_block?, wanda_link*, meta?)>
<!ELEMENT device_info 
(id, manufacturer, model, sensitive_area, sample_frequency, 
sampling_uniformity, empiric_displacement_error, channel_info_list)>
<!ELEMENT id EMPTY>
<!ATTLIST id
    value CDATA #REQUIRED
>
<!ELEMENT manufacturer EMPTY>
<!-- manufacturer of device e.g. "wacom"-->
<!ATTLIST manufacturer
    name CDATA #REQUIRED
>
<!ELEMENT model EMPTY>
<!-- model number of device 
     e.g. "ET-0405A-UV2.0-3" for graphire2-->
<!ATTLIST model
    label CDATA #IMPLIED
    name CDATA #REQUIRED
    code CDATA #IMPLIED
    type CDATA #IMPLIED
>
<!ELEMENT sensitive_area EMPTY>
<!ATTLIST sensitive_area
    height CDATA #REQUIRED
    width CDATA #REQUIRED
>
<!ELEMENT sample_frequency EMPTY>
<!-- sample_frequency / data_rate -->
<!ATTLIST sample_frequency
    value CDATA #REQUIRED
>
<!ELEMENT sampling_uniformity EMPTY>
<!ATTLIST sampling_uniformity
    value (%bool;) #REQUIRED
>
<!ELEMENT empiric_displacement_error (absolute_error, relative_error)>
<!ELEMENT absolute_error EMPTY>
<!ATTLIST absolute_error 
    value CDATA #REQUIRED
    unit (%unit_types;) #REQUIRED
    ref_angle CDATA #REQUIRED
>
<!ELEMENT relative_error EMPTY>
<!ATTLIST relative_error 
    value CDATA #REQUIRED
    unit (%unit_types;) #REQUIRED
    delta_angle CDATA #REQUIRED
>   
<!ELEMENT channel_info_list (channel_info*)>
<!ELEMENT channel_info EMPTY>
<!ATTLIST channel_info
    name (%channel_name;) #REQUIRED
    type (decimal | boolean) #IMPLIED
    minimum CDATA #IMPLIED
    maximum CDATA #IMPLIED
    accuracy CDATA #IMPLIED
    resolution CDATA #IMPLIED
>
<!ELEMENT trace_format (tablet_orientation, channels+)>
<!ELEMENT tablet_orientation EMPTY>
<!ATTLIST tablet_orientation
    value (%position;) #REQUIRED
>
<!ELEMENT channels (channel+)>
<!ATTLIST channels
    number_of CDATA #IMPLIED
>
<!ELEMENT channel EMPTY>
<!ATTLIST channel
    name (%channel_name;) #REQUIRED
>
<!ELEMENT data_block (trace+, trace_context?)>
<!ELEMENT trace (#PCDATA)>
<!ATTLIST trace
    type (%trace_type;) #REQUIRED
>
<!ELEMENT trace_context 
    (image_scale, image_offset, tablet_scale, tablet_offset, 
    bounding_box, brush)>
<!ELEMENT image_scale EMPTY>
<!ATTLIST image_scale
    value CDATA #REQUIRED
    unit (%scale_unit;) #REQUIRED
>
<!ELEMENT image_offset EMPTY>
<!ATTLIST image_offset
    x CDATA #REQUIRED
    y CDATA #REQUIRED
>
<!ELEMENT tablet_scale EMPTY>
<!ATTLIST tablet_scale
    value CDATA #REQUIRED
    unit (%scale_unit;) #REQUIRED
>
<!ELEMENT tablet_offset EMPTY>
<!ATTLIST tablet_offset
    x CDATA #REQUIRED
    y CDATA #REQUIRED
>
<!ELEMENT bounding_box EMPTY>
<!ATTLIST bounding_box
    height CDATA #REQUIRED
    width CDATA #REQUIRED
>
<!ELEMENT brush EMPTY>
<!ATTLIST brush
    size CDATA #REQUIRED
>
<!ELEMENT meta EMPTY>
<!ATTLIST meta
    author CDATA #IMPLIED
    email CDATA #IMPLIED
    institution CDATA #IMPLIED
    version CDATA #IMPLIED
    created CDATA #IMPLIED
    modified CDATA #IMPLIED
>
<!ELEMENT wanda_link EMPTY>
<!ATTLIST wanda_link 
    href    CDATA    #REQUIRED
>