<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
Copyright 2004 The Apache Software Foundation | |
Licensed under the Apache License, Version 2.0 (the "License"); | |
you may not use this file except in compliance with the License. | |
You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | |
implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<schema targetNamespace="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:portlet="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" xml:lang="en"> | |
<annotation> | |
<documentation> | |
This is the XML Schema for the Portlet 1.0 deployment descriptor. | |
</documentation> | |
</annotation> | |
<annotation> | |
<documentation> | |
The following conventions apply to all J2EE | |
deployment descriptor elements unless indicated otherwise. | |
- In elements that specify a pathname to a file within the | |
same JAR file, relative filenames (i.e., those not | |
starting with "/") are considered relative to the root of | |
the JAR file's namespace. Absolute filenames (i.e., those | |
starting with "/") also specify names in the root of the | |
JAR file's namespace. In general, relative names are | |
preferred. The exception is .war files where absolute | |
names are preferred for consistency with the Servlet API. | |
</documentation> | |
</annotation> | |
<!-- *********************************************************** --> | |
<import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> | |
<element name="portlet-app" type="portlet:portlet-appType"> | |
<annotation> | |
<documentation> | |
The portlet-app element is the root of the deployment descriptor | |
for a portlet application. This element has a required attribute version | |
to specify to which version of the schema the deployment descriptor | |
conforms. | |
</documentation> | |
</annotation> | |
<unique name="portlet-name-uniqueness"> | |
<annotation> | |
<documentation> | |
The portlet element contains the name of a portlet. | |
This name must be unique within the portlet application. | |
</documentation> | |
</annotation> | |
<selector xpath="portlet:portlet"/> | |
<field xpath="portlet:portlet-name"/> | |
</unique> | |
<unique name="custom-portlet-mode-uniqueness"> | |
<annotation> | |
<documentation> | |
The custom-portlet-mode element contains the portlet-mode. | |
This portlet mode must be unique within the portlet application. | |
</documentation> | |
</annotation> | |
<selector xpath="portlet:custom-portlet-mode"/> | |
<field xpath="portlet:portlet-mode"/> | |
</unique> | |
<unique name="custom-window-state-uniqueness"> | |
<annotation> | |
<documentation> | |
The custom-window-state element contains the window-state. | |
This window state must be unique within the portlet application. | |
</documentation> | |
</annotation> | |
<selector xpath="portlet:custom-window-state"/> | |
<field xpath="portlet:window-state"/> | |
</unique> | |
<unique name="user-attribute-name-uniqueness"> | |
<annotation> | |
<documentation> | |
The user-attribute element contains the name the attribute. | |
This name must be unique within the portlet application. | |
</documentation> | |
</annotation> | |
<selector xpath="portlet:user-attribute"/> | |
<field xpath="portlet:name"/> | |
</unique> | |
</element> | |
<complexType name="portlet-appType"> | |
<sequence> | |
<element name="portlet" type="portlet:portletType" minOccurs="0" maxOccurs="unbounded"> | |
<unique name="init-param-name-uniqueness"> | |
<annotation> | |
<documentation> | |
The init-param element contains the name the attribute. | |
This name must be unique within the portlet. | |
</documentation> | |
</annotation> | |
<selector xpath="portlet:init-param"/> | |
<field xpath="portlet:name"/> | |
</unique> | |
<unique name="supports-mime-type-uniqueness"> | |
<annotation> | |
<documentation> | |
The supports element contains the supported mime-type. | |
This mime type must be unique within the portlet. | |
</documentation> | |
</annotation> | |
<selector xpath="portlet:supports"/> | |
<field xpath="mime-type"/> | |
</unique> | |
<unique name="preference-name-uniqueness"> | |
<annotation> | |
<documentation> | |
The preference element contains the name the preference. | |
This name must be unique within the portlet. | |
</documentation> | |
</annotation> | |
<selector xpath="portlet:portlet-preferences/portlet:preference"/> | |
<field xpath="portlet:name"/> | |
</unique> | |
<unique name="security-role-ref-name-uniqueness"> | |
<annotation> | |
<documentation> | |
The security-role-ref element contains the role-name. | |
This role name must be unique within the portlet. | |
</documentation> | |
</annotation> | |
<selector xpath="portlet:security-role-ref"/> | |
<field xpath="portlet:role-name"/> | |
</unique> | |
</element> | |
<element name="custom-portlet-mode" type="portlet:custom-portlet-modeType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="custom-window-state" type="portlet:custom-window-stateType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="user-attribute" type="portlet:user-attributeType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="security-constraint" type="portlet:security-constraintType" minOccurs="0" maxOccurs="unbounded"/> | |
</sequence> | |
<attribute name="version" type="string" use="required"/> | |
<attribute name="id" type="string" use="optional"/> | |
</complexType> | |
<complexType name="custom-portlet-modeType"> | |
<annotation> | |
<documentation> | |
A custom portlet mode that one or more portlets in | |
this portlet application supports. | |
Used in: portlet-app | |
</documentation> | |
</annotation> | |
<sequence> | |
<element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="portlet-mode" type="portlet:portlet-modeType"/> | |
</sequence> | |
<attribute name="id" type="string" use="optional"/> | |
</complexType> | |
<complexType name="custom-window-stateType"> | |
<annotation> | |
<documentation> | |
A custom window state that one or more portlets in this | |
portlet application supports. | |
Used in: portlet-app | |
</documentation> | |
</annotation> | |
<sequence> | |
<element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="window-state" type="portlet:window-stateType"/> | |
</sequence> | |
<attribute name="id" type="string" use="optional"/> | |
</complexType> | |
<complexType name="expiration-cacheType"> | |
<annotation> | |
<documentation> | |
Expriation-cache defines expiration-based caching for this | |
portlet. The parameter indicates | |
the time in seconds after which the portlet output expires. | |
-1 indicates that the output never expires. | |
Used in: portlet | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="int"/> | |
</simpleContent> | |
</complexType> | |
<complexType name="init-paramType"> | |
<annotation> | |
<documentation> | |
The init-param element contains a name/value pair as an | |
initialization param of the portlet | |
Used in:portlet | |
</documentation> | |
</annotation> | |
<sequence> | |
<element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="name" type="portlet:nameType"/> | |
<element name="value" type="portlet:valueType"/> | |
</sequence> | |
<attribute name="id" type="string" use="optional"/> | |
</complexType> | |
<complexType name="keywordsType"> | |
<annotation> | |
<documentation> | |
Locale specific keywords associated with this portlet. | |
The kewords are separated by commas. | |
Used in: portlet-info | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="string"/> | |
</simpleContent> | |
</complexType> | |
<complexType name="mime-typeType"> | |
<annotation> | |
<documentation> | |
MIME type name, e.g. "text/html". | |
The MIME type may also contain the wildcard | |
character '*', like "text/*" or "*/*". | |
Used in: supports | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="string"/> | |
</simpleContent> | |
</complexType> | |
<complexType name="nameType"> | |
<annotation> | |
<documentation> | |
The name element contains the name of a parameter. | |
Used in: init-param, ... | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="string"/> | |
</simpleContent> | |
</complexType> | |
<complexType name="portletType"> | |
<annotation> | |
<documentation> | |
The portlet element contains the declarative data of a portlet. | |
Used in: portlet-app | |
</documentation> | |
</annotation> | |
<sequence> | |
<element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="portlet-name" type="portlet:portlet-nameType"/> | |
<element name="display-name" type="portlet:display-nameType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="portlet-class" type="portlet:portlet-classType"/> | |
<element name="init-param" type="portlet:init-paramType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="expiration-cache" type="portlet:expiration-cacheType" minOccurs="0"/> | |
<element name="supports" type="portlet:supportsType" maxOccurs="unbounded"/> | |
<element name="supported-locale" type="portlet:supported-localeType" minOccurs="0" maxOccurs="unbounded"/> | |
<choice> | |
<sequence> | |
<element name="resource-bundle" type="portlet:resource-bundleType"/> | |
<element name="portlet-info" type="portlet:portlet-infoType" minOccurs="0"/> | |
</sequence> | |
<element name="portlet-info" type="portlet:portlet-infoType"/> | |
</choice> | |
<element name="portlet-preferences" type="portlet:portlet-preferencesType" minOccurs="0"/> | |
<element name="security-role-ref" type="portlet:security-role-refType" minOccurs="0" maxOccurs="unbounded"/> | |
</sequence> | |
<attribute name="id" type="string" use="optional"/> | |
</complexType> | |
<simpleType name="portlet-classType"> | |
<annotation> | |
<documentation> | |
The portlet-class element contains the fully | |
qualified class name of the portlet. | |
Used in: portlet | |
</documentation> | |
</annotation> | |
<restriction base="portlet:fully-qualified-classType"/> | |
</simpleType> | |
<complexType name="portlet-collectionType"> | |
<annotation> | |
<documentation> | |
The portlet-collectionType is used to identify a subset | |
of portlets within a portlet application to which a | |
security constraint applies. | |
Used in: security-constraint | |
</documentation> | |
</annotation> | |
<sequence> | |
<element name="portlet-name" type="portlet:portlet-nameType" maxOccurs="unbounded"/> | |
</sequence> | |
</complexType> | |
<complexType name="portlet-infoType"> | |
<sequence> | |
<element name="title" type="portlet:titleType"/> | |
<element name="short-title" type="portlet:short-titleType" minOccurs="0"/> | |
<element name="keywords" type="portlet:keywordsType" minOccurs="0"/> | |
</sequence> | |
<attribute name="id" type="string" use="optional"/> | |
</complexType> | |
<complexType name="portlet-modeType"> | |
<annotation> | |
<documentation> | |
Portlet modes. The specification pre-defines the following values | |
as valid portlet mode constants: | |
"edit", "help", "view". | |
Portlet mode names are not case sensitive. | |
Used in: custom-portlet-mode, supports | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="string"/> | |
</simpleContent> | |
</complexType> | |
<complexType name="portlet-nameType"> | |
<annotation> | |
<documentation> | |
The portlet-name element contains the canonical name of the | |
portlet. Each portlet name is unique within the portlet | |
application. | |
Used in: portlet, portlet-mapping | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="string"/> | |
</simpleContent> | |
</complexType> | |
<complexType name="portlet-preferencesType"> | |
<annotation> | |
<documentation> | |
Portlet persistent preference store. | |
Used in: portlet | |
</documentation> | |
</annotation> | |
<sequence> | |
<element name="preference" type="portlet:preferenceType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="preferences-validator" type="portlet:preferences-validatorType" minOccurs="0"/> | |
</sequence> | |
<attribute name="id" type="string" use="optional"/> | |
</complexType> | |
<complexType name="preferenceType"> | |
<annotation> | |
<documentation> | |
Persistent preference values that may be used for customization | |
and personalization by the portlet. | |
Used in: portlet-preferences | |
</documentation> | |
</annotation> | |
<sequence> | |
<element name="name" type="portlet:nameType"/> | |
<element name="value" type="portlet:valueType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="read-only" type="portlet:read-onlyType" minOccurs="0"/> | |
</sequence> | |
<attribute name="id" type="string" use="optional"/> | |
</complexType> | |
<simpleType name="preferences-validatorType"> | |
<annotation> | |
<documentation> | |
The class specified under preferences-validator implements | |
the PreferencesValidator interface to validate the | |
preferences settings. | |
Used in: portlet-preferences | |
</documentation> | |
</annotation> | |
<restriction base="portlet:fully-qualified-classType"/> | |
</simpleType> | |
<simpleType name="read-onlyType"> | |
<annotation> | |
<documentation> | |
read-only indicates that a setting cannot | |
be changed in any of the standard portlet modes | |
("view","edit" or "help"). | |
Per default all preferences are modifiable. | |
Valid values are: | |
- true for read-only | |
- false for modifiable | |
Used in: preferences | |
</documentation> | |
</annotation> | |
<restriction base="portlet:string"> | |
<enumeration value="true"/> | |
<enumeration value="false"/> | |
</restriction> | |
</simpleType> | |
<complexType name="resource-bundleType"> | |
<annotation> | |
<documentation> | |
Filename of the resource bundle containing the language specific | |
portlet informations in different languages. | |
Used in: portlet-info | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="string"/> | |
</simpleContent> | |
</complexType> | |
<complexType name="role-linkType"> | |
<annotation> | |
<documentation> | |
The role-link element is a reference to a defined security role. | |
The role-link element must contain the name of one of the | |
security roles defined in the security-role elements. | |
Used in: security-role-ref | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="string"/> | |
</simpleContent> | |
</complexType> | |
<complexType name="security-constraintType"> | |
<annotation> | |
<documentation> | |
The security-constraintType is used to associate | |
intended security constraints with one or more portlets. | |
Used in: portlet-app | |
</documentation> | |
</annotation> | |
<sequence> | |
<element name="display-name" type="portlet:display-nameType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="portlet-collection" type="portlet:portlet-collectionType"/> | |
<element name="user-data-constraint" type="portlet:user-data-constraintType"/> | |
</sequence> | |
<attribute name="id" type="string" use="optional"/> | |
</complexType> | |
<complexType name="security-role-refType"> | |
<annotation> | |
<documentation> | |
The security-role-ref element contains the declaration of a | |
security role reference in the code of the web application. The | |
declaration consists of an optional description, the security | |
role name used in the code, and an optional link to a security | |
role. If the security role is not specified, the Deployer must | |
choose an appropriate security role. | |
The value of the role name element must be the String used | |
as the parameter to the | |
EJBContext.isCallerInRole(String roleName) method | |
or the HttpServletRequest.isUserInRole(String role) method. | |
Used in: portlet | |
</documentation> | |
</annotation> | |
<sequence> | |
<element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="role-name" type="portlet:role-nameType"/> | |
<element name="role-link" type="portlet:role-linkType" minOccurs="0"/> | |
</sequence> | |
<attribute name="id" type="string" use="optional"/> | |
</complexType> | |
<complexType name="short-titleType"> | |
<annotation> | |
<documentation> | |
Locale specific short version of the static title. | |
Used in: portlet-info | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="string"/> | |
</simpleContent> | |
</complexType> | |
<complexType name="supportsType"> | |
<annotation> | |
<documentation> | |
Supports indicates the portlet modes a | |
portlet supports for a specific content type. All portlets must | |
support the view mode. | |
Used in: portlet | |
</documentation> | |
</annotation> | |
<sequence> | |
<element name="mime-type" type="portlet:mime-typeType"/> | |
<element name="portlet-mode" type="portlet:portlet-modeType" minOccurs="0" maxOccurs="unbounded"/> | |
</sequence> | |
<attribute name="id" type="string" use="optional"/> | |
</complexType> | |
<complexType name="supported-localeType"> | |
<annotation> | |
<documentation> | |
Indicated the locales the portlet supports. | |
Used in: portlet | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="string"/> | |
</simpleContent> | |
</complexType> | |
<complexType name="titleType"> | |
<annotation> | |
<documentation> | |
Locale specific static title for this portlet. | |
Used in: portlet-info | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="string"/> | |
</simpleContent> | |
</complexType> | |
<simpleType name="transport-guaranteeType"> | |
<annotation> | |
<documentation> | |
The transport-guaranteeType specifies that | |
the communication between client and portlet should | |
be NONE, INTEGRAL, or CONFIDENTIAL. | |
NONE means that the portlet does not | |
require any transport guarantees. A value of | |
INTEGRAL means that the portlet requires that the | |
data sent between the client and portlet be sent in | |
such a way that it can't be changed in transit. | |
CONFIDENTIAL means that the portlet requires | |
that the data be transmitted in a fashion that | |
prevents other entities from observing the contents | |
of the transmission. | |
In most cases, the presence of the INTEGRAL or | |
CONFIDENTIAL flag will indicate that the use | |
of SSL is required. | |
Used in: user-data-constraint | |
</documentation> | |
</annotation> | |
<restriction base="portlet:string"> | |
<enumeration value="NONE"/> | |
<enumeration value="INTEGRAL"/> | |
<enumeration value="CONFIDENTIAL"/> | |
</restriction> | |
</simpleType> | |
<complexType name="user-attributeType"> | |
<annotation> | |
<documentation> | |
User attribute defines a user specific attribute that the | |
portlet application needs. The portlet within this application | |
can access this attribute via the request parameter USER_INFO | |
map. | |
Used in: portlet-app | |
</documentation> | |
</annotation> | |
<sequence> | |
<element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="name" type="portlet:nameType"/> | |
</sequence> | |
<attribute name="id" type="string" use="optional"/> | |
</complexType> | |
<complexType name="user-data-constraintType"> | |
<annotation> | |
<documentation> | |
The user-data-constraintType is used to indicate how | |
data communicated between the client and portlet should be | |
protected. | |
Used in: security-constraint | |
</documentation> | |
</annotation> | |
<sequence> | |
<element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/> | |
<element name="transport-guarantee" type="portlet:transport-guaranteeType"/> | |
</sequence> | |
<attribute name="id" type="string" use="optional"/> | |
</complexType> | |
<complexType name="valueType"> | |
<annotation> | |
<documentation> | |
The value element contains the value of a parameter. | |
Used in: init-param | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="string"/> | |
</simpleContent> | |
</complexType> | |
<complexType name="window-stateType"> | |
<annotation> | |
<documentation> | |
Portlet window state. Window state names are not case sensitive. | |
Used in: custom-window-state | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="string"/> | |
</simpleContent> | |
</complexType> | |
<!--- everything below is copied from j2ee_1_4.xsd --> | |
<complexType name="descriptionType"> | |
<annotation> | |
<documentation> | |
The description element is used to provide text describing the | |
parent element. The description element should include any | |
information that the portlet application war file producer wants | |
to provide to the consumer of the portlet application war file | |
(i.e., to the Deployer). Typically, the tools used by the | |
portlet application war file consumer will display the | |
description when processing the parent element that contains the | |
description. It has an optional attribute xml:lang to indicate | |
which language is used in the description according to | |
RFC 1766 (http://www.ietf.org/rfc/rfc1766.txt). The default | |
value of this attribute is English(“en”). | |
Used in: init-param, portlet, portlet-app, security-role | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="string"> | |
<attribute ref="xml:lang"/> | |
</extension> | |
</simpleContent> | |
</complexType> | |
<complexType name="display-nameType"> | |
<annotation> | |
<documentation> | |
The display-name type contains a short name that is intended | |
to be displayed by tools. It is used by display-name | |
elements. The display name need not be unique. | |
Example: | |
... | |
<display-name xml:lang="en">Employee Self Service</display-name> | |
It has an optional attribute xml:lang to indicate | |
which language is used in the description according to | |
RFC 1766 (http://www.ietf.org/rfc/rfc1766.txt). The default | |
value of this attribute is English(“en”). | |
</documentation> | |
</annotation> | |
<simpleContent> | |
<extension base="portlet:string"> | |
<attribute ref="xml:lang"/> | |
</extension> | |
</simpleContent> | |
</complexType> | |
<simpleType name="fully-qualified-classType"> | |
<annotation> | |
<documentation> | |
The elements that use this type designate the name of a | |
Java class or interface. | |
</documentation> | |
</annotation> | |
<restriction base="portlet:string"/> | |
</simpleType> | |
<simpleType name="role-nameType"> | |
<annotation> | |
<documentation> | |
The role-nameType designates the name of a security role. | |
The name must conform to the lexical rules for an NMTOKEN. | |
</documentation> | |
</annotation> | |
<restriction base="NMTOKEN"/> | |
</simpleType> | |
<simpleType name="string"> | |
<annotation> | |
<documentation> | |
This is a special string datatype that is defined by J2EE | |
as a base type for defining collapsed strings. When | |
schemas require trailing/leading space elimination as | |
well as collapsing the existing whitespace, this base | |
type may be used. | |
</documentation> | |
</annotation> | |
<restriction base="string"> | |
<whiteSpace value="collapse"/> | |
</restriction> | |
</simpleType> | |
</schema> |