Prev |  | Next

## 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)>

Prev |  | Front page | Next