You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2005/06/08 18:06:46 UTC
svn commit: r189602 [39/50] - in /incubator/roller/trunk: ./ contrib/
contrib/lib/ contrib/plugins/ contrib/plugins/src/ contrib/plugins/src/org/
contrib/plugins/src/org/roller/ contrib/plugins/src/org/roller/presentation/
contrib/plugins/src/org/roller/presentation/velocity/
contrib/plugins/src/org/roller/presentation/velocity/plugins/
contrib/plugins/src/org/roller/presentation/velocity/plugins/acronyms/
contrib/plugins/src/org/roller/presentation/velocity/plugins/bookmarks/
contrib/plugins/src/org/roller/presentation/velocity/plugins/email/
contrib/plugins/src/org/roller/presentation/velocity/plugins/jspwiki/
contrib/plugins/src/org/roller/presentation/velocity/plugins/radeox/
contrib/plugins/src/org/roller/presentation/velocity/plugins/readmore/
contrib/plugins/src/org/roller/presentation/velocity/plugins/smileys/
contrib/plugins/src/org/roller/presentation/velocity/plugins/textile/ docs/
docs/images/ docs/installguide/ docs/installguide/old/ docs/userguide/
docs/userguide/images/ docs/userguide/old/ metadata/ metadata/database/
metadata/database/hibernate/ metadata/xdoclet/ personal/ personal/eclipse/
personal/testing/ src/ src/org/ src/org/roller/ src/org/roller/business/
src/org/roller/business/hibernate/ src/org/roller/business/utils/
src/org/roller/model/ src/org/roller/pojos/ src/org/roller/presentation/
src/org/roller/presentation/atom/ src/org/roller/presentation/bookmarks/
src/org/roller/presentation/bookmarks/actions/
src/org/roller/presentation/bookmarks/formbeans/
src/org/roller/presentation/bookmarks/tags/
src/org/roller/presentation/filters/ src/org/roller/presentation/forms/
src/org/roller/presentation/newsfeeds/ src/org/roller/presentation/pagecache/
src/org/roller/presentation/pagecache/rollercache/
src/org/roller/presentation/tags/ src/org/roller/presentation/tags/calendar/
src/org/roller/presentation/tags/menu/
src/org/roller/presentation/velocity/ src/org/roller/presentation/weblog/
src/org/roller/presentation/weblog/actions/
src/org/roller/presentation/weblog/formbeans/
src/org/roller/presentation/weblog/search/
src/org/roller/presentation/weblog/search/operations/
src/org/roller/presentation/weblog/tags/ src/org/roller/presentation/website/
src/org/roller/presentation/website/actions/
src/org/roller/presentation/website/formbeans/
src/org/roller/presentation/website/tags/
src/org/roller/presentation/xmlrpc/ src/org/roller/util/ tests/ tests/org/
tests/org/roller/ tests/org/roller/business/ tests/org/roller/model/
tests/org/roller/persistence/ tests/org/roller/presentation/
tests/org/roller/presentation/atom/ tests/org/roller/presentation/bookmarks/
tests/org/roller/presentation/velocity/
tests/org/roller/presentation/velocity/plugins/
tests/org/roller/presentation/velocity/plugins/smileys/
tests/org/roller/presentation/velocity/plugins/textile/
tests/org/roller/presentation/xmlrpc/ tests/org/roller/util/ tools/
tools/buildtime/ tools/buildtime/mockrunner-0.2.6/
tools/buildtime/mockrunner-0.2.6/lib/ tools/buildtime/tomcat-4.1.24/
tools/buildtime/xdoclet-1.2/ tools/buildtime/xdoclet-1.2/lib/
tools/hibernate-2.1/ tools/hibernate-2.1/lib/ tools/lib/
tools/standard-1.0.3/ tools/standard-1.0.3/lib/ tools/standard-1.0.3/tld/
tools/struts-1.1/ tools/struts-1.1/lib/ web/ web/WEB-INF/
web/WEB-INF/classes/ web/WEB-INF/classes/flavors/
web/WEB-INF/classes/themes/ web/bookmarks/ web/images/ web/images/editor/
web/images/midas/ web/images/preview/ web/images/smileys/ web/tags/
web/templates/ web/theme/ web/theme/images/ web/theme/lavender/
web/theme/scripts/ web/theme/scripts/classes/ web/themes/ web/themes/basic/
web/themes/berkley/ web/themes/berkley/images/ web/themes/cheb/
web/themes/cheb/images/ web/themes/cheb/scripts/ web/themes/clean/
web/themes/currency-i18n/ web/themes/currency-i18n/images/
web/themes/currency/ web/themes/currency/images/ web/themes/grey2/
web/themes/moonshine/ web/themes/pacifica/ web/themes/robot/
web/themes/rolling/ web/themes/rolling/images/ web/themes/sotto/
web/themes/sotto/images/ web/themes/sotto/styles/ web/themes/sunsets/
web/themes/sunsets/images/ web/themes/sunsets/scripts/
web/themes/sunsets/styles/ web/themes/werner/ web/themes/x2/
web/themes/x2/images/ web/themes/x2/scripts/ web/themes/x2/styles/
web/weblog/ web/website/
Added: incubator/roller/trunk/tools/struts-1.1/lib/web-app_2_2.dtd
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/tools/struts-1.1/lib/web-app_2_2.dtd?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/tools/struts-1.1/lib/web-app_2_2.dtd (added)
+++ incubator/roller/trunk/tools/struts-1.1/lib/web-app_2_2.dtd Wed Jun 8 09:06:16 2005
@@ -0,0 +1,565 @@
+
+<!--
+The web-app element is the root of the deployment descriptor for
+a web application
+-->
+
+<!ELEMENT web-app (icon?, display-name?, description?, distributable?,
+context-param*, servlet*, servlet-mapping*, session-config?,
+mime-mapping*, welcome-file-list?, error-page*, taglib*,
+resource-ref*, security-constraint*, login-config?, security-role*,
+env-entry*, ejb-ref*)>
+
+<!--
+The icon element contains a small-icon and a large-icon element
+which specify the location within the web application for a small and
+large image used to represent the web application in a GUI tool. At a
+minimum, tools must accept GIF and JPEG format images.
+-->
+
+<!ELEMENT icon (small-icon?, large-icon?)>
+
+<!--
+The small-icon element contains the location within the web
+application of a file containing a small (16x16 pixel) icon image.
+-->
+
+<!ELEMENT small-icon (#PCDATA)>
+
+<!--
+The large-icon element contains the location within the web
+application of a file containing a large (32x32 pixel) icon image.
+-->
+
+<!ELEMENT large-icon (#PCDATA)>
+
+<!--
+The display-name element contains a short name that is intended
+to be displayed by GUI tools
+-->
+
+<!ELEMENT display-name (#PCDATA)>
+
+<!--
+The description element is used to provide descriptive text about
+the parent element.
+-->
+
+<!ELEMENT description (#PCDATA)>
+
+<!--
+The distributable element, by its presence in a web application
+deployment descriptor, indicates that this web application is
+programmed appropriately to be deployed into a distributed servlet
+container
+-->
+
+<!ELEMENT distributable EMPTY>
+
+<!--
+The context-param element contains the declaration of a web
+application's servlet context initialization parameters.
+-->
+
+<!ELEMENT context-param (param-name, param-value, description?)>
+
+<!--
+The param-name element contains the name of a parameter.
+-->
+
+<!ELEMENT param-name (#PCDATA)>
+
+<!--
+The param-value element contains the value of a parameter.
+-->
+
+<!ELEMENT param-value (#PCDATA)>
+
+<!--
+The servlet element contains the declarative data of a
+servlet. If a jsp-file is specified and the load-on-startup element is
+present, then the JSP should be precompiled and loaded.
+-->
+
+<!ELEMENT servlet (icon?, servlet-name, display-name?, description?,
+(servlet-class|jsp-file), init-param*, load-on-startup?, security-role-ref*)>
+
+<!--
+The servlet-name element contains the canonical name of the
+servlet.
+-->
+
+<!ELEMENT servlet-name (#PCDATA)>
+
+<!--
+The servlet-class element contains the fully qualified class name
+of the servlet.
+-->
+
+<!ELEMENT servlet-class (#PCDATA)>
+
+<!--
+The jsp-file element contains the full path to a JSP file within
+the web application.
+-->
+
+<!ELEMENT jsp-file (#PCDATA)>
+
+<!--
+The init-param element contains a name/value pair as an
+initialization param of the servlet
+-->
+
+<!ELEMENT init-param (param-name, param-value, description?)>
+
+<!--
+The load-on-startup element indicates that this servlet should be
+loaded on the startup of the web application. The optional contents of
+these element must be a positive integer indicating the order in which
+the servlet should be loaded. Lower integers are loaded before higher
+integers. If no value is specified, or if the value specified is not a
+positive integer, the container is free to load it at any time in the
+startup sequence.
+-->
+
+<!ELEMENT load-on-startup (#PCDATA)>
+
+<!--
+The servlet-mapping element defines a mapping between a servlet
+and a url pattern
+-->
+
+<!ELEMENT servlet-mapping (servlet-name, url-pattern)>
+
+<!--
+The url-pattern element contains the url pattern of the
+mapping. Must follow the rules specified in Section 10 of the Servlet
+API Specification.
+-->
+
+<!ELEMENT url-pattern (#PCDATA)>
+
+<!--
+The session-config element defines the session parameters for
+this web application.
+-->
+
+<!ELEMENT session-config (session-timeout?)>
+
+<!--
+The session-timeout element defines the default session timeout
+interval for all sessions created in this web application. The
+specified timeout must be expressed in a whole number of minutes.
+-->
+
+<!ELEMENT session-timeout (#PCDATA)>
+
+<!--
+The mime-mapping element defines a mapping between an extension
+and a mime type.
+-->
+
+<!ELEMENT mime-mapping (extension, mime-type)>
+
+<!--
+The extension element contains a string describing an
+extension. example: "txt"
+-->
+
+<!ELEMENT extension (#PCDATA)>
+
+<!--
+The mime-type element contains a defined mime type. example:
+"text/plain"
+-->
+
+<!ELEMENT mime-type (#PCDATA)>
+
+<!--
+The welcome-file-list contains an ordered list of welcome files
+elements.
+-->
+
+<!ELEMENT welcome-file-list (welcome-file+)>
+
+<!--
+The welcome-file element contains file name to use as a default
+welcome file, such as index.html
+-->
+
+<!ELEMENT welcome-file (#PCDATA)>
+
+<!--
+The taglib element is used to describe a JSP tag library.
+-->
+
+<!ELEMENT taglib (taglib-uri, taglib-location)>
+
+<!--
+The taglib-uri element describes a URI, relative to the location
+of the web.xml document, identifying a Tag Library used in the Web
+Application.
+-->
+
+<!ELEMENT taglib-uri (#PCDATA)>
+
+<!--
+the taglib-location element contains the location (as a resource
+relative to the root of the web application) where to find the Tag
+Libary Description file for the tag library.
+-->
+
+<!ELEMENT taglib-location (#PCDATA)>
+
+<!--
+The error-page element contains a mapping between an error code
+or exception type to the path of a resource in the web application
+-->
+
+<!ELEMENT error-page ((error-code | exception-type), location)>
+
+<!--
+The error-code contains an HTTP error code, ex: 404
+-->
+
+<!ELEMENT error-code (#PCDATA)>
+
+<!--
+The exception type contains a fully qualified class name of a
+Java exception type.
+-->
+
+<!ELEMENT exception-type (#PCDATA)>
+
+<!--
+The location element contains the location of the resource in the
+web application
+-->
+
+<!ELEMENT location (#PCDATA)>
+
+<!--
+The resource-ref element contains a declaration of a Web
+Application's reference to an external resource.
+-->
+
+<!ELEMENT resource-ref (description?, res-ref-name, res-type, res-auth)>
+
+<!--
+The res-ref-name element specifies the name of the resource
+factory reference name.
+-->
+
+<!ELEMENT res-ref-name (#PCDATA)>
+
+<!--
+The res-type element specifies the (Java class) type of the data
+source.
+-->
+
+<!ELEMENT res-type (#PCDATA)>
+
+<!--
+The res-auth element indicates whether the application component
+code performs resource signon programmatically or whether the
+container signs onto the resource based on the principle mapping
+information supplied by the deployer. Must be CONTAINER or SERVLET
+-->
+
+<!ELEMENT res-auth (#PCDATA)>
+
+<!--
+The security-constraint element is used to associate security
+constraints with one or more web resource collections
+-->
+
+<!ELEMENT security-constraint (web-resource-collection+,
+auth-constraint?, user-data-constraint?)>
+
+<!--
+The web-resource-collection element is used to identify a subset
+of the resources and HTTP methods on those resources within a web
+application to which a security constraint applies. If no HTTP methods
+are specified, then the security constraint applies to all HTTP
+methods.
+-->
+
+<!ELEMENT web-resource-collection (web-resource-name, description?,
+url-pattern*, http-method*)>
+
+<!--
+The web-resource-name contains the name of this web resource
+collection
+-->
+
+<!ELEMENT web-resource-name (#PCDATA)>
+
+<!--
+The http-method contains an HTTP method (GET | POST |...)
+-->
+
+<!ELEMENT http-method (#PCDATA)>
+
+<!--
+The user-data-constraint element is used to indicate how data
+communicated between the client and container should be protected
+-->
+
+<!ELEMENT user-data-constraint (description?, transport-guarantee)>
+
+<!--
+The transport-guarantee element specifies that the communication
+between client and server should be NONE, INTEGRAL, or
+CONFIDENTIAL. NONE means that the application does not require any
+transport guarantees. A value of INTEGRAL means that the application
+requires that the data sent between the client and server be sent in
+such a way that it can't be changed in transit. CONFIDENTIAL means
+that the application 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.
+-->
+
+<!ELEMENT transport-guarantee (#PCDATA)>
+
+<!--
+The auth-constraint element indicates the user roles that should
+be permitted access to this resource collection. The role used here
+must appear in a security-role-ref element.
+-->
+
+<!ELEMENT auth-constraint (description?, role-name*)>
+
+<!--
+The role-name element contains the name of a security role.
+-->
+
+<!ELEMENT role-name (#PCDATA)>
+
+<!--
+The login-config element is used to configure the authentication
+method that should be used, the realm name that should be used for
+this application, and the attributes that are needed by the form login
+mechanism.
+-->
+
+<!ELEMENT login-config (auth-method?, realm-name?, form-login-config?)>
+
+<!--
+The realm name element specifies the realm name to use in HTTP
+Basic authorization
+-->
+
+<!ELEMENT realm-name (#PCDATA)>
+
+<!--
+The form-login-config element specifies the login and error pages
+that should be used in form based login. If form based authentication
+is not used, these elements are ignored.
+-->
+
+<!ELEMENT form-login-config (form-login-page, form-error-page)>
+
+<!--
+The form-login-page element defines the location in the web app
+where the page that can be used for login can be found
+-->
+
+<!ELEMENT form-login-page (#PCDATA)>
+
+<!--
+The form-error-page element defines the location in the web app
+where the error page that is displayed when login is not successful
+can be found
+-->
+
+<!ELEMENT form-error-page (#PCDATA)>
+
+<!--
+The auth-method element is used to configure the authentication
+mechanism for the web application. As a prerequisite to gaining access
+to any web resources which are protected by an authorization
+constraint, a user must have authenticated using the configured
+mechanism. Legal values for this element are "BASIC", "DIGEST",
+"FORM", or "CLIENT-CERT".
+-->
+
+<!ELEMENT auth-method (#PCDATA)>
+
+<!--
+The security-role element contains the declaration of a security
+role which is used in the security-constraints placed on the web
+application.
+-->
+
+<!ELEMENT security-role (description?, role-name)>
+
+<!--
+The role-name element contains the name of a role. This element
+must contain a non-empty string.
+-->
+
+<!ELEMENT security-role-ref (description?, role-name, role-link)>
+
+<!--
+The role-link element is used to link a security role 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.
+-->
+
+<!ELEMENT role-link (#PCDATA)>
+
+<!--
+The env-entry element contains the declaration of an
+application's environment entry. This element is required to be
+honored on in J2EE compliant servlet containers.
+-->
+
+<!ELEMENT env-entry (description?, env-entry-name, env-entry-value?,
+env-entry-type)>
+
+<!--
+The env-entry-name contains the name of an application's
+environment entry
+-->
+
+<!ELEMENT env-entry-name (#PCDATA)>
+
+<!--
+The env-entry-value element contains the value of an
+application's environment entry
+-->
+
+<!ELEMENT env-entry-value (#PCDATA)>
+
+<!--
+The env-entry-type element contains the fully qualified Java type
+of the environment entry value that is expected by the application
+code. The following are the legal values of env-entry-type:
+java.lang.Boolean, java.lang.String, java.lang.Integer,
+java.lang.Double, java.lang.Float.
+-->
+
+<!ELEMENT env-entry-type (#PCDATA)>
+
+<!--
+The ejb-ref element is used to declare a reference to an
+enterprise bean.
+-->
+
+<!ELEMENT ejb-ref (description?, ejb-ref-name, ejb-ref-type, home, remote,
+ejb-link?)>
+
+<!--
+The ejb-ref-name element contains the name of an EJB
+reference. This is the JNDI name that the servlet code uses to get a
+reference to the enterprise bean.
+-->
+
+<!ELEMENT ejb-ref-name (#PCDATA)>
+
+<!--
+The ejb-ref-type element contains the expected java class type of
+the referenced EJB.
+-->
+
+<!ELEMENT ejb-ref-type (#PCDATA)>
+
+<!--
+The ejb-home element contains the fully qualified name of the
+EJB's home interface
+-->
+
+<!ELEMENT home (#PCDATA)>
+
+<!--
+The ejb-remote element contains the fully qualified name of the
+EJB's remote interface
+-->
+
+<!ELEMENT remote (#PCDATA)>
+
+<!--
+The ejb-link element is used in the ejb-ref element to specify
+that an EJB reference is linked to an EJB in an encompassing Java2
+Enterprise Edition (J2EE) application package. The value of the
+ejb-link element must be the ejb-name of and EJB in the J2EE
+application package.
+-->
+
+<!ELEMENT ejb-link (#PCDATA)>
+
+<!--
+The ID mechanism is to allow tools to easily make tool-specific
+references to the elements of the deployment descriptor. This allows
+tools that produce additional deployment information (i.e information
+beyond the standard deployment descriptor information) to store the
+non-standard information in a separate file, and easily refer from
+these tools-specific files to the information in the standard web-app
+deployment descriptor.
+-->
+
+<!ATTLIST web-app id ID #IMPLIED>
+<!ATTLIST icon id ID #IMPLIED>
+<!ATTLIST small-icon id ID #IMPLIED>
+<!ATTLIST large-icon id ID #IMPLIED>
+<!ATTLIST display-name id ID #IMPLIED>
+<!ATTLIST description id ID #IMPLIED>
+<!ATTLIST distributable id ID #IMPLIED>
+<!ATTLIST context-param id ID #IMPLIED>
+<!ATTLIST param-name id ID #IMPLIED>
+<!ATTLIST param-value id ID #IMPLIED>
+<!ATTLIST servlet id ID #IMPLIED>
+<!ATTLIST servlet-name id ID #IMPLIED>
+<!ATTLIST servlet-class id ID #IMPLIED>
+<!ATTLIST jsp-file id ID #IMPLIED>
+<!ATTLIST init-param id ID #IMPLIED>
+<!ATTLIST load-on-startup id ID #IMPLIED>
+<!ATTLIST servlet-mapping id ID #IMPLIED>
+<!ATTLIST url-pattern id ID #IMPLIED>
+<!ATTLIST session-config id ID #IMPLIED>
+<!ATTLIST session-timeout id ID #IMPLIED>
+<!ATTLIST mime-mapping id ID #IMPLIED>
+<!ATTLIST extension id ID #IMPLIED>
+<!ATTLIST mime-type id ID #IMPLIED>
+<!ATTLIST welcome-file-list id ID #IMPLIED>
+<!ATTLIST welcome-file id ID #IMPLIED>
+<!ATTLIST taglib id ID #IMPLIED>
+<!ATTLIST taglib-uri id ID #IMPLIED>
+<!ATTLIST taglib-location id ID #IMPLIED>
+<!ATTLIST error-page id ID #IMPLIED>
+<!ATTLIST error-code id ID #IMPLIED>
+<!ATTLIST exception-type id ID #IMPLIED>
+<!ATTLIST location id ID #IMPLIED>
+<!ATTLIST resource-ref id ID #IMPLIED>
+<!ATTLIST res-ref-name id ID #IMPLIED>
+<!ATTLIST res-type id ID #IMPLIED>
+<!ATTLIST res-auth id ID #IMPLIED>
+<!ATTLIST security-constraint id ID #IMPLIED>
+<!ATTLIST web-resource-collection id ID #IMPLIED>
+<!ATTLIST web-resource-name id ID #IMPLIED>
+<!ATTLIST http-method id ID #IMPLIED>
+<!ATTLIST user-data-constraint id ID #IMPLIED>
+<!ATTLIST transport-guarantee id ID #IMPLIED>
+<!ATTLIST auth-constraint id ID #IMPLIED>
+<!ATTLIST role-name id ID #IMPLIED>
+<!ATTLIST login-config id ID #IMPLIED>
+<!ATTLIST realm-name id ID #IMPLIED>
+<!ATTLIST form-login-config id ID #IMPLIED>
+<!ATTLIST form-login-page id ID #IMPLIED>
+<!ATTLIST form-error-page id ID #IMPLIED>
+<!ATTLIST auth-method id ID #IMPLIED>
+<!ATTLIST security-role id ID #IMPLIED>
+<!ATTLIST security-role-ref id ID #IMPLIED>
+<!ATTLIST role-link id ID #IMPLIED>
+<!ATTLIST env-entry id ID #IMPLIED>
+<!ATTLIST env-entry-name id ID #IMPLIED>
+<!ATTLIST env-entry-value id ID #IMPLIED>
+<!ATTLIST env-entry-type id ID #IMPLIED>
+<!ATTLIST ejb-ref id ID #IMPLIED>
+<!ATTLIST ejb-ref-name id ID #IMPLIED>
+<!ATTLIST ejb-ref-type id ID #IMPLIED>
+<!ATTLIST home id ID #IMPLIED>
+<!ATTLIST remote id ID #IMPLIED>
+<!ATTLIST ejb-link id ID #IMPLIED>
Added: incubator/roller/trunk/tools/struts-1.1/lib/web-app_2_3.dtd
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/tools/struts-1.1/lib/web-app_2_3.dtd?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/tools/struts-1.1/lib/web-app_2_3.dtd (added)
+++ incubator/roller/trunk/tools/struts-1.1/lib/web-app_2_3.dtd Wed Jun 8 09:06:16 2005
@@ -0,0 +1,1059 @@
+<!--
+Copyright 2000-2001 Sun Microsystems, Inc. 901 San Antonio Road,
+Palo Alto, CA 94303, U.S.A. All rights reserved.
+
+This product or document is protected by copyright and distributed
+under licenses restricting its use, copying, distribution, and
+decompilation. No part of this product or documentation may be
+reproduced in any form by any means without prior written authorization
+of Sun and its licensors, if any.
+
+Third party software, including font technology, is copyrighted and
+licensed from Sun suppliers.
+
+Sun, Sun Microsystems, the Sun Logo, Solaris, Java, JavaServer Pages, Java
+Naming and Directory Interface, JDBC, JDK, JavaMail and Enterprise JavaBeans,
+are trademarks or registered trademarks of Sun Microsystems, Inc in the U.S.
+and other countries.
+
+All SPARC trademarks are used under license and are trademarks
+or registered trademarks of SPARC International, Inc.
+in the U.S. and other countries. Products bearing SPARC
+trademarks are based upon an architecture developed by Sun Microsystems, Inc.
+
+PostScript is a registered trademark of Adobe Systems, Inc.
+
+Federal Acquisitions: Commercial Software - Government Users Subject to
+Standard License Terms and Conditions.
+
+DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED
+CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
+IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT
+TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY
+INVALID.
+
+_________________________________________________________________________
+
+Copyright 2000-2001 Sun Microsystems, Inc.,
+901 San Antonio Road, Palo Alto, CA 94303, Etats-Unis.
+Tous droits re'serve's.
+
+
+Ce produit ou document est prote'ge' par un copyright et distribue' avec
+des licences qui en restreignent l'utilisation, la copie, la distribution,
+et la de'compilation. Aucune partie de ce produit ou de sa documentation
+associe'e ne peut e^tre reproduite sous aucune forme, par quelque moyen
+que ce soit, sans l'autorisation pre'alable et e'crite de Sun et de ses
+bailleurs de licence, s'il y en a.
+
+Le logiciel de'tenu par des tiers, et qui comprend la technologie
+relative aux polices de caracte`res, est prote'ge' par un copyright
+et licencie' par des fournisseurs de Sun.
+
+Sun, Sun Microsystems, le logo Sun, Solaris, Java, JavaServer Pages, Java
+Naming and Directory Interface, JDBC, JDK, JavaMail, et Enterprise JavaBeans,
+sont des marques de fabrique ou des marques de'pose'es de Sun
+Microsystems, Inc. aux Etats-Unis et dans d'autres pays.
+
+Toutes les marques SPARC sont utilise'es sous licence et sont
+des marques de fabrique ou des marques de'pose'es de SPARC
+International, Inc. aux Etats-Unis et dans
+d'autres pays. Les produits portant les marques SPARC sont
+base's sur une architecture de'veloppe'e par Sun Microsystems, Inc.
+
+Postcript est une marque enregistre'e d'Adobe Systems Inc.
+
+LA DOCUMENTATION EST FOURNIE "EN L'ETAT" ET TOUTES AUTRES CONDITIONS,
+DECLARATIONS ET GARANTIES EXPRESSES OU TACITES SONT FORMELLEMENT EXCLUES,
+DANS LA MESURE AUTORISEE PAR LA LOI APPLICABLE, Y COMPRIS NOTAMMENT
+TOUTE GARANTIE IMPLICITE RELATIVE A LA QUALITE MARCHANDE, A L'APTITUDE
+A UNE UTILISATION PARTICULIERE OU A L'ABSENCE DE CONTREFACON.
+-->
+
+<!--
+This is the XML DTD for the Servlet 2.3 deployment descriptor.
+All Servlet 2.3 deployment descriptors must include a DOCTYPE
+of the following form:
+
+ <!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+-->
+
+<!--
+The following conventions apply to all J2EE deployment descriptor
+elements unless indicated otherwise.
+
+- In elements that contain PCDATA, leading and trailing whitespace
+ in the data may be ignored.
+
+- In elements whose value is an "enumerated type", the value is
+ case sensitive.
+
+- 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.
+-->
+
+
+<!--
+The web-app element is the root of the deployment descriptor for
+a web application.
+-->
+<!ELEMENT web-app (icon?, display-name?, description?, distributable?,
+context-param*, filter*, filter-mapping*, listener*, servlet*,
+servlet-mapping*, session-config?, mime-mapping*, welcome-file-list?,
+error-page*, taglib*, resource-env-ref*, resource-ref*, security-constraint*,
+login-config?, security-role*, env-entry*, ejb-ref*, ejb-local-ref*)>
+
+<!--
+The auth-constraint element indicates the user roles that should
+be permitted access to this resource collection. The role-name
+used here must either correspond to the role-name of one of the
+security-role elements defined for this web application, or be
+the specially reserved role-name "*" that is a compact syntax for
+indicating all roles in the web application. If both "*" and
+rolenames appear, the container interprets this as all roles.
+If no roles are defined, no user is allowed access to the portion of
+the web application described by the containing security-constraint.
+The container matches role names case sensitively when determining
+access.
+
+
+Used in: security-constraint
+-->
+<!ELEMENT auth-constraint (description?, role-name*)>
+
+<!--
+The auth-method element is used to configure the authentication
+mechanism for the web application. As a prerequisite to gaining access to any web resources which are protected by an authorization
+constraint, a user must have authenticated using the configured
+mechanism. Legal values for this element are "BASIC", "DIGEST",
+"FORM", or "CLIENT-CERT".
+
+Used in: login-config
+-->
+<!ELEMENT auth-method (#PCDATA)>
+
+<!--
+The context-param element contains the declaration of a web
+application's servlet context initialization parameters.
+
+Used in: web-app
+-->
+<!ELEMENT context-param (param-name, param-value, description?)>
+
+<!--
+The description element is used to provide text describing the parent
+element. The description element should include any information that
+the web application war file producer wants to provide to the consumer of
+the web application war file (i.e., to the Deployer). Typically, the tools
+used by the web application war file consumer will display the description
+when processing the parent element that contains the description.
+
+Used in: auth-constraint, context-param, ejb-local-ref, ejb-ref,
+env-entry, filter, init-param, resource-env-ref, resource-ref, run-as,
+security-role, security-role-ref, servlet, user-data-constraint,
+web-app, web-resource-collection
+-->
+<!ELEMENT description (#PCDATA)>
+
+<!--
+The display-name element contains a short name that is intended to be
+displayed by tools. The display name need not be unique.
+
+Used in: filter, security-constraint, servlet, web-app
+
+Example:
+
+<display-name>Employee Self Service</display-name>
+-->
+<!ELEMENT display-name (#PCDATA)>
+
+<!--
+The distributable element, by its presence in a web application
+deployment descriptor, indicates that this web application is
+programmed appropriately to be deployed into a distributed servlet
+container
+
+Used in: web-app
+-->
+<!ELEMENT distributable EMPTY>
+
+<!--
+The ejb-link element is used in the ejb-ref or ejb-local-ref
+elements to specify that an EJB reference is linked to an
+enterprise bean.
+
+The name in the ejb-link element is composed of a
+path name specifying the ejb-jar containing the referenced enterprise
+bean with the ejb-name of the target bean appended and separated from
+the path name by "#". The path name is relative to the war file
+containing the web application that is referencing the enterprise bean.
+This allows multiple enterprise beans with the same ejb-name to be
+uniquely identified.
+
+Used in: ejb-local-ref, ejb-ref
+
+Examples:
+
+ <ejb-link>EmployeeRecord</ejb-link>
+
+ <ejb-link>../products/product.jar#ProductEJB</ejb-link>
+
+-->
+<!ELEMENT ejb-link (#PCDATA)>
+
+<!--
+The ejb-local-ref element is used for the declaration of a reference to
+an enterprise bean's local home. The declaration consists of:
+
+ - an optional description
+ - the EJB reference name used in the code of the web application
+ that's referencing the enterprise bean
+ - the expected type of the referenced enterprise bean
+ - the expected local home and local interfaces of the referenced
+ enterprise bean
+ - optional ejb-link information, used to specify the referenced
+ enterprise bean
+
+Used in: web-app
+-->
+<!ELEMENT ejb-local-ref (description?, ejb-ref-name, ejb-ref-type,
+ local-home, local, ejb-link?)>
+
+<!--
+The ejb-ref element is used for the declaration of a reference to
+an enterprise bean's home. The declaration consists of:
+
+ - an optional description
+ - the EJB reference name used in the code of
+ the web application that's referencing the enterprise bean
+ - the expected type of the referenced enterprise bean
+ - the expected home and remote interfaces of the referenced
+ enterprise bean
+ - optional ejb-link information, used to specify the referenced
+ enterprise bean
+
+Used in: web-app
+-->
+<!ELEMENT ejb-ref (description?, ejb-ref-name, ejb-ref-type,
+ home, remote, ejb-link?)>
+
+<!--
+The ejb-ref-name element contains the name of an EJB reference. The
+EJB reference is an entry in the web application's environment and is
+relative to the java:comp/env context. The name must be unique
+within the web application.
+
+It is recommended that name is prefixed with "ejb/".
+
+Used in: ejb-local-ref, ejb-ref
+
+Example:
+
+<ejb-ref-name>ejb/Payroll</ejb-ref-name>
+-->
+<!ELEMENT ejb-ref-name (#PCDATA)>
+
+<!--
+The ejb-ref-type element contains the expected type of the
+referenced enterprise bean.
+
+The ejb-ref-type element must be one of the following:
+
+ <ejb-ref-type>Entity</ejb-ref-type>
+ <ejb-ref-type>Session</ejb-ref-type>
+
+Used in: ejb-local-ref, ejb-ref
+-->
+<!ELEMENT ejb-ref-type (#PCDATA)>
+
+<!--
+The env-entry element contains the declaration of a web application's
+environment entry. The declaration consists of an optional
+description, the name of the environment entry, and an optional
+value. If a value is not specified, one must be supplied
+during deployment.
+-->
+<!ELEMENT env-entry (description?, env-entry-name, env-entry-value?,
+env-entry-type)>
+
+<!--
+The env-entry-name element contains the name of a web applications's
+environment entry. The name is a JNDI name relative to the
+java:comp/env context. The name must be unique within a web application.
+
+Example:
+
+<env-entry-name>minAmount</env-entry-name>
+
+Used in: env-entry
+-->
+<!ELEMENT env-entry-name (#PCDATA)>
+
+<!--
+The env-entry-type element contains the fully-qualified Java type of
+the environment entry value that is expected by the web application's
+code.
+
+The following are the legal values of env-entry-type:
+
+ java.lang.Boolean
+ java.lang.Byte
+ java.lang.Character
+ java.lang.String
+ java.lang.Short
+ java.lang.Integer
+ java.lang.Long
+ java.lang.Float
+ java.lang.Double
+
+Used in: env-entry
+-->
+<!ELEMENT env-entry-type (#PCDATA)>
+
+<!--
+The env-entry-value element contains the value of a web application's
+environment entry. The value must be a String that is valid for the
+constructor of the specified type that takes a single String
+parameter, or for java.lang.Character, a single character.
+
+Example:
+
+<env-entry-value>100.00</env-entry-value>
+
+Used in: env-entry
+-->
+<!ELEMENT env-entry-value (#PCDATA)>
+
+<!--
+The error-code contains an HTTP error code, ex: 404
+
+Used in: error-page
+-->
+<!ELEMENT error-code (#PCDATA)>
+
+<!--
+The error-page element contains a mapping between an error code
+or exception type to the path of a resource in the web application
+
+Used in: web-app
+-->
+<!ELEMENT error-page ((error-code | exception-type), location)>
+
+<!--
+The exception type contains a fully qualified class name of a
+Java exception type.
+
+Used in: error-page
+-->
+<!ELEMENT exception-type (#PCDATA)>
+
+<!--
+The extension element contains a string describing an
+extension. example: "txt"
+
+Used in: mime-mapping
+-->
+<!ELEMENT extension (#PCDATA)>
+
+<!--
+Declares a filter in the web application. The filter is mapped to
+either a servlet or a URL pattern in the filter-mapping element, using
+the filter-name value to reference. Filters can access the
+initialization parameters declared in the deployment descriptor at
+runtime via the FilterConfig interface.
+
+Used in: web-app
+-->
+<!ELEMENT filter (icon?, filter-name, display-name?, description?,
+filter-class, init-param*)>
+
+<!--
+The fully qualified classname of the filter.
+
+Used in: filter
+-->
+<!ELEMENT filter-class (#PCDATA)>
+
+<!--
+Declaration of the filter mappings in this web application. The
+container uses the filter-mapping declarations to decide which filters
+to apply to a request, and in what order. The container matches the
+request URI to a Servlet in the normal way. To determine which filters
+to apply it matches filter-mapping declarations either on servlet-name,
+or on url-pattern for each filter-mapping element, depending on which
+style is used. The order in which filters are invoked is the order in
+which filter-mapping declarations that match a request URI for a
+servlet appear in the list of filter-mapping elements.The filter-name
+value must be the value of the <filter-name> sub-elements of one of the
+<filter> declarations in the deployment descriptor.
+
+Used in: web-app
+-->
+<!ELEMENT filter-mapping (filter-name, (url-pattern | servlet-name))>
+
+<!--
+The logical name of the filter. This name is used to map the filter.
+Each filter name is unique within the web application.
+
+Used in: filter, filter-mapping
+-->
+<!ELEMENT filter-name (#PCDATA)>
+
+<!--
+The form-error-page element defines the location in the web app
+where the error page that is displayed when login is not successful
+can be found. The path begins with a leading / and is interpreted
+relative to the root of the WAR.
+
+Used in: form-login-config
+-->
+<!ELEMENT form-error-page (#PCDATA)>
+
+<!--
+The form-login-config element specifies the login and error pages
+that should be used in form based login. If form based authentication
+is not used, these elements are ignored.
+
+Used in: login-config
+-->
+<!ELEMENT form-login-config (form-login-page, form-error-page)>
+
+<!--
+The form-login-page element defines the location in the web app
+where the page that can be used for login can be found. The path
+begins with a leading / and is interpreted relative to the root of the WAR.
+
+Used in: form-login-config
+-->
+<!ELEMENT form-login-page (#PCDATA)>
+
+<!--
+The home element contains the fully-qualified name of the enterprise
+bean's home interface.
+
+Used in: ejb-ref
+
+Example:
+
+<home>com.aardvark.payroll.PayrollHome</home>
+-->
+<!ELEMENT home (#PCDATA)>
+
+<!--
+The http-method contains an HTTP method (GET | POST |...).
+
+Used in: web-resource-collection
+-->
+<!ELEMENT http-method (#PCDATA)>
+
+<!--
+The icon element contains small-icon and large-icon elements that
+specify the file names for small and a large GIF or JPEG icon images
+used to represent the parent element in a GUI tool.
+
+Used in: filter, servlet, web-app
+-->
+<!ELEMENT icon (small-icon?, large-icon?)>
+
+<!--
+The init-param element contains a name/value pair as an
+initialization param of the servlet
+
+Used in: filter, servlet
+-->
+<!ELEMENT init-param (param-name, param-value, description?)>
+
+<!--
+The jsp-file element contains the full path to a JSP file within
+the web application beginning with a `/'.
+
+Used in: servlet
+-->
+<!ELEMENT jsp-file (#PCDATA)>
+
+<!--
+The large-icon element contains the name of a file
+containing a large (32 x 32) icon image. The file
+name is a relative path within the web application's
+war file.
+
+The image may be either in the JPEG or GIF format.
+The icon can be used by tools.
+
+Used in: icon
+
+Example:
+
+<large-icon>employee-service-icon32x32.jpg</large-icon>
+-->
+<!ELEMENT large-icon (#PCDATA)>
+
+<!--
+The listener element indicates the deployment properties for a web
+application listener bean.
+
+Used in: web-app
+-->
+<!ELEMENT listener (listener-class)>
+
+<!--
+The listener-class element declares a class in the application must be
+registered as a web application listener bean. The value is the fully qualified classname of the listener class.
+
+
+Used in: listener
+-->
+<!ELEMENT listener-class (#PCDATA)>
+
+<!--
+The load-on-startup element indicates that this servlet should be
+loaded (instantiated and have its init() called) on the startup
+of the web application. The optional contents of
+these element must be an integer indicating the order in which
+the servlet should be loaded. If the value is a negative integer,
+or the element is not present, the container is free to load the
+servlet whenever it chooses. If the value is a positive integer
+or 0, the container must load and initialize the servlet as the
+application is deployed. The container must guarantee that
+servlets marked with lower integers are loaded before servlets
+marked with higher integers. The container may choose the order
+of loading of servlets with the same load-on-start-up value.
+
+Used in: servlet
+-->
+<!ELEMENT load-on-startup (#PCDATA)>
+
+<!--
+
+The local element contains the fully-qualified name of the
+enterprise bean's local interface.
+
+Used in: ejb-local-ref
+
+-->
+<!ELEMENT local (#PCDATA)>
+
+<!--
+
+The local-home element contains the fully-qualified name of the
+enterprise bean's local home interface.
+
+Used in: ejb-local-ref
+-->
+<!ELEMENT local-home (#PCDATA)>
+
+<!--
+The location element contains the location of the resource in the web
+application relative to the root of the web application. The value of
+the location must have a leading `/'.
+
+Used in: error-page
+-->
+<!ELEMENT location (#PCDATA)>
+
+<!--
+The login-config element is used to configure the authentication
+method that should be used, the realm name that should be used for
+this application, and the attributes that are needed by the form login
+mechanism.
+
+Used in: web-app
+-->
+<!ELEMENT login-config (auth-method?, realm-name?, form-login-config?)>
+
+<!--
+The mime-mapping element defines a mapping between an extension
+and a mime type.
+
+Used in: web-app
+-->
+<!ELEMENT mime-mapping (extension, mime-type)>
+
+<!--
+The mime-type element contains a defined mime type. example:
+"text/plain"
+
+Used in: mime-mapping
+-->
+<!ELEMENT mime-type (#PCDATA)>
+
+<!--
+The param-name element contains the name of a parameter. Each parameter
+name must be unique in the web application.
+
+
+Used in: context-param, init-param
+-->
+<!ELEMENT param-name (#PCDATA)>
+
+<!--
+The param-value element contains the value of a parameter.
+
+Used in: context-param, init-param
+-->
+<!ELEMENT param-value (#PCDATA)>
+
+<!--
+The realm name element specifies the realm name to use in HTTP
+Basic authorization.
+
+Used in: login-config
+-->
+<!ELEMENT realm-name (#PCDATA)>
+
+<!--
+The remote element contains the fully-qualified name of the enterprise
+bean's remote interface.
+
+Used in: ejb-ref
+
+Example:
+
+<remote>com.wombat.empl.EmployeeService</remote>
+-->
+<!ELEMENT remote (#PCDATA)>
+
+<!--
+The res-auth element specifies whether the web application code signs
+on programmatically to the resource manager, or whether the Container
+will sign on to the resource manager on behalf of the web application. In the
+latter case, the Container uses information that is supplied by the
+Deployer.
+
+The value of this element must be one of the two following:
+
+ <res-auth>Application</res-auth>
+ <res-auth>Container</res-auth>
+
+Used in: resource-ref
+-->
+<!ELEMENT res-auth (#PCDATA)>
+
+<!--
+The res-ref-name element specifies the name of a resource manager
+connection factory reference. The name is a JNDI name relative to the
+java:comp/env context. The name must be unique within a web application.
+
+Used in: resource-ref
+-->
+<!ELEMENT res-ref-name (#PCDATA)>
+
+<!--
+The res-sharing-scope element specifies whether connections obtained
+through the given resource manager connection factory reference can be
+shared. The value of this element, if specified, must be one of the
+two following:
+
+ <res-sharing-scope>Shareable</res-sharing-scope>
+ <res-sharing-scope>Unshareable</res-sharing-scope>
+
+The default value is Shareable.
+
+Used in: resource-ref
+-->
+<!ELEMENT res-sharing-scope (#PCDATA)>
+
+<!--
+The res-type element specifies the type of the data source. The type
+is specified by the fully qualified Java language class or interface
+expected to be implemented by the data source.
+
+Used in: resource-ref
+-->
+<!ELEMENT res-type (#PCDATA)>
+
+<!--
+The resource-env-ref element contains a declaration of a web application's
+reference to an administered object associated with a resource
+in the web application's environment. It consists of an optional
+description, the resource environment reference name, and an
+indication of the resource environment reference type expected by
+the web application code.
+
+Used in: web-app
+
+Example:
+
+<resource-env-ref>
+ <resource-env-ref-name>jms/StockQueue</resource-env-ref-name>
+ <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
+</resource-env-ref>
+-->
+<!ELEMENT resource-env-ref (description?, resource-env-ref-name,
+ resource-env-ref-type)>
+
+<!--
+The resource-env-ref-name element specifies the name of a resource
+environment reference; its value is the environment entry name used in
+the web application code. The name is a JNDI name relative to the
+java:comp/env context and must be unique within a web application.
+
+Used in: resource-env-ref
+-->
+<!ELEMENT resource-env-ref-name (#PCDATA)>
+
+<!--
+The resource-env-ref-type element specifies the type of a resource
+environment reference. It is the fully qualified name of a Java
+language class or interface.
+
+Used in: resource-env-ref
+-->
+<!ELEMENT resource-env-ref-type (#PCDATA)>
+
+<!--
+The resource-ref element contains a declaration of a web application's
+reference to an external resource. It consists of an optional
+description, the resource manager connection factory reference name,
+the indication of the resource manager connection factory type
+expected by the web application code, the type of authentication
+(Application or Container), and an optional specification of the
+shareability of connections obtained from the resource (Shareable or
+Unshareable).
+
+Used in: web-app
+
+Example:
+
+ <resource-ref>
+ <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
+ <res-type>javax.sql.DataSource</res-type>
+ <res-auth>Container</res-auth>
+ <res-sharing-scope>Shareable</res-sharing-scope>
+ </resource-ref>
+-->
+<!ELEMENT resource-ref (description?, res-ref-name, res-type, res-auth,
+ res-sharing-scope?)>
+
+<!--
+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
+-->
+<!ELEMENT role-link (#PCDATA)>
+
+<!--
+The role-name element contains the name of a security role.
+
+The name must conform to the lexical rules for an NMTOKEN.
+
+Used in: auth-constraint, run-as, security-role, security-role-ref
+-->
+<!ELEMENT role-name (#PCDATA)>
+
+<!--
+The run-as element specifies the run-as identity to be used for the
+execution of the web application. It contains an optional description, and
+the name of a security role.
+
+Used in: servlet
+-->
+<!ELEMENT run-as (description?, role-name)>
+
+<!--
+The security-constraint element is used to associate security
+constraints with one or more web resource collections
+
+Used in: web-app
+-->
+<!ELEMENT security-constraint (display-name?, web-resource-collection+,
+auth-constraint?, user-data-constraint?)>
+
+<!--
+The security-role element contains the definition of a security
+role. The definition consists of an optional description of the
+security role, and the security role name.
+
+Used in: web-app
+
+Example:
+
+ <security-role>
+ <description>
+ This role includes all employees who are authorized
+ to access the employee service application.
+ </description>
+ <role-name>employee</role-name>
+ </security-role>
+-->
+<!ELEMENT security-role (description?, role-name)>
+
+<!--
+The security-role-ref element contains the declaration of a security
+role reference in the web application's code. 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: servlet
+
+-->
+<!ELEMENT security-role-ref (description?, role-name, role-link?)>
+
+<!--
+The servlet element contains the declarative data of a
+servlet. If a jsp-file is specified and the load-on-startup element is
+present, then the JSP should be precompiled and loaded.
+
+Used in: web-app
+-->
+<!ELEMENT servlet (icon?, servlet-name, display-name?, description?,
+(servlet-class|jsp-file), init-param*, load-on-startup?, run-as?, security-role-ref*)>
+
+<!--
+The servlet-class element contains the fully qualified class name
+of the servlet.
+
+Used in: servlet
+-->
+<!ELEMENT servlet-class (#PCDATA)>
+
+<!--
+The servlet-mapping element defines a mapping between a servlet
+and a url pattern
+
+Used in: web-app
+-->
+<!ELEMENT servlet-mapping (servlet-name, url-pattern)>
+
+<!--
+The servlet-name element contains the canonical name of the
+servlet. Each servlet name is unique within the web application.
+
+Used in: filter-mapping, servlet, servlet-mapping
+-->
+<!ELEMENT servlet-name (#PCDATA)>
+
+<!--
+The session-config element defines the session parameters for
+this web application.
+
+Used in: web-app
+-->
+<!ELEMENT session-config (session-timeout?)>
+
+<!--
+The session-timeout element defines the default session timeout
+interval for all sessions created in this web application. The
+specified timeout must be expressed in a whole number of minutes.
+If the timeout is 0 or less, the container ensures the default
+behaviour of sessions is never to time out.
+
+Used in: session-config
+-->
+<!ELEMENT session-timeout (#PCDATA)>
+
+<!--
+The small-icon element contains the name of a file
+containing a small (16 x 16) icon image. The file
+name is a relative path within the web application's
+war file.
+
+The image may be either in the JPEG or GIF format.
+The icon can be used by tools.
+
+Used in: icon
+
+Example:
+
+<small-icon>employee-service-icon16x16.jpg</small-icon>
+-->
+<!ELEMENT small-icon (#PCDATA)>
+
+<!--
+The taglib element is used to describe a JSP tag library.
+
+Used in: web-app
+-->
+<!ELEMENT taglib (taglib-uri, taglib-location)>
+
+<!--
+the taglib-location element contains the location (as a resource
+relative to the root of the web application) where to find the Tag
+Libary Description file for the tag library.
+
+Used in: taglib
+-->
+<!ELEMENT taglib-location (#PCDATA)>
+
+<!--
+The taglib-uri element describes a URI, relative to the location
+of the web.xml document, identifying a Tag Library used in the Web
+Application.
+
+Used in: taglib
+-->
+<!ELEMENT taglib-uri (#PCDATA)>
+
+<!--
+The transport-guarantee element specifies that the communication
+between client and server should be NONE, INTEGRAL, or
+CONFIDENTIAL. NONE means that the application does not require any
+transport guarantees. A value of INTEGRAL means that the application
+requires that the data sent between the client and server be sent in
+such a way that it can't be changed in transit. CONFIDENTIAL means
+that the application 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
+-->
+<!ELEMENT transport-guarantee (#PCDATA)>
+
+<!--
+The url-pattern element contains the url pattern of the mapping. Must
+follow the rules specified in Section 11.2 of the Servlet API
+Specification.
+
+Used in: filter-mapping, servlet-mapping, web-resource-collection
+-->
+<!ELEMENT url-pattern (#PCDATA)>
+
+<!--
+The user-data-constraint element is used to indicate how data
+communicated between the client and container should be protected.
+
+Used in: security-constraint
+-->
+<!ELEMENT user-data-constraint (description?, transport-guarantee)>
+
+<!--
+The web-resource-collection element is used to identify a subset
+of the resources and HTTP methods on those resources within a web
+application to which a security constraint applies. If no HTTP methods
+are specified, then the security constraint applies to all HTTP
+methods.
+
+Used in: security-constraint
+-->
+<!ELEMENT web-resource-collection (web-resource-name, description?,
+url-pattern*, http-method*)>
+
+<!--
+The web-resource-name contains the name of this web resource
+collection.
+
+Used in: web-resource-collection
+-->
+<!ELEMENT web-resource-name (#PCDATA)>
+
+<!--
+The welcome-file element contains file name to use as a default
+welcome file, such as index.html
+
+Used in: welcome-file-list
+-->
+<!ELEMENT welcome-file (#PCDATA)>
+
+<!--
+The welcome-file-list contains an ordered list of welcome files
+elements.
+
+Used in: web-app
+-->
+<!ELEMENT welcome-file-list (welcome-file+)>
+
+<!--
+The ID mechanism is to allow tools that produce additional deployment
+information (i.e., information beyond the standard deployment
+descriptor information) to store the non-standard information in a
+separate file, and easily refer from these tool-specific files to the
+information in the standard deployment descriptor.
+
+Tools are not allowed to add the non-standard information into the
+standard deployment descriptor.
+-->
+
+<!ATTLIST auth-constraint id ID #IMPLIED>
+<!ATTLIST auth-method id ID #IMPLIED>
+<!ATTLIST context-param id ID #IMPLIED>
+<!ATTLIST description id ID #IMPLIED>
+<!ATTLIST display-name id ID #IMPLIED>
+<!ATTLIST distributable id ID #IMPLIED>
+<!ATTLIST ejb-link id ID #IMPLIED>
+<!ATTLIST ejb-local-ref id ID #IMPLIED>
+<!ATTLIST ejb-ref id ID #IMPLIED>
+<!ATTLIST ejb-ref-name id ID #IMPLIED>
+<!ATTLIST ejb-ref-type id ID #IMPLIED>
+<!ATTLIST env-entry id ID #IMPLIED>
+<!ATTLIST env-entry-name id ID #IMPLIED>
+<!ATTLIST env-entry-type id ID #IMPLIED>
+<!ATTLIST env-entry-value id ID #IMPLIED>
+<!ATTLIST error-code id ID #IMPLIED>
+<!ATTLIST error-page id ID #IMPLIED>
+<!ATTLIST exception-type id ID #IMPLIED>
+<!ATTLIST extension id ID #IMPLIED>
+<!ATTLIST filter id ID #IMPLIED>
+<!ATTLIST filter-class id ID #IMPLIED>
+<!ATTLIST filter-mapping id ID #IMPLIED>
+<!ATTLIST filter-name id ID #IMPLIED>
+<!ATTLIST form-error-page id ID #IMPLIED>
+<!ATTLIST form-login-config id ID #IMPLIED>
+<!ATTLIST form-login-page id ID #IMPLIED>
+<!ATTLIST home id ID #IMPLIED>
+<!ATTLIST http-method id ID #IMPLIED>
+<!ATTLIST icon id ID #IMPLIED>
+<!ATTLIST init-param id ID #IMPLIED>
+<!ATTLIST jsp-file id ID #IMPLIED>
+<!ATTLIST large-icon id ID #IMPLIED>
+<!ATTLIST listener id ID #IMPLIED>
+<!ATTLIST listener-class id ID #IMPLIED>
+<!ATTLIST load-on-startup id ID #IMPLIED>
+<!ATTLIST local id ID #IMPLIED>
+<!ATTLIST local-home id ID #IMPLIED>
+<!ATTLIST location id ID #IMPLIED>
+<!ATTLIST login-config id ID #IMPLIED>
+<!ATTLIST mime-mapping id ID #IMPLIED>
+<!ATTLIST mime-type id ID #IMPLIED>
+<!ATTLIST param-name id ID #IMPLIED>
+<!ATTLIST param-value id ID #IMPLIED>
+<!ATTLIST realm-name id ID #IMPLIED>
+<!ATTLIST remote id ID #IMPLIED>
+<!ATTLIST res-auth id ID #IMPLIED>
+<!ATTLIST res-ref-name id ID #IMPLIED>
+<!ATTLIST res-sharing-scope id ID #IMPLIED>
+<!ATTLIST res-type id ID #IMPLIED>
+<!ATTLIST resource-env-ref id ID #IMPLIED>
+<!ATTLIST resource-env-ref-name id ID #IMPLIED>
+<!ATTLIST resource-env-ref-type id ID #IMPLIED>
+<!ATTLIST resource-ref id ID #IMPLIED>
+<!ATTLIST role-link id ID #IMPLIED>
+<!ATTLIST role-name id ID #IMPLIED>
+<!ATTLIST run-as id ID #IMPLIED>
+<!ATTLIST security-constraint id ID #IMPLIED>
+<!ATTLIST security-role id ID #IMPLIED>
+<!ATTLIST security-role-ref id ID #IMPLIED>
+<!ATTLIST servlet id ID #IMPLIED>
+<!ATTLIST servlet-class id ID #IMPLIED>
+<!ATTLIST servlet-mapping id ID #IMPLIED>
+<!ATTLIST servlet-name id ID #IMPLIED>
+<!ATTLIST session-config id ID #IMPLIED>
+<!ATTLIST session-timeout id ID #IMPLIED>
+<!ATTLIST small-icon id ID #IMPLIED>
+<!ATTLIST taglib id ID #IMPLIED>
+<!ATTLIST taglib-location id ID #IMPLIED>
+<!ATTLIST taglib-uri id ID #IMPLIED>
+<!ATTLIST transport-guarantee id ID #IMPLIED>
+<!ATTLIST url-pattern id ID #IMPLIED>
+<!ATTLIST user-data-constraint id ID #IMPLIED>
+<!ATTLIST web-app id ID #IMPLIED>
+<!ATTLIST web-resource-collection id ID #IMPLIED>
+<!ATTLIST web-resource-name id ID #IMPLIED>
+<!ATTLIST welcome-file id ID #IMPLIED>
+<!ATTLIST welcome-file-list id ID #IMPLIED>
Added: incubator/roller/trunk/web/WEB-INF/classes/blacklist.txt
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/WEB-INF/classes/blacklist.txt?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/WEB-INF/classes/blacklist.txt (added)
+++ incubator/roller/trunk/web/WEB-INF/classes/blacklist.txt Wed Jun 8 09:06:16 2005
@@ -0,0 +1,480 @@
+
+#
+# MT-Blacklist Master Copy
+#
+# Last update: 2003/11/11 03:08:30
+# Number of entries: 463
+#
+# This is the master copy of the MT-Blacklist plugin
+# spammer blacklist. You can import this file through
+# the Add screen in the plugin web interface.
+#
+# You can find out more about this file at:
+# http://www.jayallen.org/comment_spam/
+#
+# You can find out more about MT-Blacklist at
+# http://www.jayallen.org/projects/mt-blacklist
+#
+([\w\-_.]+\.)?(l(so|os)tr)\.[a-z]{2,} # Catchall regex for lsotr.xxx and lostr.xxx with or without a subdomain
+(blow)[\w\-_.]*job[\w\-_.]*\.[a-z]{2,}
+(buy)[\w\-_.]*online[\w\-_.]*\.[a-z]{2,} # Catchall regexp for many spam sites
+(diet|penis)[\w\-_.]*(pills|enlargement)[\w\-_.]*\.[a-z]{2,} # Catchall regexp for many spam sites
+(lolita|phentermine|viagra|vig-?rx|zyban|valtex|xenical|adipex|meridia\b)[\w\-_.]*\.[a-z]{2,} # Super regexp for domains containing lolita, phentermine, viagra, vigrx, vig-rx, zyban, valtex, xenical, adipex and meridia
+(ragazze)-?\w+\.[a-z]{2,} # Catchall regexp for many spam sites
+00000-online-casino.com
+0adult-cartoon.com
+0adult-manga.com
+0cartoon-porn.com
+0cartoon-sex.com
+0cartoon.com
+0casino-online.com
+0casinoonline.com
+0free-hentai.com
+0freehentai.com
+0hentai-anime.com
+0hentai-manga.com
+0hentaimanga.com
+0internet-casino.com
+0livesex.com
+0manga-porno.com
+0manga-sesso.com
+0manga.com
+0sesso-amatoriale.com
+0sesso-orale.biz
+0sesso.biz
+0sesso.us
+0sessoanale.com
+0sessogratis.us
+0sex-toons.com
+0sfondi-desktop.com
+0sfondi.com
+0suonerie.com
+0tatuaggi.com
+0toons.com
+0video-porno.com
+0virtual-casino.com
+0xxx-cartoon.com
+101pills.com
+123sessogratis.com
+1concerttickets.com
+1footballtickets.com
+1st-shemale-sex.com
+accompagnatrici.cc
+adult-manga.org
+adultfriendfindersite.com
+adultlingerieuk.com
+adultserviceproviders.com
+all-gay-porn.us
+allmagic.ru
+amateur-porn-gallery.com
+amateur-site.us
+anal-sex-pictures.us
+anime-manga.us
+anmichelle-22.da.ru
+annunci-coppie.net
+annunci-erotici.net
+annunci-erotici.org
+annunci-personali.org
+annunci-sesso.org
+annunci-sesso.us
+annuncisesso.us
+aquatyca.net
+autofinanzierung-zum-festzins.de
+autokredit-tipp.de
+autumn-jade.com
+banialoba3w.150m.com
+barcodes.cn
+basi-musicali.com
+bast3.ru
+beauty-farm.net
+belle-donne.biz
+belle-ragazze.net
+belle-ragazze.org
+belleragazze.biz
+belleragazze.org
+bellissime-donne.com
+bellissime-donne.net
+bellissimedonne.com
+bellissimedonne.org
+benessere.us
+besthandever.com
+big-black-butts.net
+big-hooters.net
+big-natural-boobs.us
+bigbras-club.com
+bigmoms.com
+bigtitchaz.com
+blackbusty.com
+blackjack-homepage.com
+blogspam.org
+bon-referencement.com
+boobmorning.com
+boobspost.com
+breast-augmentation.top-big-tits.com
+btd-online-casino.com
+busty-models.us
+bustyangelique.com
+bustydustystash.com
+bustykerrymarie.com
+buy-adult-sex-toys.com
+buy-sex-toys.net
+buy-sexy-lingerie-online.com
+buycheappills.net
+calendari-donne.com
+calendari-donne.net
+calendaridonne.com
+calendaridonne.net
+canzoni-italiane.com
+canzoni-italiane.net
+canzoni-italiane.org
+canzoni-karaoke.com
+canzoni-mp3.com
+canzoni-mp3.us
+canzoni-musica.com
+canzoni.cc
+canzonisanremo.com
+canzonistraniere.com
+cartoni-animati.com
+cartoni-hentai.com
+cartoni-hentai.net
+cartoni-hentai.org
+cartoni-porno.com
+cartonierotici.com
+cartonigiapponesi.com
+cartonihentai.net
+casino-en-ligne.fr.vu
+casino-in-linea.it.st
+certificationking.net
+cheap-adult-sex-toys.com
+cheap-online-pharmacy.org
+cheap-pills-online.com
+cherrybrady.com
+chickz.com
+chloesworld.com
+cialis.incredishop.com
+classifiche-italiane.org
+classifiche-musicali.com
+classifiche-musicali.net
+classifiche-musicali.org
+classifichemusicali.com
+computer-und-erotische-spiele-download.com
+cycatki.com
+danni.com
+dedichepersonali.com
+desiraesworld.com
+devon-daniels.com
+dianepoppos.com
+dieta-dimagrante.net
+dieta-mediterranea.net
+dieta-zona.com
+dieta.cc
+diete-dimagranti.com
+diete.bz
+dieting-review.com
+discount-airfares-guide.com
+discount-life-insurance.us
+disney-hentai.org
+donne-belle.net
+donne-famose.biz
+donne-muscolose.net
+donne-muscolose.org
+donne-nere.net
+donne-nere.org
+donne-nude.biz
+donne-porche.com
+donne-vogliose.com
+donne.bz
+donnebelle.net
+donnefamose.biz
+donnegrasse.org
+donnemature.biz
+donnemuscolose.com
+donnenere.com
+donnenere.net
+donnenude.biz
+donneporche.org
+donnesexy.org
+donnevogliose.net
+donnevogliose.org
+dr\.ag
+dragonball-porno.com
+dragonball-x.biz
+dragonball-xxx.biz
+dragonballporno.net
+dragonballx.cc
+dragonballxxx.biz
+drugstore-online.us
+drugstore.st
+drunk-girls-flashing.com
+e-discus.com
+e-order-propecia.com
+e-order-xenical.com
+ebaybusiness.net
+ecblast.com
+elcenter-s.ru
+envoyer-des-fleurs.com
+eonsystems.com
+erotische-geschichten-portal.com
+esesso-gratis.com
+evromaster.ru
+evrostroyka.narod.ru
+exoticmoms.com
+fat-cash.com
+fat-lesbians.net
+figa.nu
+film-porno.us
+final-fantasy-hentai.org
+find-lesbian-porn.com
+fioricet.st
+fitnessx.net
+forex.inc.ru
+foto-gay.us
+foto-porno.us
+foto-porno.ws
+free-adult-check.com
+free-debt-consolidation-online.us
+free-net-sex.com
+fumetti-porno.org
+fumettiporno.org
+gagnerargent.com
+gambling-homepage.com
+gamblingguidance.co.uk
+gayx.us
+generic-propecia.net
+genimat.220v.org
+genimat.cjb.net
+genimut.dr.ag
+get-hardcore-sex.com
+getaprescription.net
+giochi-hentai.com
+giochi-online.us
+giochix.com
+godere.org
+gogito.com
+grannysexthumbs.com
+guardami.org
+hardcore-porn-links.com
+hardcore-sex.bz
+hardcorecash.net
+hautesavoieimmobilier.com
+hentai-gratis.us
+hentai-hard.com
+hentai-xxx.us
+hentaigratis.net
+hentaimanga.us
+hentaix.net
+hentaixxx.us
+hentay.us
+hgh-online.com
+hobbs-farm.com
+homelivecams.com
+hornymoms.net
+hotel-bordeaux.cjb.net
+immagini-hentai.org
+immobilierdessavoie.com
+inescudna.com
+inter-ross.ru
+inviare-mms.net
+invio-mms.us
+ipharmacy.com # Catchall for many spam sites
+itramadol.com
+juliamiles.co.uk
+karmicdebtconsolidation.com
+kcufrecnac.com
+koihoo.com
+kraskidliavas.ru
+kredite-portal.de
+kredite-sofortzusage.de
+kupibuket.ru
+las-vegas-real-estate-1.com
+lasvegasrealtor.com
+legalblonde.com
+lesbichex.com
+levitraguide.com
+link-dir.com
+linseysworld.com
+lizziemills.com
+logos-logos.be
+mainjob.ru
+manga-free.net
+manga-free.org
+manga-x.biz
+manga-xxx.org
+mature-big-tits.net
+mediaaustralia.com.au
+megapornstation.com
+menguma.com
+menzyme.com
+mmsanimati.com
+mneuron.com
+moltobene.ru
+mortgage-rates-guide.net
+mp3download.bz
+mp3x.biz
+musica-da-scaricare.net
+musica-gratis.biz
+musica-gratis.org
+musica-karaoke.net
+musica-mp3.biz
+musicamp3.us
+musicenergy.com
+my-sex-toys-store.com
+mybestcasinos.net
+mydatingagency.com
+naturalknockers.net
+net-mature.com
+netizen.org
+nichehit.com
+nicolepeters.com
+offseasonelves.com
+oldgrannyfucking.com
+onepiecex.net
+online--pharmacy.us
+online-prescription.st
+online-prescriptions-internet-pharmacy.com
+operazione-trionfo.net
+partnersuche-partnervermittlung.com
+partybingo.com
+partypoker.com
+peepissing.com
+penisenlargementmagazine.com
+penisimprovement.com
+penisresearch.com
+perfect-dedicated-server.com
+pharmacyprices.net
+picsfreesex.com
+piercingx.com
+pillinc.com
+pilltip.com
+pj-city.com
+pokemon-hentai.com
+pokemon-hentai.org
+pokemonhentai.net
+pokemonx.biz
+poker-homepage.com
+pompini.nu
+porn-4u.net
+porn-house.us
+pornogratis.bz
+pornostars.cc
+pornwww.com
+pregnant-sex-free.us
+prescription-drugs.st
+prescriptions.md
+preteen-young.net
+propecia-store.com
+prozac.st
+racconti-gay.org
+raf-ranking.com
+ragazze.bz
+rampantrabbitvibrator.co.uk
+ratenkredit-center.de
+ratenkredit-shop.de
+real-sex.us
+ricettegolose.com
+rx-store.com # Catchall for many spam sites
+sailor-moon-hentai.org
+sailor-moon-hentai.us
+salute-bellezza.net
+salute-bellezza.org
+salute-benessere.org
+salute-e-benessere.net
+salute-igiene.com
+salute-malattie.com
+salute-malattie.net
+sarennasworld.com
+scarica-mp3.biz
+scarica-mp3.com
+scarica-musica-mp3.org
+scarica-musica.com
+scarica-musica.org
+scaricamp3.us
+scaricare-canzoni.com
+scaricare-canzoni.net
+scaricare-canzoni.org
+scaricare-mp3.org
+seitensprung-gratis.com
+selena-u.ru
+sesso-gratis.cc
+sesso-online.net
+sessoanalex.com
+sessox.biz
+sex-4you.org
+sex-lover.org
+sex-manga.us
+sexe.vc
+sexo9.com
+sexshop-sexeshop.com
+sextoysportal.com
+sexwebclub.com
+sfondi-desktop-gratis.com
+shop-opyt.com
+siti-porno.us
+ski-resorts-guide.com
+slot-machines-slots.com
+sms-sms-sms.org
+soma.st
+sonnerie-hifi-sms.com
+sonnerie-logos.be
+sonnerie-portable-composer.com
+sonnerie-portable.be
+sonneries-gsm-sms.com
+sorglos-kredit.de
+spiele-kostenlose.com
+spiele-planet.com
+sting.cc
+suonerie-loghi-gratis.com
+suonerieloghix.com
+suoneriex.net
+susiewildin.com
+svitonline.com
+sylviapanda.com
+tatuaggi-gratis.com
+tatuaggi-piercing.org
+tatuaggi-tribali.com
+tatuaggi.cc
+tatuaggi.us
+tatuaggitribali.com
+terminator-sales.com
+testi-canzoni.com
+testi-canzoni.net
+testi-musicali.com
+testi-musicali.net
+testi.cc
+tette.bz
+tettone.cc
+theceleb.com
+themadpiper.net
+tiffany-towers.com
+tits-center.com
+tits-cumshots.net
+top-dedicated-servers.com
+tramadol.st
+troie.bz
+trucchi-giochi.us
+u-w-m.ru
+ultram.st
+ultrampharmacy.com
+unbeatablerx.com
+underage-pussy.net
+uni-card.ru
+us-cash.com
+us-meds.com
+vacation-rentals-guide.com
+viaggix.com
+viapaxton.com
+video-porno.nu
+videohentai.org
+web-revenue.com
+webcam-erotiche.com
+webcopywizard.net
+wet-4all.com
+wethorny.com
+www-sesso # Catchall for many spam sites
+x-ring-tones.com
+xlboobs.net
+xsesso.biz
+yaninediaz.com
+yukka.inc.ru
+zipcodedownload.com
+zipcodesmap.com
\ No newline at end of file
Added: incubator/roller/trunk/web/WEB-INF/classes/bookmark.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/WEB-INF/classes/bookmark.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/WEB-INF/classes/bookmark.vm (added)
+++ incubator/roller/trunk/web/WEB-INF/classes/bookmark.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,112 @@
+#**
+ * Macros to display Bookmark Folders and Bookmarks.
+ * @author Lance Lavandowska (conversion to Velocimacros)
+ *#
+
+#**
+ * Shows a single bookmark with image if bookmark has one,
+ * with RSS feed link if bookmark has one, and with HREF title
+ * if bookmark has a description.
+ * @param bookmark BookmarkData object to be displayed.
+ *#
+#macro( showOneBookmark2 $bookmark $useCSS)
+ #if( $useCSS )<li class="rFolderItem">#end
+ #if( $utilities.isNotEmpty( $bookmark.Image ) )
+ <a href="$bookmark.url"><img alt="$bookmark.description"
+ src="$baseURL#showResourcePath()/$bookmark.image" class="rBookmark" /></a>
+ #else
+ #if( $utilities.isNotEmpty( $bookmark.FeedUrl ) )
+ <a href="$bookmark.feedUrl"><img class="smrssbadge"
+ src="$baseURL/images/smrssbadge.gif"
+ alt="$text.get( "macro.bookmark.urlFeed" )"
+ /></a>#end
+ <a href="$bookmark.url"
+ title="$bookmark.description"
+ class="rBookmark$bookmark.weight">$bookmark.name</a>
+ #end
+ #if( $useCSS )</li>
+ #else<br />
+ #end
+#end
+## backwards-compatibility
+#macro( showOneBookmark $bookmark )
+ #showOneBookmark2( $bookmark false )
+#end
+
+#**
+ * Displays the Bookmarks in a Folder instance.
+ *#
+#macro( showFolder2 $folder $showFolderName $expandingFolder $useCSS )
+ #set( $container = "div" )
+ #if ( $useCSS ) #set( $container = "ul" ) #end
+ #set( $bookmarks = $pageModel.getBookmarks($folder) )
+## #if ( $bookmarks.isEmpty() )
+## #set( $showFolderName = false ) ## don't show Folder name if empty
+## #end
+ #set( $divId = $utilities.stringReplace( $folder.Name, " ", "_" ) )
+
+ #if ( $showFolderName && $expandingFolder )
+ <div class="rFolder">
+ <a href="javascript:toggleFolder('$divId')">
+ <span id="i$divId">+</span> $folder.Name</a>
+ <$container id="$divId" style="display:none">
+ #elseif ( $showFolderName )
+ <$container class="rFolder">$folder.Name
+ #end
+ #foreach( $bookmark in $bookmarks )
+ #showOneBookmark2( $bookmark $useCSS )
+ #end
+
+ ## show sub-folders
+ #foreach( $sFolder in $folder.folders )
+ #showFolder2($sFolder $showFolderName $expandingFolder $useCSS)
+ #end
+
+ #if( $showFolderName ) </$container> #end
+ #if( $showFolderName && $expandingFolder )
+ </div>
+ <script type="text/javascript">
+ <!--
+ folderPreference("$divId");
+ // -->
+ </script>
+ #end
+#end
+## backwards compatibility
+#macro( showFolder $folder $showFolderName $expandingFolder )
+ #showFolder2( $folder $showFolderName $expandingFolder false )
+#end
+
+#**
+ * Displays a bookmark folder as named.
+ * @param folderName Name of the folder to be displayed.
+ * @param showFolderName True if folder's name is to be displayed.
+ * @param expandingFolder True if folder is to be displayed as a expanding folder.
+ *#
+#macro( showBookmarks $folderName $showFolderName $expandingFolder )
+ #if ( $pageModel.getFolder($folderName) )
+ #showFolder2($pageModel.getFolder($folderName) $showFolderName $expandingFolder true)
+ #elseif ($showFolderName)
+ <span class="error">$text.get( "macro.bookmark.error", [$folderName])</span>
+ <!--p class="rFolder">$folderName</p-->
+ #end
+#end
+
+#**
+ * Display all Bookmarks (from all Folders) for user.
+**#
+#macro( showAllBookmarks $expandingFolder )
+ #set( $root = $pageModel.getFolderByPath("/") )
+ #showFolder2($root true $expandingFolder true)
+#end
+
+#macro( showOpmlLink $folderName )
+ #if ( $pageModel.getFolder( $folderName ) )
+ <a href="$ctxPath/flavor/$userName?flavor=opml&path=$folder.path">
+ <img src="$ctxPath/images/opml.png" alt="OPML for $folderName" />
+ </a>
+ #else
+ <span class="error">$text.get( "macro.bookmark.error", [$folderName])</span>
+ #end
+#end
+
Added: incubator/roller/trunk/web/WEB-INF/classes/comments.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/WEB-INF/classes/comments.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/WEB-INF/classes/comments.vm (added)
+++ incubator/roller/trunk/web/WEB-INF/classes/comments.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,356 @@
+
+#**
+ * Display the pop-up comments link for a weblog entry.
+ * Use the URL for the href attribute for those who have disabled
+ * javascript or who desire to open the comments window in another (Mozilla) tab.
+ * @param entry WeblogEntry object.
+ *#
+#macro( showCommentsLink $entry )
+ #set( $commentCount = $pageModel.getCommentCount($entry.Id) )
+ #if (($entry.commentsStillAllowed && $website.allowComments) || $commentCount > 0)
+ #set( $link = "$ctxPath/comment.do?method=edit&entryid=$entry.Id" )
+ <a href="$link " onclick="window.open('$link', 'comments',
+ 'width=480,height=480,scrollbars=yes,status=yes,resizable'); return false;"
+ class="entrycommentslink">$text.get( "macro.weblog.comments" ) [$commentCount]</a>
+ #end
+#end
+
+#**
+ * Display the in-page comments link for a weblog entry.
+ * @param entry WeblogEntry object.
+ *#
+#macro( showCommentsPageLink $entry )
+ #set( $commentCount = $pageModel.getCommentCount($entry.Id) )
+ #if (($entry.commentsStillAllowed && $website.allowComments) || $commentCount > 0)
+ #set( $link = "$ctxPath/comments/$userName/$page.link/$utilities.encode($entry.anchor)#comments" )
+ <a href="$link" class="entrycommentslink">$text.get( "macro.weblog.comments" ) [$commentCount]</a>
+ #end
+#end
+
+#**
+ * Display link for comments that renders a dynamically (DHTML) generated
+ * comments form - Matt Raible style.
+ * @param entry WeblogEntry object.
+ *#
+#macro( showCommentsDiv $entry )
+ #set( $commentCount = $pageModel.getCommentCount($entry.Id) )
+ #if (($entry.commentsStillAllowed && $website.allowComments) || $commentCount > 0)
+ <div class="comments" id="comments">
+ <div id="commentTwisty$entry.Id" class="commentTwisty"
+ onclick="toggleComments('$entry.Id', '$ctxPath/page/$userName'); return false;">
+ <a href="$ctxPath/comments/$userName/$page.link/$utilities.encode($entry.anchor)" class="plain">
+ #if($commentCount == 0)
+ $text.get( "macro.weblog.addcomment" )
+ #elseif($commentCount == 1)
+ $commentCount $text.get( "macro.weblog.comment" )
+ #else
+ $commentCount $text.get( "macro.weblog.comments" )
+ #end</a></div>
+ </div>
+ #end
+#end
+
+#**
+ * PRIVATE. Macro for displaying Comment details (not content).
+**#
+#macro( showCommentDetails $comment $showPermalink )
+ $dateFormatter.applyPattern($text.get( "macro.weblog.datepattern" ))
+ #set($email = $utilities.hexEncode($comment.email))
+ <p class="comment-details">
+ $text.get("macro.weblog.postedby")
+ #if (!$stringUtils.isEmpty($comment.name) && !$stringUtils.isEmpty($email) && !$stringUtils.isEmpty($comment.remoteHost))
+ <a href="mailto:$email" title="$comment.remoteHost">$comment.name</a>
+ #elseif (!$stringUtils.isEmpty($comment.name) && !$stringUtils.isEmpty($email))
+ <a href="mailto:$email">$comment.name</a>
+ #elseif (!$stringUtils.isEmpty($email) && !$stringUtils.isEmpty($comment.remoteHost))
+ <a href="mailto:$email">$comment.remoteHost</a>
+ #elseif (!$stringUtils.isEmpty($comment.name) && !$stringUtils.isEmpty($comment.remoteHost))
+ <b>$comment.name</b> ($comment.remoteHost)
+ #elseif (!$stringUtils.isEmpty($comment.name))
+ <b>$comment.name</b>
+ #end
+ $text.get("macro.weblog.on") $dateFormatter.format($comment.postTime)
+ #if( $stringUtils.isNotEmpty($comment.url) )
+ $text.get( "macro.weblog.postedbywebsite", [$comment.url, $comment.url] )
+ #end
+ #if( $showPermalink )
+ <a href="${ctxPath}/comments/${userName}/${page.link}/${entry.anchor}#comment${velocityCount}"
+ class="entrypermalink"
+ title="$text.get( "macro.weblog.commentpermalink.title" )">#</a>
+ #end
+ </p>
+#end
+
+#**
+ * Display comments for an entry.
+ * @param entry WeblogEntry object.
+ *#
+#macro( showComments $entry )
+ <div class="comments" id="comments">
+ #if( $previewComments )
+ #set( $comments = $previewComments )
+ <div class="comments-head">$text.get( "macro.weblog.preview" ):</div>
+ #else
+ <div class="comments-head">$text.get( "macro.weblog.comments" ):</div>
+ #set( $comments = $entry.comments )
+ #end
+ #showStatusMessage()
+ <br/>
+ #foreach( $comment in $comments )
+ #set($content = $utilities.encodeEmail($comment.content))
+ #if($escapeHtml)
+ #set($content = $utilities.escapeHTML($content))
+ #end
+ #if($autoformat)
+ #set($content = $utilities.autoformat($content))
+ #end
+ <div class="comment" id="comment${velocityCount}">
+ ${content}
+
+ #showCommentDetails($comment true)
+ </div>
+ #end
+ </div>
+#end
+
+#**
+ * Display recent comments for whole blog (not just one entry).
+**#
+#macro( showRecentComments $numComments )
+ #if( !$numComments ) #set( $numComments = 20 ) #end
+ #if( $numComments > 100 ) #set( $numComments = 50 ) #end
+ #set( $comments = $pageModel.getRecentComments($numComments) )
+ <div class="comments" id="comments">
+ #foreach( $comment in $comments )
+ #set($content = $utilities.encodeEmail($comment.content))
+ #if($escapeHtml)
+ #set($content = $utilities.escapeHTML($content))
+ #end
+ #if($autoformat)
+ #set($content = $stringUtils.replace($content,"\n","<br />"))
+ #end
+ <div class="comment" style="border: 1px solid #dadada; padding-left: 3px; padding-right: 5px;" >
+ <p>Commenting on <a class="entrypermalink"
+ href="${ctxPath}${comment.weblogEntry.permaLink}">${comment.weblogEntry.title}</a>:</p>
+ ${content}
+ #showCommentDetails($comment false)
+ </div>
+ #end
+ </div>
+#end
+
+#**
+ * Display list of recent comments. $maxWidth determines the amount of text
+ * from the comment to display in the list.
+**#
+#macro( showRecentCommentsListWidth $numComments $maxWidth )
+ #if( !$numComments ) #set( $numComments = 20 ) #end
+ #if( $numComments > 100 ) #set( $numComments = 100 ) #end
+ #set( $minWidth = $maxWidth - 5 )
+ #set( $comments = $pageModel.getRecentComments($numComments) )
+ <ul class="commentsList">Recent Comments
+ #foreach( $comment in $comments )
+ #set($content = $utilities.encodeEmail($comment.content))
+ <li class="commentsListItem"><a
+ href="${ctxPath}/comments/${userName}/${page.link}/${comment.weblogEntry.anchor}#comments"
+ class="entrypermalink"
+ title="$text.get( "macro.weblog.commentpermalink.title" ) to
+ '$utilities.removeHTML($comment.weblogEntry.title)'"
+ >$utilities.truncateNicely($utilities.removeHTML($content), $minWidth, $maxWidth, "...")</a>
+ </li>
+ #end
+ </ul>
+#end
+#**
+ * Convenience method. Show list with 25 character width.
+**#
+#macro( showRecentCommentsList $numComments )
+#showRecentCommentsListWidth( $numComments 25 )
+#end
+
+#**
+ * Display comment form for a weblog entry.
+ * @param entry WeblogEntry object.
+ *#
+#macro( showCommentForm $entry )
+ <div class="comments-form">
+ <div class="comments-head">$text.get("macro.weblog.postcommentHeader")</div><br/>
+ <form method="post" action="$ctxPath/comment.do" focus="name"
+ name="form" onsubmit="fixURL(this); return validateComments(this)">
+
+ <!-- is this a publish or a preview -->
+ <input type="hidden" name="method" value="updateFromPage" />
+ <input type="hidden" name="entryid" value="$entry.id" />
+
+ <table cellspacing="0" cellpadding="1" border="0" width="95%">
+ <tr><th>$text.get( "macro.weblog.name" )</th>
+ <td><input type="text" name="name" value="$commentForm.name" size="50" maxlength="255" /></td>
+ </tr>
+
+ <tr><th>$text.get( "macro.weblog.email" )</th>
+ <td><input type="text" name="email" value="$commentForm.email" size="50" maxlength="255" /></td>
+ </tr>
+
+ <tr><th>$text.get( "macro.weblog.url" )</th>
+ <td><input type="text" name="url" value="$commentForm.url" size="50" maxlength="255" /></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>
+ <input type="checkbox" id="rememberInfo" name="rememberInfo" />
+ <label for="rememberInfo">$text.get( "macro.weblog.rememberinfo" )</label>
+ </td>
+ </tr>
+ </table>
+ <br/>
+
+ <table>
+ <tr><th>$text.get( "macro.weblog.yourcomment" )</th></tr>
+ <tr>
+ <td>
+ <textarea name="content" cols="50" rows="10">$commentForm.content</textarea><br />
+ <span style="comments-syntax-indicator">
+ $text.get( "macro.weblog.htmlsyntax" )
+ #if( $escapeHtml )
+ <span class="disabled">$text.get( "macro.weblog.htmldisabled" )</span>
+ #else
+ <span class="enabled">$text.get( "macro.weblog.htmlenabled" )</span>
+ #end
+ </span>
+ </td>
+ </tr>
+ </table>
+
+ <table cellspacing="0" cellpadding="1" border="0" width="95%">
+ <tr>
+ <td align="left" nowrap="nowrap">
+ <input type="button" name="post" value=" $text.get( "macro.weblog.preview" ) "
+ onClick="this.form.method.value='previewFromPage';this.form.submit()" />
+ <input type="submit" name="post" value=" $text.get( "macro.weblog.post" ) " />
+ </td>
+ <td align="right">
+ <!-- <input type="button" value=" $text.get( "macro.weblog.clear" ) " /> -->
+ </td>
+ </tr>
+ </table>
+
+ </form>
+
+ <script type="text/javascript" src="$ctxPath/theme/scripts/roller.js"></script>
+ <script type="text/javascript">
+ var author = getCookie("commentAuthor");
+ var email = getCookie("commentEmail");
+ var url = getCookie("commentUrl");
+ // check each field - IE will render "null"
+ if (author) {
+ theForm.name.value = author;
+ }
+ if (email) {
+ theForm.email.value = email;
+ }
+ if (url) {
+ theForm.url.value = url;
+ }
+
+ if (author || email || url) {
+ theForm.rememberInfo.checked = true;
+ }
+
+ function fixURL(theForm) {
+ if (theForm.url.value != "" &&
+ theForm.url.value.indexOf("http://") == -1) { //prepend http://
+ theForm.url.value = "http://"+theForm.url.value;
+ }
+ saveUserInformation(theForm);
+ }
+
+ function saveUserInformation(theForm) {
+ if (theForm.rememberInfo.checked) {
+ rememberUser(theForm);
+ } else {
+ forgetUser(theForm);
+ }
+ }
+
+ function validateComments(theForm) {
+ if (theForm.content.value == "") {
+ alert("$text.get( "macro.weblog.commentwarning" )");
+ theForm.content.focus();
+ return false;
+ }
+ }
+ </script>
+ </div>
+#end
+
+#**
+ * Display hidden comment form for a weblog entry.
+ * @param entry WeblogEntry object.
+ *#
+#macro( showHiddenCommentForm )
+ <div style="display: none" class="comments">
+ <div id="commentBoxTemplate" class="commentBox">
+ <form class="commentFormBox" id="commentForm"
+ method="post" action="$ctxPath/comment.do"
+ onsubmit="onSubmitComments(this.entryid.value);fixURL(this);return validateComments(this)">
+
+ <table>
+ <tr class="commentFormRow">
+ <td>$text.get( "macro.weblog.name" )</td>
+ <td>
+ <input name="name" type="text" class="commentFormInput" size="50"/>
+ <input type="hidden" name="method" value="updateFromPage" />
+ <input type="hidden" name="entryid" value="" id="entryid" />
+ </td>
+ </tr>
+ <tr class="commentFormRow">
+ <td>$text.get( "macro.weblog.email" )</td>
+ <td><input name="email" type="text" class="commentFormInput" size="50"/></td>
+ </tr>
+ <tr class="commentFormRow">
+ <td>$text.get( "macro.weblog.url" )</td>
+ <td><input name="url" type="text" class="commentFormInput" size="50"/></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>
+ <input type="checkbox" id="rememberInfo" name="rememberInfo" />
+ <label for="rememberInfo">$text.get( "macro.weblog.rememberinfo" )</label>
+ </td>
+ </tr>
+ </table>
+ <div class="commentFormRow">
+ <textarea name="content" class="commentFormTextarea" rows="4" cols="60"></textarea>
+ <div class="htmlSyntax">
+ $text.get( "macro.weblog.htmlsyntax" )
+ #if( $escapeHtml )
+ <span class="disabled">$text.get( "macro.weblog.htmldisabled" )</span>
+ #else
+ <span class="enabled">$text.get( "macro.weblog.htmlenabled" )</span>
+ #end
+ </div>
+ </div>
+ <div class="commentFormRow">
+ <input type="submit" name="post" value=" $text.get( "macro.weblog.postcomment" ) " />
+ </div>
+ </form>
+ </div>
+ <script type="text/javascript">
+ // add a target to the iframe on the commentForm
+ var commentForm = document.getElementById("commentForm");
+ commentForm.target = "commentFrame";
+ </script>
+
+ <div id="commentTemplate" class="comment">
+ <div class="commentBody" id="commentBody"></div>
+ <div class="commentByline">
+ <a class="commentAuthor" id="commentAuthorLink"></a>
+ <span> on </span><span id="commentTimestamp"></span>
+ </div>
+ </div>
+
+ <iframe name="commentFrame" src="about:blank"></iframe>
+
+ <script type="text/javascript" src="$ctxPath/theme/scripts/roller.js"></script>
+ </div>
+#end
Added: incubator/roller/trunk/web/WEB-INF/classes/commons-logging.properties
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/WEB-INF/classes/commons-logging.properties?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/WEB-INF/classes/commons-logging.properties (added)
+++ incubator/roller/trunk/web/WEB-INF/classes/commons-logging.properties Wed Jun 8 09:06:16 2005
@@ -0,0 +1 @@
+org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory
\ No newline at end of file
Added: incubator/roller/trunk/web/WEB-INF/classes/flavors/atom.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/WEB-INF/classes/flavors/atom.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/WEB-INF/classes/flavors/atom.vm (added)
+++ incubator/roller/trunk/web/WEB-INF/classes/flavors/atom.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding='utf-8'?>
+$pageHelper.setContentType("application/atom+xml;charset=utf-8")
+<feed version="0.2" xmlns="http://purl.org/atom/ns#">
+ <title>$utilities.textToHTML($website.name,true)</title>
+ <tagline>$utilities.textToHTML($website.description,true)</tagline>
+ <link>$websiteURL</link>
+ <modified>$utilities.formatIso8601Date($updateTime)</modified>
+ <generator name="RollerWeblogger 0.9.9">http://www.rollerweblogger.org</generator>
+
+ #set( $entries = $pageModel.getRecentWeblogEntriesArray($entryCount, 'nil') )
+ #foreach( $entry in $entries )
+ <entry xmlns="http://example.com/newformat#" >
+ <title>$utilities.textToHTML($entry.title,true)</title>
+ <summary>#showEntryDescription($entry)</summary>
+
+ <author>
+ <name>$fullName</name>
+ <url>$websiteURL</url>
+ <email>$emailAddress</email>
+ </author>
+
+ <issued>$utilities.formatIso8601Date($entry.pubTime)</issued>
+ <created>$utilities.formatIso8601Date($entry.pubTime)</created>
+ <modified>$utilities.formatIso8601Date($entry.updateTime)</modified>
+
+ <link>$absBaseURL$entry.permaLink</link>
+ <id>urn:rollerweblogger.org:entry:$entry.id</id>
+
+ <content type="application/xhtml+xml" xml:lang="en-us">
+ #showEntryText($entry)
+ </content>
+ <!--
+ #if( $entry.website.allowComments )
+ #if( ! $website.allowComments )
+ ## if the $entry.website is different than the $website then we are
+ ## producing an aggregated feed and we need to form the full URL.
+ <comment>$absBaseURL/page/$entry.website.user.userName?anchor=$entry.anchor</comment>
+ #else
+ <comment>$absBaseURL?anchor=$entry.anchor</comment>
+ #end
+ #end
+ -->
+ </entry>
+ #end
+</feed>
\ No newline at end of file
Added: incubator/roller/trunk/web/WEB-INF/classes/flavors/foaf.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/WEB-INF/classes/flavors/foaf.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/WEB-INF/classes/flavors/foaf.vm (added)
+++ incubator/roller/trunk/web/WEB-INF/classes/flavors/foaf.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:foaf="http://xmlns.com/foaf/0.1/">
+ <foaf:Person>
+ <foaf:name>$fullName</foaf:name>
+ #if ($shaEmail)
+ <foaf:mbox_sha1sum>$shaEmail</foaf:mbox_sha1sum>
+ #elseif ($encodedEmail)
+ <foaf:mbox rdf:resource="mailto:$encodedEmail" />
+ #end
+ <foaf:homepage rdf:resource="$websiteURL" />
+ #if ($weblog)
+ <foaf:weblog rdf:resource="$weblog" />
+ #end
+ </foaf:Person>
+</rdf:RDF>
\ No newline at end of file
Added: incubator/roller/trunk/web/WEB-INF/classes/flavors/opml.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/WEB-INF/classes/flavors/opml.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/WEB-INF/classes/flavors/opml.vm (added)
+++ incubator/roller/trunk/web/WEB-INF/classes/flavors/opml.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding='utf-8'?>
+$pageHelper.setContentType("text/xml")
+<opml version="1.1">
+<head>
+<title>Roller-generated OPML</title>
+</head>
+#macro( spaces $depth )#foreach( $i in [0..$depth] ) #end#end
+#**
+* Recursive VelociMacro to render OPML for folder.
+* @param folder Folder to be rendered as OPML or null to render from top.
+*#
+#macro( genOpml $folder $depth )
+ #set( $depth = $depth + 1 )
+ #if( !$folder )
+ <outline text="Roller-generated OPML">
+ #set( $topfolders = $pageModel.getTopLevelFolders() )
+ #foreach( $topfolder in $topfolders )
+ #genOpml( $topfolder $depth )
+ #end
+ </outline>
+ #else
+ #spaces($depth)<outline text="$utilities.textToXML($folder.name)">
+ #set( $bookmarks = $folder.getBookmarks() )
+ #foreach( $bookmark in $bookmarks )
+ #if( $bookmark.feedUrl && $bookmark.feedUrl.trim().length()>0 )
+ #set($feedUrl = $bookmark.feedUrl)
+ #end
+ #spaces($depth)<outline #if($bookmark.url)text="$utilities.textToXML($bookmark.name)"#end
+ #spaces($depth) #if($feedUrl)type="rss"#end
+ #spaces($depth) #if($bookmark.url)htmlUrl="$utilities.textToXML($bookmark.url)"#end
+ #spaces($depth) #if($feedUrl)xmlUrl="$utilities.textToXML($feedUrl)"#end
+ #spaces($depth) />
+ #end
+ #set( $subfolders = $folder.getFolders() )
+ #foreach( $subfolder in $subfolders )
+ #genOpml( $subfolder $depth )
+ #end
+ #spaces($depth)</outline>
+ #end
+ #set( $depth = $depth - 1 )
+#end
+<body>
+#set( $folderPath = $pageModel.getRequestParameter("path") )
+#if( $folderPath )
+ #set( $folder = $pageModel.getFolderByPath($folderPath) )
+#end
+#genOpml( $folder 0 )
+</body>
+</opml>
\ No newline at end of file
Added: incubator/roller/trunk/web/WEB-INF/classes/flavors/rss.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/WEB-INF/classes/flavors/rss.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/WEB-INF/classes/flavors/rss.vm (added)
+++ incubator/roller/trunk/web/WEB-INF/classes/flavors/rss.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+$pageHelper.setContentType("application/rss+xml;charset=utf-8")
+<rss version="2.0">
+<channel>
+ <title>$utilities.textToHTML($website.name,true)</title>
+ <link>$websiteURL</link>
+ <description>$utilities.textToHTML($website.description,true)</description>
+ <language>en-us</language>
+ <copyright>Copyright #formatDate("yyyy" $now)</copyright>
+ <lastBuildDate>$utilities.formatRfc822Date($updateTime)</lastBuildDate>
+ <generator>Roller Weblogger #showVersion() ($rollerBuildTime:$rollerBuildUser)</generator>
+ <managingEditor>$emailAddress</managingEditor>
+ <webMaster>$emailAddress</webMaster>
+ #set( $entries = $pageModel.getRecentWeblogEntriesArray($entryCount, 'nil') )
+ #foreach( $entry in $entries )
+ <item>
+ <title>$utilities.textToHTML($entry.title,true)</title>
+ #if( $entry.link && !$entry.link.trim().equals("") )
+ <link>$utilities.textToHTML($entry.link)</link>
+ #end
+ <description>#showEntryDescription($entry)</description>
+ <category>$entry.category.name</category>
+ <guid isPermaLink="true">$absBaseURL$entry.permaLink</guid>
+ #if( $website.allowComments )
+ <comments>$absBaseURL/page/$entry.website.user.userName?anchor=$entry.anchor</comments>
+ #end
+ <pubDate>$utilities.formatRfc822Date($entry.pubTime)</pubDate>
+ </item>
+ #end
+</channel>
+</rss>
\ No newline at end of file
Added: incubator/roller/trunk/web/WEB-INF/classes/flavors/rss091.vm
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/web/WEB-INF/classes/flavors/rss091.vm?rev=189602&view=auto
==============================================================================
--- incubator/roller/trunk/web/WEB-INF/classes/flavors/rss091.vm (added)
+++ incubator/roller/trunk/web/WEB-INF/classes/flavors/rss091.vm Wed Jun 8 09:06:16 2005
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+$pageHelper.setContentType("text/xml;charset=utf-8")
+<rss version="0.91">
+ <channel>
+ <title>$utilities.textToHTML($website.name,true)</title>
+ <link>$websiteURL</link>
+ <description>$utilities.textToHTML($website.description,true)</description>
+ <language>en-us</language>
+ <copyright>Copyright #formatDate("yyyy" $now)</copyright>
+ <managingEditor>$emailAddress</managingEditor>
+ <webMaster>$emailAddress</webMaster>
+ #set( $entries = $pageModel.getRecentWeblogEntriesArray($entryCount, 'nil') )
+ #foreach( $entry in $entries )
+ <item>
+ <title>$utilities.textToHTML($entry.title,true)</title>
+ <link>$absBaseURL$entry.permaLink</link>
+ <description>#showEntryDescription($entry)</description>
+ </item>
+ #end
+ </channel>
+</rss>
\ No newline at end of file