Appendix C. jboss-portlet.xml DTD
Prev |  |

## Appendix C. jboss-portlet.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.                  ~
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->

    <!-- The additional configuration elements of the JBoss portlet container.

    <!DOCTYPE portlet-app PUBLIC
       "-//JBoss Portal//DTD JBoss Portlet 2.6//EN"
       "http://www.jboss.org/portal/dtd/jboss-portlet_2_6.dtd">
    -->

    <!--
    The remotable element is used to configure the default behavior of the portlets with
    respect to WSRP exposure.

    For each portlet defined in portlet.xml, it is possible to configure specific
    settings of the portlet container.

    It is also possible to inject services in the portlet context of the application
    using the service elements.
    -->
    <!ELEMENT portlet-app (remotable?,portlet*,service*)>

    <!--
    Additional configuration for a portlet.

    The portlet-name defines the name of the portlet. It must match a portlet defined already
    in portlet.xml of the same web application.

    The remotable element configures the portlet exposure to WSRP. If no value is present
    then the value considered is either the value defined globally at the portlet
    application level or false.

    The trans-attribute value specifies the behavior of the portlet when it is invoked at
    runtime with respect to the transactionnal context. According to how the portlet is
    invoked a transaction may exist or not before the portlet is invoked. Usually in the
    local context the portal transaction could be present. By default the value considered is
     NotSupported which means that the portal transaction will be suspended for the duration
     of the portlet invocation.

    Example:

    <portlet>
       <portlet-name>MyPortlet</portlet-name>
       <remotable>true</remotable>
       <trans-attribute>Required</trans-attribute>
    </portlet>

    -->
    <!ELEMENT portlet (portlet-name,remotable?,ajax?,session-config?,transaction?,
              header-content?,portlet-info?)>

    <!--
    The portlet name.
    -->
    <!ELEMENT portlet-name (#PCDATA)>

    <!--
    The remotable value is used for WSRP exposure. The accepted values are the
    litterals true of false.
    -->
    <!ELEMENT remotable (#PCDATA)>

    <!--
    The ajax tag allows to configure the ajax capabilities of the portlet. If
    the portlet is tagged as partial-refresh then the portal may use partial page
    refreshing and render only that portlet. If the portlet partial-refresh value
    is false, then the portal will perform a full page refresh when the portlet is refreshed.
    -->
    <!ELEMENT ajax (partial-refresh)>

    <!--
    The authorized values for the partial-refresh element are true or false.
    -->
    <!ELEMENT partial-refresh (#PCDATA)>

    <!--
    Additional portlet information
    -->
    <!ELEMENT portlet-info (icon?)>

    <!--
    Defines icons for the portlet, they can be used by the administration portlet
    to represent a particular portlet.
    -->
    <!ELEMENT icon (small-icon?, large-icon?)>

    <!--
    A small icon image, usually 16x16, gif, jpg and png are usually supported.
    An absolute URL or a URL starting with a '/' in the context of the webapp are accepted:
    eg. http://www.example.com/images/smallIcon.png
    eg. /images/smallIcon.png
    -->
    <!ELEMENT small-icon (#PCDATA)>

    <!--
    A large icon image, usually 32x32, gif, jpg and png are usually supported.
    An absolute URL or a URL starting with a '/' in the context of the webapp are accepted:
    eg. http://www.example.com/images/smallIcon.png
    eg. /images/smallIcon.png
    -->
    <!ELEMENT large-icon (#PCDATA)>

    <!--
    This element configure the portlet session of the portlet.

    The distributed element instructs the container to distribute the session attributes
    using the portal session replication. It applies only to local portlets are not to
    remote portlets. The default value is false.

    Example:

    <session-config>
       <distributed>true</distributed>
    </session-config>

    -->
    <!ELEMENT session-config (distributed)>

    <!--
    The authorized values for the distributed element are true or false.
    -->
    <!ELEMENT distributed (#PCDATA)>

    <!--
    Defines how the portlet behaves with the transactionnal context. The default value
    is Never.

    Example:

    <transaction>
       <trans-attribute>Required</transaction>
    <transaction>
    -->
    <!ELEMENT transaction (trans-attribute)>

    <!--
    The trans-attribute value defines the transactionnal behavior. The accepted values
    are Required, Mandatory, Never, Supports, NotSupported and RequiresNew.
    -->
    <!ELEMENT trans-attribute (#PCDATA)>

    <!--
    Specify content which should be included in the portal aggregated page when the portlet
    is present on that page. This setting only applies when the portlet is used in the local mode.
    -->
    <!ELEMENT header-content (link|script|meta)*>

    <!--
    Creates a header markup element for linked resources,
    see http://www.w3.org/TR/html401/struct/links.html#h-12.3

    At runtime the href attribute value will be prefixed with the context path
    of the web application.

    Example:

    <link rel="stylesheet" type="text/css" href="/style.css" media="screen"/>

    will produce at runtime the following markup

    <link rel="stylesheet" type="text/css" href="/my-web-application/style.css" media="screen"/>
    -->
    <!ATTLIST link
       href CDATA #IMPLIED
       rel CDATA #IMPLIED
       type CDATA #IMPLIED
       media CDATA #IMPLIED
       title CDATA #IMPLIED>

    <!--
    No content is allowed inside an link element.
    -->
    <!ELEMENT link EMPTY>

    <!--
    Creates a header markup for scripting,
    see http://www.w3.org/TR/html401/interact/scripts.html

    At runtime the src attribute value will be prefixed with the context path
    of the web application.

    Example 1:

    <script type="text/javascript" src="/myscript.js"></script>

    will produce at runtime the following markup

    <script type="text/javascript" src="/my-web-application/myscript.js"></script>

    Example 2:

    <script type="text/javascript">
    	function hello() {
    		alert('Hello');
    	}
    </script>
    -->
    <!ATTLIST script
       src CDATA #IMPLIED
       type CDATA #IMPLIED
       language CDATA #IMPLIED>

    <!--
    The script header element can contain inline script definitions.
    -->
    <!ELEMENT script (#PCDATA)>

    <!--
    Creates a header markup for adding meta data to a page,
    see http://www.w3.org/TR/html401/struct/global.html#h-7.4.4

    Example:

    <meta name="keywords" content="jboss, portal, redhat"/>
    -->
    <!ATTLIST meta
       name CDATA #REQUIRED
       content CDATA #REQUIRED>

    <!--
    No content is allowed for meta element.
    -->
    <!ELEMENT meta EMPTY>

    <!--
    Declare a service that will be injected by the portlet container as an
    attribute of the portlet context.

    Example:

    <service>
       <service-name>UserModule</service-name>
       <service-class>org.jboss.portal.identity.UserModule</service-class>
       <service-ref>:service=Module,type=User</service-ref>
    </service>

    In the portlet it is then possible to use it by doing a lookup on the service
    name, for example in the init() lifecycle method :

    public void init()
    {
       UserModule userModule = (UserModule)getPortletContext().getAttribute("UserModule");
    }

    -->
    <!ELEMENT service (service-name,service-class,service-ref)>

    <!--
    The service name that will be used to bind the service as a portlet context attribute.
    -->
    <!ELEMENT service-name (#PCDATA)>

    <!--
    The full qualified name of the interface that the service implements.
    -->
    <!ELEMENT service-class (#PCDATA)>

    <!--
    The reference to the service. In the JMX Microkernel environment it consist of the JMX
    name of the service MBean. For an MBean reference if the domain is left out, then the
    current domain of the portal will be used.
    -->
    <!ELEMENT service-ref (#PCDATA)>

Prev | Up |
Appendix B. portlet-instances.xml DTD | Home |