liferay-look-and-feel_7_0_0.dtd: Elements - Entities - Source | Intro - Index
FRAMES / NO FRAMES

<!--
<!DOCTYPE look-and-feel PUBLIC
    "-//Liferay//DTD Look and Feel 7.0.0//EN"
    "http://www.liferay.com/dtd/liferay-look-and-feel_7_0_0.dtd">
-->

<!--
The look-and-feel element is the root of the deployment descriptor for
a Liferay look and feel archive. The look and feel archive will hereafter
be referred to as a LAF archive.
-->
<!ELEMENT look-and-feel (compatibility, company-limit?, group-limit?, theme*)>

<!--
The compatibility element specifies a list of Liferay Portal versions that will
properly deploy the themes in this LAF archive.
-->
<!ELEMENT compatibility (version+)>

<!--
The version element specifies a specific Liferay Portal version number. For
example, if its value is "3.5.0", that means the themes in this LAF archive will
deploy correctly in Liferay Portal 3.5.0. The portal will not deploy themes from
a LAF archive unless the version numbers match.
-->
<!ELEMENT version (#PCDATA)>

<!--
The company-limit element specifies a list of company ids that can access the
themes in this LAF archive. If company-limit is not set, then every company in
the portal has access to all of the themes in this LAF archive. If company-limit
is set, then the company ids will be included or excluded based on the
company-includes and company-excludes elements. If there is a disagreement
between company-includes and company-excludes, company-excludes takes
precedence.
-->
<!ELEMENT company-limit (company-includes?, company-excludes?)>

<!--
The company-includes element specifies a list of company ids that will have
access to the themes in this LAF archive.
-->
<!ELEMENT company-includes (company-id*)>

<!--
The company-excludes element specifies a list of company ids that will not have
access to the themes in this LAF archive.
-->
<!ELEMENT company-excludes (company-id*)>

<!--
The company-id element must have either the name or pattern attributes
specified. If the name attribute is specified, then the exact company id is
either included or excluded, depending on whether the company-id element is
inside the company-includes element or company-excludes element. If the pattern
attribute is specified, then a regular expression match is applied to the
pattern which will determine whether a company id is included or excluded.
-->
<!ELEMENT company-id (#PCDATA)>

<!--
See the comments in the company-id element.
-->
<!ATTLIST company-id
    name CDATA #IMPLIED
    pattern CDATA #IMPLIED
>

<!--
The group-limit element specifies a list of group ids that can access the themes
in this LAF archive. If group-limit is not set, then every group in the portal
has access to all of the themes in this LAF archive. If group-limit is set, then
the group ids will be included or excluded based on the group-includes and
group-excludes elements. If there is a disagreement between group-includes and
group-excludes, group-excludes takes precedence.
-->
<!ELEMENT group-limit (group-includes?, group-excludes?)>

<!--
The group-includes element specifies a list of group ids that will have access
to the themes in this LAF archive.
-->
<!ELEMENT group-includes (group-id*)>

<!--
The group-excludes element specifies a list of group ids that will not have
access to the themes in this LAF archive.
-->
<!ELEMENT group-excludes (group-id*)>

<!--
The group-id element must have either the name or pattern attributes specified.
If the name attribute is specified, then the exact group id is either included
or excluded, depending on whether the group-id element is inside the
group-includes element or group-excludes element. If the pattern attribute is
specified, then a regular expression match is applied to the pattern which will
determine whether a group id is included or excluded.
-->
<!ELEMENT group-id (#PCDATA)>

<!--
See the comments in the group-id element.
-->
<!ATTLIST group-id
    name CDATA #IMPLIED
    pattern CDATA #IMPLIED
>

<!--
The theme element contains the declarative data of a theme.
-->
<!ELEMENT theme (root-path?, templates-path?, css-path?, images-path?,
javascript-path?, virtual-path?, template-extension?, settings?,
control-panel-theme?, page-theme?, roles?, color-scheme*, layout-templates?,
portlet-decorator*)>

<!--
The id attribute specifies the unique key for a theme. For convenience, the id
attribute can be referenced in the rest of the theme element as ${theme-id}.

The name attribute specifies the friendly name of a theme that is displayed to
the user.
-->
<!ATTLIST theme
    id CDATA #REQUIRED
    name CDATA #REQUIRED
>

<!--
The root-path value sets the location of the root path for the theme. For
example, the root path for the Classic theme is "/classic". This
means you can find the files for the Classic theme in
/modules/frontend/frontend-theme-classic/src/META-INF/resources/classic.

For convenience, the root-path attribute can be referenced in the rest of the
theme element as ${root-path}.

The default value is "/".
-->
<!ELEMENT root-path (#PCDATA)>

<!--
The templates-path value sets the location of the templates path for the theme.
For example, the templates path for the Classic theme is "/classic/templates".
This means you can find the JSP or VM templates for the Classic theme in
/modules/frontend/frontend-theme-classic/src/META-INF/resources/classic/templates.

For convenience, the templates-path attribute can be referenced in the rest of
the theme element as ${templates-path}.

The default value is "${root-path}/templates".
-->
<!ELEMENT templates-path (#PCDATA)>

<!--
The css-path value sets the location of the css path for the theme. For example,
the css path for the Classic theme is "/classic/css". This means you can find
css for the Classic theme in
/modules/frontend/frontend-theme-classic/src/META-INF/resources/classic/css.

For convenience, the css-path attribute can be referenced in the rest of the
theme element as ${css-path}.

The default value is "${root-path}/css".
-->
<!ELEMENT css-path (#PCDATA)>

<!--
The images-path value sets the location of the images path for the theme. For
example, the images path for the Classic theme is "/classic/images". This means
you can find images for the Classic theme in
/modules/frontend/frontend-theme-classic/src/META-INF/resources/classic/images.

For convenience, the images-path attribute can be referenced in the rest of the
theme element as ${images-path}.

The default value is "${root-path}/images".
-->
<!ELEMENT images-path (#PCDATA)>

<!--
The javascript-path value sets the location of the JavaScript path for the
theme. For example, the JavaScript path for the Classic theme is "/classic/js".
This means you can find JavaScript for the Classic theme in
/modules/frontend/frontend-theme-classic/src/META-INF/resources/classic/js.

For convenience, the javascript-path attribute can be referenced in the rest of
the theme element as ${javascript-path}.

The default value is "${root-path}/js".
-->
<!ELEMENT javascript-path (#PCDATA)>

<!--
The virtual-path value sets the virtual path used to fetch the CSS, images, and
JavaScript files. By default, the portal returns the theme's servlet path. This
setting allows you to override it.

For example, suppose your theme is deployed to the servlet path "/test-theme"
and your theme image-path is "/xyz/images". By default, the portal will return
"/test-theme/xyz/images" for the path of the theme's images. You can override it
by setting virtual-path to "/virtual" and have the portal return
"/virtual/xyz/images". This is useful when you want all static files to be
served by Apache for better performance.

The default value is "" which means this is not used.
-->
<!ELEMENT virtual-path (#PCDATA)>

<!--
The templates-extension value sets the file extension of the files located in
the templates directory. If you specify the value "jsp", then the portal will
look for files such as portal_normal.jsp in the templates directory. If you
specify the value "ftl", then the portal will look for files such as
portal_normal.ftl in the templates directory. Specifying "ftl" means you can use
FreeMarker to create your theme. New extensions will be supported in the future
to allow for even more flexibility in the creation of themes. Support for
Velocity is deprecated and will not be available in future releases of the
portal.

The default value is "ftl".
-->
<!ELEMENT template-extension (#PCDATA)>

<!--
The settings element contain a list of settings that are available to the
theme display object at runtime. They are described with a key value pair.

For example, you can access it with the command:
themeDisplay.getThemeSetting("hello").

Set the configurable attribute to true if the setting is configurable from the
user interface at runtime. This allows administrators to change the settings for
a page or a set of pages.

Set the type attribute to designate whether the HTML input for the setting is a
checkbox, select, text, or textarea.

Set the options attribute with a comma delimited list to specify the options for
the HTML input.

Set the value attribute to specify the default value.

Include a CDATA section containing JavaScript to alter the behavior of the
field, to bind advanced controls such as a color picker, or to perform
validation. Use the token [@NAMESPACE@] in conjunction with the key of the
setting in order to identify the field from JavaScript.

For example, you can access the html field of the setting with:
AUI().one('#[@NAMESPACE@]hello')
-->
<!ELEMENT settings (setting*)>

<!--
See the comments in the settings element.
-->
<!ELEMENT setting (#PCDATA)>

<!--
See the comments in the settings element.
-->
<!ATTLIST setting
    key CDATA #REQUIRED
    value CDATA #IMPLIED
    configurable CDATA #IMPLIED
    type CDATA #IMPLIED
    options CDATA #IMPLIED
>

<!--
Set the control-panel-theme value to true if the theme is designed for the
Control Panel. The default value is false.
-->
<!ELEMENT control-panel-theme (#PCDATA)>

<!--
Set the page-theme value to true if the theme is designed for regular pages. The
default value is true.
-->
<!ELEMENT page-theme (#PCDATA)>

<!--
The roles element contains a list of role names. Users which have any of these
roles will be able to use this theme for their layouts and layout sets. Anyone
can use this theme if no role names are set.
-->
<!ELEMENT roles (role-name)>

<!--
The role-name designates the name of a security role.
-->
<!ELEMENT role-name (#PCDATA)>

<!--
A theme can have many color schemes. It works very similar to Windows. The
Windows XP theme has one set of color schemes, and the Windows Classic theme
has another set of color schemes. Each color scheme references a css class name
and defines an image path for the location of the color scheme's images.
-->
<!ELEMENT color-scheme (default-cs?, css-class, color-scheme-images-path?)>

<!--
The id attribute specifies the key for a color scheme that is unique for its
parent theme. For convenience, the id attribute can be referenced in the rest of
the color-scheme element as ${color-scheme-id}.

The name attribute specifies the friendly name of a color scheme
that is displayed to the user.
-->
<!ATTLIST color-scheme
    id CDATA #REQUIRED
    name CDATA #REQUIRED
>

<!--
Set the default-cs value to true if this is the default color scheme. The
default value is false.
-->
<!ELEMENT default-cs (#PCDATA)>

<!--
The css-class value is a css class name that represents the color scheme.

For convenience, the css-class attribute can be referenced in the rest of the
color-scheme element as ${css-class}.
-->
<!ELEMENT css-class (#PCDATA)>

<!--
The color-scheme-images-path value sets the location of the images path for the
color scheme.

For convenience, the color-scheme-images-path attribute can be referenced in the
rest of the theme element as ${color-scheme-images-path}.

The default value is "${root-path}/images/color_schemes/${css-class}".
-->
<!ELEMENT color-scheme-images-path (#PCDATA)>

<!--
See liferay-layout-templates_7_0_0.dtd.
-->
<!ELEMENT layout-templates (standard?, custom?)>

<!--
See liferay-layout-templates_7_0_0.dtd.
-->
<!ELEMENT standard (layout-template*)>

<!--
See liferay-layout-templates_7_0_0.dtd.
-->
<!ELEMENT layout-template (template-path, thumbnail-path?)>

<!--
See liferay-layout-templates_7_0_0.dtd.
-->
<!ATTLIST layout-template
    id CDATA #REQUIRED
    name CDATA #IMPLIED
>

<!--
See liferay-layout-templates_7_0_0.dtd.
-->
<!ELEMENT template-path (#PCDATA)>

<!--
See liferay-layout-templates_7_0_0.dtd.
-->
<!ELEMENT thumbnail-path (#PCDATA)>

<!--
See liferay-layout-templates_7_0_0.dtd.
-->
<!ELEMENT custom (layout-template*)>

<!--
A theme can have many portlet decorators. A portlet decorator defines the style
of the portlet borders.
-->
<!ELEMENT portlet-decorator (default-portlet-decorator?,
    portlet-decorator-css-class,
    portlet-decorator-thumbnail-path?)>

<!--
The id attribute specifies the key for a portlet decorator that is unique for
its parent theme. For convenience, the id attribute can be referenced in the
rest of the portlet decorator element as ${portlet-decorator-id}.

The name attribute specifies the friendly name of a portlet decorator that is
displayed to the user.
-->
<!ATTLIST portlet-decorator
    id CDATA #REQUIRED
    name CDATA #REQUIRED
>

<!--
Set the default-portlet-decorator value to true if this is the default portlet
decorator. The default value is false.
-->
<!ELEMENT default-portlet-decorator (#PCDATA)>

<!--
The portlet-decorator-css-class value is a css class name that represents the
portlet-decorator.

For convenience, the portlet-decorator-css-class attribute can be referenced in
the rest of the portlet-decorator-css-class element as
${portlet-decorator-css-class}.
-->
<!ELEMENT portlet-decorator-css-class (#PCDATA)>

<!--
The portlet-decorator-thumbnail-path value sets the location of the thumbnail
path for the portlet-decorator.

The default value is
"${root-path}/images/portlet_decorators/${portlet-decorator-css-class}".
-->
<!ELEMENT portlet-decorator-thumbnail-path (#PCDATA)>