Appendix B. portlet-instances.xml DTD
<?xml version="1.0" encoding="UTF-8" ?>
<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ JBoss, a division of Red Hat ~
~ Copyright 2006, Red Hat Middleware, LLC, and individual ~
~ contributors as indicated by the @authors tag. See the ~
~ copyright.txt in the distribution for a full listing of ~
~ individual contributors. ~
~ ~
~ This is free software; you can redistribute it and/or modify it ~
~ under the terms of the GNU Lesser General Public License as ~
~ published by the Free Software Foundation; either version 2.1 of ~
~ the License, or (at your option) any later version. ~
~ ~
~ This software is distributed in the hope that it will be useful, ~
~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ~
~ Lesser General Public License for more details. ~
~ ~
~ You should have received a copy of the GNU Lesser General Public ~
~ License along with this software; if not, write to the Free ~
~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ~
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org. ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
<!--
<!DOCTYPE deployments PUBLIC
"-//JBoss Portal//DTD Portlet Instances 2.6//EN"
"http://www.jboss.org/portal/dtd/portlet-instances_2_6.dtd">
-->
<!--
The deployements element is a container for deployment elements.
-->
<!ELEMENT deployments (deployment*)>
<!--
The deployment is a container for an instance element.
-->
<!ELEMENT deployment (if-exists?,instance)>
<!--
The if-exists element is used to define action to take if instance with such name is
already present. Possible values are overwrite or keep . Overwrite will destroy the
existing object in the database and create a new one, based on the content of the
deployment. Keep will maintain the existing object deployment or create a new one if
it does not yet exist.
-->
<!ELEMENT if-exists (#PCDATA)>
<!--
The instance element is used to create an instance of a portlet from the portlet
application of the same war file containing the portlet-instances.xml file. The portlet
will be created and configured only if the portlet is present and an instance with
such a name does not already exist.
Example :
<instance>
<instance-id>MyPortletInstance</instance-id>
<portlet-ref>MyPortlet</portlet-ref>
<preferences>
<preference>
<name>abc</name>
<value>def</value>
</preference>
</preferences>
<security-constraint>
<policy-permission>
<role-name>User</role-name>
<action-name>view</action-name>
</policy-permission>
</security-constraint>
</instance>
-->
<!ELEMENT instance (instance-id,portlet-ref,display-name*,preferences?,
security-constraint?, (display-name* | (resource-bundle, supported-locale+)))>
<!ELEMENT display-name (#PCDATA)>
<!ATTLIST display-name
xml:lang NMTOKEN #IMPLIED
>
<!ELEMENT resource-bundle (#PCDATA)>
<!ELEMENT supported-locale (#PCDATA)>
<!--
The identifier of the instance.
-->
<!ELEMENT instance-id (#PCDATA)>
<!--
The reference to the portlet which is its portlet name.
-->
<!ELEMENT portlet-ref (#PCDATA)>
<!--
Display name is the string used to represent this instance
-->
<!ELEMENT display-name (#PCDATA)>
<!ATTLIST display-name
xml:lang NMTOKEN #IMPLIED
>
<!--
The preferences element configures the instance with a specific set of preferences.
-->
<!ELEMENT preferences (preference+)>
<!--
The preference configure one preference of a set of preferences.
-->
<!ELEMENT preference (name,value)>
<!--
A name.
-->
<!ELEMENT name (#PCDATA)>
<!--
A string value.
-->
<!ELEMENT value (#PCDATA)>
<!--
The security-constraint element is a container for policy-permission elements
Examples:
<security-constraint>
<policy-permission>
<role-name>User</role-name>
<action-name>view</action-name>
</policy-permission>
</security-constraint>
<security-constraint>
<policy-permission>
<unchecked/>
<action-name>view</action-name>
</policy-permission>
</security-constraint>
-->
<!ELEMENT security-constraint (policy-permission*)>
<!--
The policy-permission element is used to secure a specific portlet instance based on a
user's role.
-->
<!ELEMENT policy-permission (action-name*,unchecked?,role-name*)>
<!--
The action-name element is used to define the access rights given to the role defined.
Possible values are:
* view - Users can view the page.
* viewrecursive - Users can view the page and child pages.
* personalize - Users are able to view AND personalize the page.
* personalizerecursive - Users are able to view AND personalize the page AND its child
pages.
-->
<!ELEMENT action-name (#PCDATA)>
<!--
The unchecked element is used to define (if present) that anyone can view this instance
-->
<!ELEMENT unchecked EMPTY>
<!--
The role-name element is used to define a role that this security constraint will apply to
* <role-name>SOMEROLE</role-name> Access to this instance is limited to the defined role.
-->
<!ELEMENT role-name (#PCDATA)>