Mercurial > hg > ooxml
view annotate.xml @ 63:9cf99d513197
intro complete
author | Henry S. Thompson <ht@markup.co.uk> |
---|---|
date | Mon, 12 Jun 2017 13:40:56 +0200 |
parents | e46b3efbe845 |
children | 823ac978f4ab |
line wrap: on
line source
<?xml version='1.0'?> <?xml-stylesheet type="text/xsl" href="../../../lib/xml/doc.xsl" ?> <!DOCTYPE doc SYSTEM "../../../lib/xml/doc.dtd" > <doc> <head> <title>Spreadsheet annotation spec</title> <author>Henry S. Thompson</author> <date>$Id$</date> </head> <body> <div> <title>Introduction</title> <p>This is a first pass at defining an annotation menu structure for spreadsheets. The assumption is that we'll have an 'Annotate' entry in the Excel right-button menu for selected regions, which will pop up region-appropriate menus.</p> </div> <div> <title>Top-level menus</title> <note>If the selection is a single cell I guess we try popping up a selection type menu, with choices 'Row', 'Column', 'Matrix' and 'None' (the latter resulting in <code>_Nnnn</code>).</note> <p>Right-clicking 'Annotate' when over a selected range will create a new defined name of the form <code>_Xnnn</code>, where <code>X</code> is one of <code>R</code>, <code>C</code> or <code>M</code> for <name>r</name>ows (horizontal range selection), <name>c</name>olumns (vertical range selection) or <name>m</name>atrix (for two-dimensional range selection) respectively, and <code>nnn</code> is a serial number for the relevant selection type.</p> <p>The comment field (attribute in the XML) of the defined name should contain a feature-value dictionary, represented in JSON/Python style, that is, using the following BNF</p>: <display><code>fvd := '{' ( fvp ( ',' fvp )* )? '}' fvp := key ':' value key := string value := string | number | fvp | array string := '"' char* '"' array := '[' ( value ( ',' value )* )? ']'</code></display> <p>with whitespace ignored, 'number' being the usual integer or decimal representation and 'char' being ASCII-only (?).</p> <p>If possible, the selected range should appear as the value of the new name <emph>without</emph> single-quotes.</p> <p>Some top-level features should be computed, others require annotator decision. Some features are unique to a particular selection type, others are shared across all or some types.</p> <p>Accordingly, in order for the annotator to supply the required information, a form should pop up with all the features appropriate to the selection type. Literal or array-valued form fields will just require a value menu (allowing multiple selection in the array-valued case), but features with dictionary values will require cascading sub-forms.</p> <p>The sections below tabulate the annotator-supplied features and their possible values.</p> </div> </body> </doc>