Intro Content File XML Format

Version 3.0

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

introContent

<!ELEMENT introContent (page+ | div* | extensionContent*)> 
<!ATTLIST introContent 
>

The <introContent> element defines the body of the intro content file. <intoContent> has no attributes.

page

<!ELEMENT page (div* | link* | text* | head? | img* | include* | html* | title?)>
<!ATTLIST page
  id            CDATA #REQUIRED
  title                CDATA #IMPLIED
style                CDATA #IMPLIED
alt-style            CDATA #IMPLIED
url            CDATA #IMPLIED
standby-url CDATA #IMPLIED
standby-style CDATA #IMPLIED
standby-alt-style CDATA #IMPLIED
 class-id CDATA #IMPLIED
>

The <page> element is used to describe a page to be displayed. The <page> is either either dynamic or static. <page> attributes are as follows:

Static pages allow for reuse of existing HTML documents within ones introduction. When a static page is used, none of the subelements are utilized. Also note when the SWT presentation is used and a static page is to be displayed an external brower is launched and the current page remains visible.

Dynamic pages do not have a url defined and their contents are generated from the subelements of the page. 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.

A <div> subelement is used to group of content and apply style across the grouped content. A <link> subelement defines a link which can be used to link to a page and run an intro action/command.  A link is normally defined at the page level to navigate between main pages verses links within a page. A <text> subelement defines textual content for 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 srcipts or extra styles sheets. An <img> subelement defines image content for the page level. An <include> subelement allows for reuse 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 embedding an html snippets directly from html file. A <title> subelement defines the title of the page.

div

<!ELEMENT div (div* | link* | text* | img* | include* | html*)> 
<!ATTLIST div 
  id                CDATA #REQUIRED
  label            CDATA #IMPLIED 
  class-id            CDATA #IMPLIED
>

The <div> element is used to group related elements, either content or presentation-wise. <div> attributes are as follows:

A <link> subelement defines a link which can be used to link to a page and run an intro action/command.  A link is normally defined at the page level to navigate between main pages verses links within a page. A <text> subelement defines textual content for the page level. An <img> subelement defines image content for the page level. An <include> subelement allows for reuse 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 embedding an html snippets directly from html file.

link

<!ELEMENT link (text?)> 
<!ATTLIST link 
  url               CDATA #REQUIRED
id CDATA #IMPLIED
label CDATA #IMPLIED
class-id CDATA #IMPLIED
>

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:

text

<!ELEMENT text EMPTY> 
<!ATTLIST text 
  id               CDATA #IMPLIED
  class-id         CDATA #IMPLIED
>

Each <text> element defines textual content. <text> attributes are as follows:

head

<!ELEMENT head EMPTY> 
<!ATTLIST head 
  src               CDATA #REQUIRED
>

A <head> element 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 srcipts or extra styles sheets. <head> attributes are as follows:

img

<!ELEMENT img EMPTY> 
<!ATTLIST img 
  id                CDATA #REQUIRED
  src                CDATA #REQUIRED
  alt               CDATA #IMPLIED
  class-id               CDATA #IMPLIED
>

Each <img> element describes an image that represents intro content.not presentation content. <img> attributes are as follows:

include

<!ELEMENT include EMPTY> 
<!ATTLIST include 
  path                CDATA #REQUIRED
  configId                CDATA #REQUIRED
  merge-style       ("true" | "false") "false"
>

Each <include> element expands an element targeted by the given path and an optional configId attributes. The path should uniquely address an element within the specified configuration. It could point to a div defined at the configuration level, or any element in a page.(todo - can the path reference elements within divs? I thought it could reference any element.) <include> attributes are as follows:

html

<!ELEMENT html ( [img|text] )> 
<!ATTLIST html 
  id                CDATA #REQUIRED
  src                CDATA #REQUIRED
  type              ("embed" | "inline")
  class-id               CDATA #IMPLIED
>

An <html> element 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 embedding an html snippets directly from html file. <html> attributes are as follows:

title

<!ELEMENT title EMPTY> 
<!ATTLIST title 
  id                CDATA #IMPLIED
  class-id               CDATA #IMPLIED
>

A <title> element defines a page's title. <title> attributes are as follows:

extensionContent

<!ELEMENT extensionContent( div* | link* )> 
<!ATTLIST extensionContent
  path             CDATA #REQUIRED
  style             CDATA #IMPLIED
  alt-style         CDATA #IMPLIED
>

An <extensionContent> element defines the content to be added to the target page or div. (todo - what happen to placeholders?) <extensionContent> attributes are as follows: