Intro Content File XML Format

Version 3.0.1

This document describes the intro content file structure as a series of DTD fragments (machine readable XML schema).

 

introContent


<!ELEMENT introContent (page+ , group* , extensionContent*)>

The introContent element defines the body of the intro content file. The content file is made up of pages, shared groups that can be included in multiple pages, and extensions to anchor points defined in other configurations.



 

page


<!ELEMENT page (group* | link* | text* | head* | img* | include* | html* | title? | anchor* | contentProvider*)>

<!ATTLIST page

url          CDATA #IMPLIED

id           CDATA #REQUIRED

style        CDATA #IMPLIED

alt-style    CDATA #IMPLIED

filteredFrom (swt|html)

content      CDATA #IMPLIED

style-id     CDATA #IMPLIED>

This element is used to describe a page to be displayed. The intro can display both dynamic and static pages.

Content for dynamic pages is generated from the sub elements of the page, described below. The style or alt-style will be applied depending on the presentation. The styles can be further enhanced by referencing the id or class-id.

Static pages allow for the reuse of existing HTML documents within one's introduction, and can be linked to from any static or dynamic page. Static pages are not defined in a page element, they are simply html files that can be linked to by other pages.

The home page, whose id is specified in the presentation element of the intro config extension point, can have a url indicating that it is a static page. If no url is specified then the home page is assumed to be dynamic. All other pages described using the page element are dynamic.
Also note that when the SWT presentation is used and a static page is to be displayed, an external browser is launched and the current page remains visible.

The subelements used in a dynamic page are as follows: A group subelement is used to group related content and apply style across the grouped content. A link subelement defines a link which can be used to link to a static or dynamic page and run an intro action/command. A link is normally defined at the page level to navigate between main pages versus links within a page. A text subelement defines textual content at the page level. A head subelement is only applicable for the Web based presentation and allows for additional html to be added to the HTML head section. This is useful for adding java scripts or extra style sheets. An img subelement defines image content for the page level. An include subelement allows for reuse of any element other than a page. An html subelement is only applicable for the Web based presentation and allows for the embedding or inclusion of html into the page's content. Embedding allows for a fully defined html file to be embeded within an HTML object by referencing the html file. Inclusion allows for including an html snippet directly from an html file. A title subelement defines the title of the page. An anchor subelement defines a point where external contributions can be made by an <extensionContent> element.


 

group


<!ELEMENT group (group* | link* | text* | img* | include* | html* | anchor*)>

<!ATTLIST group

id           CDATA #REQUIRED

label        CDATA #IMPLIED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

Used to group related content, content that should have similar style applied, or content that will be included together in other pages.


 

link


<!ELEMENT link (text? , img?)>

<!ATTLIST link

id           CDATA #IMPLIED

label        CDATA #IMPLIED

url          CDATA #REQUIRED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

Can link to a static HTML file, an external web site, or can run an Intro URL action.




The predefined actions will be described using this format:

action name - description of action
action parameter1 - description of parameter
action parameter2 (optional) - description of parameter
action parameter3 (optional) = ("true" | "false") "false" - description of parameter, choice of either true or false and "false" is the default


The following predefined actions are included in the intro framework:

close - closes the intro part
no parameters required

navigate - navigate through the intro pages in a given direction or return to the home page
direction = ("backward" | "forward" | "home") - specifies the direction to navigate

openBrowser - open the url in an external browser
url - a valid URL to an external web site or a static HTML file
pluginId (optional) - only required if a static HTML file is specified. This is the id of the plug-in containing the file.

runAction - runs the specified action
class - the fully qualified class name of the class that implements one of org.eclipse.ui.intro.config.IIntroAction, org.eclipse.jface.action.IAction, or org.eclipse.ui.IActionDelegate
pluginId - The id of the plug-in which contains the class.
standby (optional) = ("true" | "false") "false" - indicate whether to set the intro into standby mode after executing the action
additional parameters - any additional parameters are passed to actions that implement org.eclipse.ui.intro.config.IIntroAction

setStandbyMode - sets the state of the intro part
standby = ("true" | "false") - true to put the intro part in its partially visible standby mode, and false to make it fully visible

showHelp - Open the help system.
no parameters required

