| <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> |
| <html> |
| |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> |
| <meta name="ProgId" content="FrontPage.Editor.Document"> |
| <title>Cheat Sheet Content File XML Format</title> |
| </head> |
| |
| <body> |
| |
| <h1>Cheat Sheet Content File XML Format</h1> |
| <p>Version 3.2</p> |
| <p>This document describes the cheat sheet content file structure as a series of |
| DTD fragments (machine readable <a href="contentFile.xsd">XML schema</a>).</p> |
| <h2><code>cheatsheet</code></h2> |
| <pre><!ELEMENT cheatsheet (intro, item+)> |
| <!ATTLIST cheatsheet |
| title CDATA #REQUIRED |
| ></pre> |
| <p>The <cheatsheet> element defines the body of the cheat sheet content |
| file. <cheatsheet> attributes are as follows:</p> |
| <ul type="disc"> |
| <li><b>title</b> - the title of the cheat sheet |
| </ul> |
| <h2><code>intro</code></h2> |
| <pre><!ELEMENT intro (description)> |
| <!ATTLIST intro |
| contextId CDATA #IMPLIED |
| href CDATA #IMPLIED |
| ></pre> |
| <p>The <intro> element is used to describe the cheat sheet introduction to |
| be displayed. The <description> subelement contains the body of the |
| introduction. <intro> attributes are as follows:</p> |
| <ul> |
| <li><b>contextId</b> - The optional help context id of the documentation for |
| this cheat sheet. If supplied, context help for the given fully-qualified |
| context id is shown to the user (typically in a small pop-up window) when |
| they clicks the introduction's help link. If this attribute is supplied, the |
| <b>href</b> attribute should not be supplied (<b>href</b> will be ignored if |
| both are present).</li> |
| <li><b>href</b> - The optional help document describing this cheat sheet. If |
| supplied, this help document is shown to the user (typically in a help |
| browser shown in a separate window) when they clicks the introduction's help |
| link. If this attribute is supplied, the <b>contextId</b> attribute should |
| not be supplied (<b>href</b> will be ignored if both are present).</li> |
| </ul> |
| <h2><code>description</code></h2> |
| <pre><!ELEMENT description EMPTY> |
| <!ATTLIST description |
| ></pre> |
| <p>The <description> element holds the description of a cheat sheet or of |
| a cheat sheet item. The description consists of text interspersed with simple |
| formatting tags. The cheat sheet automatically formats and lays out the text to |
| make it show up reasonably in the UI. Within the text, balanced <b><b></b>...<b></b></b> |
| tags cause the enclosed text to be rendered in a bold font, and the <b><br/></b> |
| element can be used to force a line break. These are the only formatting tags |
| supported at this time (however, others may be added in the future). Certain |
| characters in the text have special significance for XML parsers; in particular, |
| to write "<", ">", "&", "'", and |
| """ (quotation mark) instead write "&lt;", |
| "&gt;", "&amp;", "&apos;", and "&quot;" |
| respectively. Whitespace (spaces and line breaks) is treated as a word |
| separator; adjacent spaces and line breaks are treated as single unit and |
| rendered as a single space or a line break. Whitespace immediately after the |
| <<b>description</b>> and <<b>br/</b>> tags is ignored, as is |
| whitespace immediately before the <<b>/description</b>> tag.</p> |
| <h2><code>item</code></h2> |
| <pre><!ELEMENT item (description ([action|perform-when] | (subitem|repeated-subitem|conditional-subitem)*))> |
| <!ATTLIST item |
| title CDATA #REQUIRED |
| dialog ("true" | "false") "false" |
| skip ("true" | "false") "false" |
| contextId CDATA #IMPLIED |
| href CDATA #IMPLIED |
| ></pre> |
| <p>Each <item> element describes one top-level step in a cheat sheet. The |
| <item> is either simple or composite. <item> attributes are as |
| follows:</p> |
| <ul type="disc"> |
| <li><b>title</b> - The title of the cheat sheet item. |
| <li><b>dialog</b> - dialog="true" means this step involves opening |
| a modal dialog. This is a hint to the system that it should allow the user |
| to continue using the cheat sheet while in the modal dialog.</li> |
| <li><b>skip</b> - skip="true" means that the whole step can be |
| skipped; the UI generally shows a button that the user can press to indicate |
| that they are skipping this step</li> |
| <li><b>contextId</b> - The optional help context id of the documentation for |
| this cheat sheet step. If supplied, context help for the given |
| fully-qualified context id is shown to the user (typically in a small pop-up |
| window) when they clicks the step's help link. If this attribute is |
| supplied, the <b>href</b> attribute should not be supplied (<b>href</b> will |
| be ignored if both are present).</li> |
| <li><b>href</b> - The optional help document describing this cheat sheet step. |
| If supplied, this help document is shown to the user (typically in a help |
| browser shown in a separate window) when they clicks the step's help link. |
| If this attribute is supplied, the <b>contextId</b> attribute should not be |
| supplied (<b>href</b> will be ignored if both are present).</li> |
| </ul> |
| <p>The org.eclipse.ui.cheatsheets.cheatSheetItemExtension allows additional |
| custom controls for the item to be displayed in the UI. Contributions to this |
| extension point declare the names of additional, string-valued attributes that |
| may appear on <item> elements.</p> |
| <p>Simple items have a description and an optional action. In the typical |
| presentation, the titles of cheat sheet items are shown to the user most of the |
| time. An item's description is only shown while the step is in the process of |
| being executed. The presence of an <action> (or <perform-when>) |
| element is typically associated with a button that the user can press to perform |
| the step's action. If no action is present, the step is one that the user must |
| carry out manually and then overtly indicate that they have successfully |
| completed the step.</p> |
| <p>Composite steps are broken down into sub-steps as specified by the <subitem> |
| subelements. Unlike items, which the user must follow in strict sequence, the |
| sub-items of a given item can be performed in any order. All sub-items within an |
| item have to be attempted (or skipped) before progressing to the next item. |
| (Which means actions that must be performed in a required sequence cannot be |
| represented as sub-items.)</p> |
| <p>A <conditional-subitem> subelement allow a step to tailor the |
| presentation of a sub-step based on cheat sheet variables whose values are |
| acquired in earlier steps. A <repeated-subitem> subelement allows a step |
| to include a set of similar sub-steps. Again, the exact set of sub-steps may be |
| based on cheat sheet variables whose value are acquired in earlier steps.</p> |
| <h2><code>subitem</code></h2> |
| <pre><!ELEMENT subitem ( [action|perform-when] )> |
| <!ATTLIST subitem |
| label CDATA #REQUIRED |
| skip ("true" | "false") "false" |
| when CDATA #IMPLIED |
| ></pre> |
| <p>Each <subitem> element describes a sub-step in a cheat sheet. A <subitem> |
| carries a simple text label, but has neither a lengthy description nor further |
| sub-items. <subitem> attributes are as follows:</p> |
| <ul type="disc"> |
| <li><b>label</b> - The title of the cheat sheet sub-item. If the string |
| contains substring occurrences of the form "${<i>var</i>}", they |
| are considered references to cheat sheet variables. All such occurrences in |
| the string value will be replaced by the value of the corresponding variable |
| in the context of the execution of the cheat sheet, or the empty string for |
| variables that are unbound. The values of the variables are as of the |
| beginning of the execution of the main step (when the <item> element |
| is elaborated), rather than when the individual sub-step are run. |
| <li><b>skip</b> - skip="true" means that the sub-step can be |
| skipped. The UI generally shows a button that the user can press to indicate |
| that they are skipping this sub-step.</li> |
| <li><b>when</b> - Indicates this subitem is to be used if and only if the |
| value of the condition attribute of the containing <conditional-subitem> |
| element matches this string value. This attribute is ignored if the <subitem> |
| element is not a child of a <conditional-subitem> element.</li> |
| </ul> |
| <p>Sub-items have an optional action. The presence of an <action> (or |
| <perform-when>) element is typically associated with a button that the |
| user can press to perform the sub-step's action. If no action is present, the |
| sub-step is one that the user must carry out manually and then overtly indicate |
| that they have successfully completed the step.</p> |
| <p>Unlike items, which must be followed in strict sequence, the sub-items of a |
| given item can be performed in any order. All sub-items within an item have to |
| be attempted (or skipped) before progressing to the next item. (Which means |
| actions that must be performed in a required sequence should not be represented |
| as sub-items.)</p> |
| <h2><code>conditional-subitem</code></h2> |
| <pre><!ELEMENT conditional-subitem (subitem+)> |
| <!ATTLIST conditional-subitem |
| condition CDATA #REQUIRED |
| ></pre> |
| <p>Each <conditional-subitem> element describes a single sub-step whose |
| form can differ based on a condition known at the time the item is expanded. |
| <conditional-subitem> attributes are as follows:</p> |
| <ul type="disc"> |
| <li><b>condition</b> - Arbitrary string value used to select which child <subitem> |
| will be used. If the attribute string has the form "${<i>var</i>}", |
| it is considered a reference to a cheat sheet variable <i>var</i>, and value |
| of the condition will be the value of the variable for the cheat sheet at |
| the start of execution of the containing <item> element (or the empty |
| string if the variable is unbound at that time).</li> |
| </ul> |
| <p>The <b>condition</b> attribute on the <conditional-subitem> element |
| provides a string value (invariably this value comes from a cheat sheet |
| variable). Each of the <subitem> children must carry a <b>when</b> |
| attribute with a distinct string value. When the item is expanded, the |
| <conditional-subitem> element is replaced by the <subitem> element |
| with the matching value. It is considered an error if there is no <subitem> |
| element with a matching value.</p> |
| <p>For example, if the cheat sheet variable named "v1" has the value |
| "b" when the following item is expanded</p> |
| <pre><item ...> |
| <conditional-subitem condition="${v1}"> |
| <subitem when="a" label="Step for A." /> |
| <subitem when="b" label="Step for B." /> |
| </conditional-subitem> |
| </item></pre> |
| then the second sub-item is selected and the item expands to something |
| equivalent to |
| <pre><item ...> |
| <subitem label="Step for B."/> |
| </item></pre> |
| <h2><code>repeated-subitem</code></h2> |
| <pre><!ELEMENT repeated-subitem (subitem)> |
| <!ATTLIST repeated-subitem |
| values CDATA #REQUIRED |
| ></pre> |
| <p>Each <repeated-subitem> element describes a sub-item that expands into |
| 0, 1, or more similar sub-steps. <repeated-subitem> attributes are as |
| follows:</p> |
| <ul type="disc"> |
| <li><b>values</b> - A string containing a comma-separated list of values. If |
| the attribute string has the form "${<i>var</i>}", it is |
| considered a reference to a cheat sheet variable <i>var</i>, and value of |
| the condition will be the value of the variable for the cheat sheet at the |
| start of execution of the containing <item> element (or the empty |
| string if the variable is unbound at that time).</li> |
| </ul> |
| <p>The <b>values</b> attribute provides a list of comma-separated strings; the |
| <subitem> child provide the template. When the item is expanded, the |
| <repeated-subitem> element is replaced by copies of the <subitem> |
| element with occurrences of the variable "this" replaced by the |
| corresponding string value.</p> |
| <p>For example, if the cheat sheet variable named "v1" has the value |
| "1,b,three" when the following item is expanded</p> |
| <pre><item ...> |
| <repeated-subitem values="${v1}"> |
| <subitem label="Step ${this}."> |
| <action class="com.xyz.myaction" pluginId="com.xyz" param1="${this}"/> |
| </subitem> |
| </repeated-subitem> |
| </item></pre> |
| then the item expands to something equivalent to: |
| <pre><item ...> |
| <subitem label="Step 1."> |
| <action class="com.xyz.myaction" pluginId="com.xyz" param1="1"/> |
| </subitem> |
| <subitem label="Step b."> |
| <action class="com.xyz.myaction" pluginId="com.xyz" param1="b"/> |
| </subitem> |
| <subitem label="Step three."> |
| <action class="com.xyz.myaction" pluginId="com.xyz" param1="three"/> |
| </subitem> |
| </item></pre> |
| <h2><code>action</code></h2> |
| <pre><!ELEMENT action EMPTY> |
| <!ATTLIST action |
| class CDATA #REQUIRED |
| pluginId CDATA #REQUIRED |
| param1 CDATA #IMPLIED |
| ... |
| param9 CDATA #IMPLIED |
| confirm ("true" | "false") "false" |
| when CDATA #IMPLIED |
| ></pre> |
| <p>Each <action> element describes an action in a cheat sheet. |
| <action> attributes are as follows:</p> |
| <ul type="disc"> |
| <li><b>class</b> - The fully-qualified name of the Java class implementing <code>org.eclipse.jface.action.IAction</code>. |
| If this action also implements <code>org.eclipse.ui.cheatsheets.ICheatSheetAction</code> |
| it will be invoked via its run(String[],ICheatSheetManager) method and be |
| passed the cheat sheet manager and action parameters. The pluginId attribute |
| must be present whenever this attribute is present. It is strongly |
| recommended that actions intended to be invoked from cheat sheets should |
| report success/fail outcome if running the action might fail (perhaps |
| because the user cancels the action from its dialog). (See |
| org.eclipse.jface.action.Action.notifyResult(boolean) for details.)</li> |
| <li><b>pluginId </b>- The id of the plug-in which contains the Java class of |
| the action class. This attribute must be present whenever the class |
| attribute is present.</li> |
| <li><b>param<i>N</i></b> - For action classes that also implement <code>org.eclipse.ui.cheatsheets.ICheatSheetAction</code>, |
| the string values of these attributes are passed to the action when it is |
| invoked. You can pass up to 9 parameters to a cheat sheet action (<b>param1</b>, |
| <b>param2</b>, etc.). The parameters supplied must start with parameter 1 |
| and be contiguous; that is, it is illegal to specify <b>param2</b> without <b>param1</b> |
| also being present. If the attribute string has the form "${<i>var</i>}", |
| it is considered a reference to a cheat sheet variable <i>var</i>, and value |
| of the condition will be the value of the variable for the cheat sheet at |
| the start of execution of the containing <item> element (or the empty |
| string if the variable is unbound at that time).</li> |
| <li><b>confirm</b> - "true" indicates this step (or sub-step) |
| requires the user to manually confirm that the action has been completed.</li> |
| <li><b>when</b> - Indicates this action is to be used if and only if the value |
| of the condition attribute of the containing <perform-when> element |
| matches this string value. This attribute is ignored if the <action> |
| element is not a child of a <perform-when> element.</li> |
| </ul> |
| <h2><code>perform-when</code></h2> |
| <pre><!ELEMENT perform-when (action+)> |
| <!ATTLIST perform-when |
| condition CDATA #REQUIRED |
| ></pre> |
| <p>Each <perform-when> element describes an action in a cheat sheet. |
| <perform-when> attributes are as follows:</p> |
| <ul type="disc"> |
| <li><b>condition</b> - Arbitrary string value used to select which child |
| <action> will be performed. If the attribute string has the form |
| "${<i>var</i>}", it is considered a reference to a cheat sheet |
| variable <i>var</i>, and value of the condition will be the value of the |
| variable for the cheat sheet at the start of execution of the containing |
| <item> element (or the empty string if the variable is unbound at that |
| time).</li> |
| </ul> |
| <p>The <b>condition</b> attribute on the <conditional-subitem> element |
| provides a string value (invariably this value comes from a cheat sheet |
| variable). Each of the <subitem> children must carry a <b>when</b> |
| attribute with a distinct string value. When the item is expanded, the |
| <conditional-subitem> element is replaced by the <subitem> element |
| with the matching value. It is considered an error if there is no <subitem> |
| element with a matching value.</p> |
| <p>For example, if the cheat sheet variable named "v1" has the value |
| "b" when the following item is expanded</p> |
| <pre><item ...> |
| <subitem label="Main step"> |
| <perform-when condition="${v1}"> |
| <action when="a" class="com.xyz.action1" pluginId="com.xyz" /> |
| <action when="b" class="com.xyz.action2" pluginId="com.xyz" /> |
| </conditional-subitem> |
| </subitem> |
| </item></pre> |
| then the second action is selected and the item expands to something equivalent |
| to |
| <pre><item ...> |
| <subitem label="Main step"> |
| <action class="com.xyz.action2" pluginId="com.xyz" /> |
| </subitem> |
| </item></pre> |
| <h2>Example</h2> |
| <p>The following is an example of a very simple cheat sheet content file:</p> |
| <pre><?xml version="1.0" encoding="UTF-8"?> |
| <cheatsheet title="Example"> |
| <intro> |
| <description>Example cheat sheet with two steps.</description> |
| </intro> |
| <item title="Step 1" dialog="true"> |
| <description>This is a step with an action that involves opening a modal dialog.</description> |
| <action class="com.xyz.myaction" pluginId="com.xyz"/> |
| </item> |
| <item title="Step 2"> |
| <description>This is a fully manual step.</description> |
| </item> |
| </cheatsheet></pre> |
| |
| <br> |
| <p class=note id=copyright> |
| Copyright (c) 2004, 2005 IBM Corporation and others.<br> |
| All rights reserved. This program and the accompanying materials are made |
| available under the terms of the Eclipse Public License v1.0 which accompanies |
| this distribution, and is available at |
| <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> |
| </p> |
| |
| </body> |
| |
| </html> |