SAS 9.1.3 Integration Technologies » SAS Web Infrastructure Kit: Developer's Guide


Developing Custom Themes
Steps for Defining a New Theme
Style Sheet and Graphics Reference
Theme Template Reference
SASthemes.xml File
Element Descriptions for Themes DTD
Changing the Application Name
Migrating Custom Themes After Installing a Service Pack
List of Theme Changes for Service Pack 3
List of Theme Changes for Service Pack 4
Developing Custom Themes

SASthemes.xml File

The contents of the SASthemes.xml file for the SAS Winter theme are shown below. You should use this file as a basis for creating your own theme descriptor(s).

Note: The current version of the Web Infrastructure Kit does not support localization of the theme label.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE Themes SYSTEM "http://www.sas.com/webapp/themes.dtd"> <!-- Themes consist of images, templates and stylesheets. Templates are typically HTML files. Themes must have a name, which will not be localized. Themes must have a label that will be displayed to users. All file paths must be relative to the URI path of the theme. Within the theme-name directory, create subdirectories named templates, images, and styles. Put cascading style sheets into the styles folder, image files into images, and all template files into templates. <Themes> <Theme name="" // the name of the theme (without blanks). Not localized. Required. label="" // a label for display to users. Required. description="" // a description for display to users. Optional. device="" // name suitable display device, e.g. desktop browser, PDA, WAP phone. Required. URIPath="" //the path to the theme's directory. If it does not include a final "/", one will be appended when constructing paths to subdirectories. Required. /> <Images directory=""> // the name of directory where the images are located (without backslash). Required <Image name="" // Required. description="" altTextKey="" // Optional. Resource key for alt= text on img tag path="" // Optional. Used if path to image is not URIPath + images appliesTo="ALL | className(s)" - indicates that ALL classes will make use of this value, or if there is a list of classes, only apply to those. 'ALL' is a reserved word. Required width="" //Optional. Value for width= attr on img tag height="" //Optional. Value for height= attr on img tag file="" // the name of image file (for example, logo.gif). Required /> <Styles directory="" // the name of directory where the stylesheets are located (without backslash). <StyleSheet name="" // descriptive name of the cascading style sheet. description="" // description of the style's purpose media="" // valid values are: screen|print Required. order="n" // for each media type, the order in which to load the style sheet. Required. The value for order must be an ASCII integer (no Unicode-escaped characters). file="" // The file name, e.g. sasStyle.css Required. /> <Templates directory=""> // the name of directory where the templates are located (without backslash). Required <Template name="" // name of the template. Required description="" // description of the template's purpose markup="" // markup language used in the template Required file="" // name of the template file Required /> </Theme> </Themes> path=Theme.URIPath + Images.dir + file OR path=Theme.URIPath + asset.path + file The actual path to an asset is the concatenation of the URIPath attribute on the Theme element, the dir attribute on the Asset type (style, image, or template), and, of course, the value of the file itself. For example, for the logo, it would be themes/default/images/logo.gif Alternatively, if an image element includes a "path=" attribute, then the actual path to the file is the concatenation of the URIPath attribute on the Theme element, the path attribute on the image element, and the value of the file itself. --> <Themes> <Theme name="winter" label="SAS Winter" description="Winter theme for SAS applications" URIPath="themes/winter" device="DESKTOP"> <Styles directory="styles"> <StyleSheet name="SAS Style" description="Default SAS style" order="2" media="SCREEN" file="sasStyle.css"/> <StyleSheet name="AppDev Studio" order="1" media="SCREEN" file="sasComponents.css"/> </Styles> <Images directory="images"> <Image name="logo" description="SAS Logo" altTextKey="desktop.logo.txt" appliesTo="ALL" width="70" height="32" file="logo.gif"/>
<Image name="banner_background" description="SAS banner swirl background" altTextKey="" appliesTo="ALL" height="184" file="BannerBackground.gif"/>
<Image name="Banner_downArrow" description="banner: a down arrow" width="4" height="7" file="BannerDownArrowWhite.gif"/>
<Image name="Banner_backArrow" description="banner: a back arrow" width="4" height="7" file="BannerBackArrowYellow.gif"/>
<Image name="tab_left" description="MenuBar: left side of tab" appliesTo="ALL" file="TabLeftFirst.gif"/>
<Image name="tab_left_select" description="MenuBar: left side of selected tab" appliesTo="ALL" file="TabLeftSelectFirst.gif"/>
<Image name="tab_right" description="MenuBar: right side of tab" appliesTo="ALL" file="TabRight.gif"/>
<Image name="tab_right_select" description="MenuBar: right side of tab-selected" appliesTo="ALL" file="TabRightSelect.gif"/>
<Image name="tab_top" description="MenuBar: top of tab" appliesTo="ALL" file="TabTop.gif"/>
<Image name="tab_top_select" description="MenuBar: top of tab-selected" appliesTo="ALL" file="TabTopSelect.gif"/>
<Image name="tab_upper_left" description="MenuBar: rounded upper-left corner" appliesTo="ALL" file="TabUpperLeft.gif"/>
<Image name="tab_upper_left_select" description="MenuBar: rounded upper-left corner-selected" appliesTo="ALL" file="TabUpperLeftSelect.gif"/>
<Image name="tab_upper_right" description="MenuBar: rounded upper-right corner" appliesTo="ALL" file="TabUpperRight.gif"/>
<Image name="tab_upper_right_select" description="MenuBar: rounded upper-right corner-selected" appliesTo="ALL" file="TabUpperRightSelect.gif"/>
<Image name="tab_right_vert" description="MenuBar: right side of vertical tab" appliesTo="ALL" file="TabRightVert.gif"/>
<Image name="tab_right_select_vert" description="MenuBar: right side of vertical tab-selected" appliesTo="ALL" file="TabRightSelectVert.gif"/>
<Image name="tab_upper_right_vert" description="MenuBar: upper-right corner of vertical tab" appliesTo="ALL" file="TabUpperRightVert.gif"/>
<Image name="tab_upper_right_select_vert" description="MenuBar: upper-right corner of vertical tab-selected" appliesTo="ALL" file="TabUpperRightSelectVert.gif"/>
<Image name="portlet_Close" description="portlet decoration: close" file="PortletClose.gif"/>
<Image name="portlet_Help"
description="portlet decoration: help" file="PortletHelp.gif"/>
<Image name="portlet_Maximize"
description="portlet decoration: maximize" file="PortletMaximize.gif" altTextKey="MaximizePortlet.alt.txt"/>
<Image name="portlet_Minimize"
description="portlet decoration: minimize" file="PortletMinimize.gif" altTextKey="MinimizePortlet.alt.txt"/>
<Image name="portlet_Note" description="portlet decoration: note" file="PortletNote.gif"/>
<Image name="portlet_Pipe"
description="portlet decoration: vertical pipe" file="PortletPipe.gif"/>
<Image name="portlet_Remove"
description="portlet decoration: remove" file="PortletRemove.gif" altTextKey="RemovePortlet.alt.txt"/>
<Image name="Banner_pipeTop" description="banner: a vertical pipe" file="PipeTop.gif"/>
<Image name="Banner_verticalLine"
description="banner: a vertical blue line" file="VerticalLineBlue.gif"/>
<Image name="Arrow_down"
description="Arrow: down, triangle" file="Down.gif" width="16" height="16"/>
<Image name="Arrow_up"
description="Arrow: up, triangle" file="Up.gif" width="16" height="16"/>
<Image name="Arrow_right"
description="Arrow: move right" file="MoveRight.gif" width="12" height="14"/>
<Image name="Arrow_left"
description="Arrow: move left" file="MoveLeft.gif" width="12" height="14"/>
<Image name="Remove" description="Remove: an x" file="Remove.gif" width="12" height="14"/>
<Image name="Sidebar_right"
description="Sidebar, curved blue" file="CommonSidebarLogon.gif" width="100" height="186"/>
<Image name="collapse_left" description="collapse_left" file="CollapseLeftArrows.gif" width="11" height="14"/>
<Image name="collapse_right" description="collapse_right" file="CollapseRightArrows.gif" width="11" height="14"/>
<Image name="input_required"
description="input_required" file="InputRequired.gif" width="12" height="12"/>
<Image name="Publish"
description="publish" file="Publish.gif" width="16" height="16" altTextKey="Publish.alt.txt"/>
<Image name="tbar_Bookmark" description="bookmark" file="TbarBookmark.gif" width="16" height="16" altTextKey="Bookmark.alt.txt"/>
<Image name="tbar_Email"
description="email" file="TbarEmail.gif" width="16" height="16" altTextKey="email.alt.txt"/>
<Image name="ResultsRowDownLast" description="Search Results Down Arrow" file="ResultsRowDownLast.gif" width="16" height="16"/>
<Image name="ResultsRowDownLastDis" description="Search Results Down Arrow Last" file="ResultsRowDownLastDis.gif" width="16" height="16"/>
<Image name="ResultsRowUp" description="Search Results Up Arrow Last" file="ResultsRowUp.gif" width="16" height="16"/>
<Image name="ResultsRowUpDis" description="Search Results Up Arrow Disabled" file="ResultsRowUpDis.gif" width="16" height="16"/>
<Image name="ResultsRowUpFirst" description="Search Results Up Arrow First" file="ResultsRowUpFirst.gif" width="16" height="16"/>
<Image name="ResultsRowUpFirstDis"
description="Search Results Up Arrow First Disabled" file="ResultsRowUpFirstDis.gif" width="16" height="16"/>
<Image name="ResultsRowDown"
description="Search Results Down Arrow" file="ResultsRowDown.gif" width="16" height="16"/>
<Image name="ResultsRowDownDis"
description="Search Results Down Arrow Disabled" file="ResultsRowDownDis.gif" width="16" height="16"/>
<Image name="logon_art_top"
description="Logon page art top" altTextKey="" appliesTo="ALL" file="LogonArtTop.gif"/>
<Image name="logon_art_tile"
description="Logon page art tile" altTextKey="" appliesTo="ALL" file="LogonArtTile.gif"/>
</Images> <Templates directory="templates"> <Template name="banner" description="Banner" markup="HTML" file="banner.html"/> <Template name="tab_menu" description="Default Template for Tab Menu" markup="HTML" file="TabMenu.html"/> <Template name="viewer_action_menu" description="Viewer Action Menu" markup="HTML" file="viewer_action_menu.html"/> <Template name="secondarymenu" description="Divider between banner and page content" markup="HTML" file="secondarymenu.html"/> <Template name="searchactions" description="Actions popup on search page" markup="HTML" file="searchactionsmenu.html"/> <Template name="utilmenu" description="Options Menu" markup="HTML" file="utilmenu.html"/> <Template name="helpmenu" description="Help Menu" markup="HTML" file="helpmenu.html"/> </Templates> </Theme> </Themes>