showHelpTopic - Open a help topic.
id - the URL of the help resource. (See Javadoc for org.eclipse.ui.help.WorkbenchHelp.displayHelpResource

showMessage - Displays a message to the user using a standard information dialog.
message - the message to show the user

showStandby - Sets the intro part to standby mode and shows the standbyContentPart with the given input
partId - the id of the standbyContentPart to show
input - the input to set on the standbyContentPart

showPage - show the intro page with the given id
id - the id of the intro page to show
standby (optional) = ("true" | "false") "false" - indicate whether to set the intro into standby mode after showing the page


  • style-id - A means to classify this link into a given category so that a common style may be applied.

  • filteredFrom - an optional attribute that allows for filtering a given element out of a specific implementation. For example, if a group has filteredFrom = swt, it means that this group will not appear as content in the swt implementation.

     

    html


    <!ELEMENT html (img | text)>

    <!ATTLIST html

    id           CDATA #REQUIRED

    src          CDATA #REQUIRED

    type         (inline|embed)

    style-id     CDATA #IMPLIED

    filteredFrom (swt|html) >

    encoding     CDATA #IMPLIED

    direct HTML to include in the page either by embedding the entire document, or inlining a snippet of HTML in-place. A fallback image or text must be defined for alternative swt presentation rendering.
    Embedding allows for a fully defined html file to be embedded within the dynamic page's content. An HTML object element is created that references the html file.
    Inclusion allows for including an html snippet directly from a file into the dynamic html page.


     

    title


    <!ELEMENT title EMPTY>

    <!ATTLIST title

    id           CDATA #IMPLIED

    style-id     CDATA #IMPLIED

    filteredFrom (swt|html) >

    a snippet of text that can optionally contain escaped HTML tags. It is only used as a Page Title, and so a given page can have a maximum of one title element.


     

    text


    <!ELEMENT text EMPTY>

    <!ATTLIST text

    id           CDATA #IMPLIED

    style-id     CDATA #IMPLIED

    filteredFrom (swt|html) >

    a snippet of text that can optionally contain escaped HTML tags. It can include b and li tags. It can also contain anchors for urls. If multiple paragraphs are needed, then the text can be divided into multiple sections each beginning and ending with the p tag.


     

    include


    <!ELEMENT include EMPTY>

    <!ATTLIST include

    configId    CDATA #IMPLIED

    path        CDATA #REQUIRED

    merge-style (true | false) >

    expands an element targeted by the given path and optional configId attributes. Path should uniquely address an element within the specified configuration. It could point to a shared group defined at the configuration level, or any element in a page.


     

    head


    <!ELEMENT head EMPTY>

    <!ATTLIST head

    src CDATA #REQUIRED>

    encoding     CDATA #IMPLIED

    Direct HTML to include in a page's HEAD content area. It allows for additional html to be added to the HTML HEAD section. This is useful for adding java scripts or extra styles sheets. This markup is only to be used with an HTML based intro part implementation. It is simply ignored in the case of a UI Forms implementation. A page can have more than one head element. An implementation can have one and only one head element (since it is a shared across all pages).


     

    img


    <!ELEMENT img EMPTY>

    <!ATTLIST img

    id           CDATA #REQUIRED

    src          CDATA #REQUIRED

    alt          CDATA #IMPLIED

    style-id     CDATA #IMPLIED

    filteredFrom (swt|html) >

    An image that represents intro content and not presentation (as opposed to decoration images defined in styles).


     

    extensionContent


    <!ELEMENT extensionContent (text | group | link | html | include)>

    <!ATTLIST extensionContent

    style     CDATA #IMPLIED

    alt-style CDATA #IMPLIED

    path      CDATA #REQUIRED>

    The content to be added to the target anchor. Only one extensionContent is allowed in a given configExtension because if this extension could not be resolved (if the config could not be found, or the target anchor element could not be found) then the pages and/or groups in the extension need to be ignored.


     

    anchor


    <!ELEMENT anchor EMPTY>

    <!ATTLIST anchor

    id CDATA #REQUIRED>

    an anchor is the element used to declare extensibility. It is a location in the configuration that allows for external contributions. Only anchors are valid target values for the path attribute in an extensionContent


     

    contentProvider

     

    <!ELEMENT contentProvider (text)>

    <!ATTLIST contentProvider

    id       CDATA #REQUIRED

    pluginId CDATA #IMPLIED

    class    CDATA #REQUIRED>

     

    A proxy for an intro content provider, which allows an intro page to dynamically pull data from various sources (e.g., the web, eclipse, etc) and provide content at runtime based on this dynamic data. If the IIntroContentProvider class that is specified in the class attribute can not be loaded, then the contents of the text element will be rendered instead. This is a dynamic version of the html intro tag. While the html tag allows for embedding or inlining a static html content into the generated html intro page, the contentProvider tag allows for dynamic creation of that content at runtime. Another difference between the tags is that the html tag is only supported for the HTML presentation, while this contentProvider tag is supported for both the HTML and SWT presentations. Since 3.0.1