portals-pluto-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cdore...@apache.org
Subject svn commit: r562725 [13/33] - in /portals/pluto/branches/1.1-286-trunk-merge: ./ assembly/ assembly/src/ assembly/src/main/ assembly/src/main/assembly/ assembly/src/main/resources/ maven-pluto-plugin/ maven-pluto-plugin/src/ maven-pluto-plugin/src/main...
Date Sat, 04 Aug 2007 14:41:49 GMT
Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/java/org/apache/pluto/descriptors/services/castor/WebAppDescriptorServiceImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/java/org/apache/pluto/descriptors/services/castor/WebAppDescriptorServiceImpl.java?view=auto&rev=562725
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/java/org/apache/pluto/descriptors/services/castor/WebAppDescriptorServiceImpl.java (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/java/org/apache/pluto/descriptors/services/castor/WebAppDescriptorServiceImpl.java Sat Aug  4 07:41:23 2007
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2005 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pluto.descriptors.services.castor;
+
+import org.apache.pluto.descriptors.services.Constants;
+import org.apache.pluto.descriptors.services.WebAppDescriptorService;
+import org.apache.pluto.descriptors.servlet.WebAppDD;
+import org.exolab.castor.mapping.Mapping;
+import org.exolab.castor.mapping.MappingException;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URL;
+
+/**
+ * Abstract Implementation of the Web Application Deployment
+ * Descriptor service.  Provides default implementation of
+ * the service; requiring only that subclasses provide the
+ * input streams to/from the actual descriptor.
+ *
+ * @author <a href="ddewolf@apache.org">David H. DeWolf</a>
+ * @version $Id: WebAppDescriptorServiceImpl.java 156743 2005-03-10 05:50:30Z ddewolf $
+ * @since Mar 5, 2005
+ */
+public class WebAppDescriptorServiceImpl
+    extends AbstractCastorDescriptorService
+    implements WebAppDescriptorService {
+
+    public static final String WEB_XML_MAPPING = "castor-web-xml-mapping.xml";
+
+    /**
+     * Read the Web Application Deployment Descriptor.
+     *
+     * @return WebAppDD instance representing the descriptor.
+     * @throws IOException
+     */
+    public WebAppDD read(InputStream in) throws IOException {
+        WebAppDD webApp = (WebAppDD) readInternal(in);
+       return webApp;
+    }
+
+    /**
+     * Write the deployment descriptor.
+     * @param webApp
+     * @throws IOException
+     */
+    public void write(WebAppDD webApp, OutputStream out) throws IOException {
+        writeInternal(webApp, out);
+    }
+
+    /**
+     * Retrieve the Web Application Deployment
+     * descriptor's public Id.
+     * @return
+     */
+    protected String getPublicId() {
+        return Constants.WEB_XML_PUBLIC_ID;
+    }
+
+    /**
+     * Retrieve the Web Application Deployment
+     * descriptor's DTD uri.
+     * @return
+     */
+    protected String getDTDUri() {
+        return Constants.WEB_XML_DTD;
+    }
+
+    /**
+     * Read and Retrieve the Web Application's Castor Mapping
+     * resource.
+     *
+     * @return
+     * @throws IOException
+     * @throws MappingException
+     */
+    protected Mapping getCastorMapping()
+    throws IOException, MappingException {
+        URL url = getClass().getResource(WEB_XML_MAPPING);
+        if(url == null)
+            throw new NullPointerException(
+                    "Configuration Error.  Resource: "+WEB_XML_MAPPING+" not found."
+            );
+        Mapping mapping = new Mapping();
+        mapping.loadMapping(url);
+        return mapping;
+    }
+
+}
+

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/java/org/apache/pluto/descriptors/services/jaxb/PortletAppDescriptorServiceImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/java/org/apache/pluto/descriptors/services/jaxb/PortletAppDescriptorServiceImpl.java?view=auto&rev=562725
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/java/org/apache/pluto/descriptors/services/jaxb/PortletAppDescriptorServiceImpl.java (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/java/org/apache/pluto/descriptors/services/jaxb/PortletAppDescriptorServiceImpl.java Sat Aug  4 07:41:23 2007
@@ -0,0 +1,60 @@
+package org.apache.pluto.descriptors.services.jaxb;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+
+import org.apache.pluto.descriptors.portlet.PortletAppDD;
+import org.apache.pluto.descriptors.services.PortletAppDescriptorService;
+
+/** 
+ *  JAXB implementation of the xml2java binding
+ *  @author <a href="mailto:chrisra@cs.uni-jena.de">Christian Raschka</a>
+ *  TODO: better error handling
+ */
+
+public class PortletAppDescriptorServiceImpl implements PortletAppDescriptorService{
+	
+	/**
+     * Read the Web Application Deployment Descriptor.
+     *
+     * @return WebAppDD instance representing the descriptor.
+     * @throws java.io.IOException
+     */
+    
+    public PortletAppDD read(InputStream in) throws IOException {
+    	JAXBElement<PortletAppDD> portletApp = null;
+    	try {
+    		JAXBContext jc = JAXBContext.newInstance( 
+    				"org.apache.pluto.descriptors.portlet" + ":" +
+    				"org.apache.pluto.descriptors.common");
+
+    		Unmarshaller u = jc.createUnmarshaller();
+    		u.setEventHandler(new javax.xml.bind.helpers.DefaultValidationEventHandler());
+
+    		portletApp = (JAXBElement<PortletAppDD>) u.unmarshal(in);	            
+    	}catch (JAXBException jaxbEx){
+    		jaxbEx.printStackTrace();
+    		throw new IOException(jaxbEx.getMessage());
+    	}
+    	catch(Exception me) {
+    		throw new IOException(me.getLocalizedMessage());
+    	}
+
+    	return portletApp.getValue();
+    }
+    
+    /**
+     * Write the deployment descriptor.
+     * @param portlet
+     * @throws java.io.IOException
+     */
+    public void write(PortletAppDD portlet, OutputStream out) throws IOException {
+    	throw new UnsupportedOperationException("writing jaxb content not yet supported");
+    }
+}

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/XMLSchema.dtd
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/XMLSchema.dtd?view=auto&rev=562725
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/XMLSchema.dtd (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/XMLSchema.dtd Sat Aug  4 07:41:23 2007
@@ -0,0 +1,418 @@
+<!-- 
+Copyright 2004 The Apache Software Foundation
+Licensed  under the  Apache License,  Version 2.0  (the "License");
+you may not use  this file  except in  compliance with the License.
+You may obtain a copy of the License at 
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed  under the  License is distributed on an "AS IS" BASIS,
+WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
+implied.
+
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<!-- DTD for XML Schemas: Part 1: Structures
+     Public Identifier: "-//W3C//DTD XMLSCHEMA 200102//EN"
+     Official Location: http://www.w3.org/2001/XMLSchema.dtd -->
+<!-- $Id: XMLSchema.dtd,v 1.1.1.1 2003/09/30 14:03:01 rubys Exp $ -->
+<!-- Note this DTD is NOT normative, or even definitive. -->           <!--d-->
+<!-- prose copy in the structures REC is the definitive version -->    <!--d-->
+<!-- (which shouldn't differ from this one except for this -->         <!--d-->
+<!-- comment and entity expansions, but just in case) -->              <!--d-->
+<!-- With the exception of cases with multiple namespace
+     prefixes for the XML Schema namespace, any XML document which is
+     not valid per this DTD given redefinitions in its internal subset of the
+     'p' and 's' parameter entities below appropriate to its namespace
+     declaration of the XML Schema namespace is almost certainly not
+     a valid schema. -->
+
+<!-- The simpleType element and its constituent parts
+     are defined in XML Schema: Part 2: Datatypes -->
+<!ENTITY % xs-datatypes PUBLIC 'datatypes' 'datatypes.dtd' >
+
+<!ENTITY % p 'xs:'> <!-- can be overriden in the internal subset of a
+                         schema document to establish a different
+                         namespace prefix -->
+<!ENTITY % s ':xs'> <!-- if %p is defined (e.g. as foo:) then you must
+                         also define %s as the suffix for the appropriate
+                         namespace declaration (e.g. :foo) -->
+<!ENTITY % nds 'xmlns%s;'>
+
+<!-- Define all the element names, with optional prefix -->
+<!ENTITY % schema "%p;schema">
+<!ENTITY % complexType "%p;complexType">
+<!ENTITY % complexContent "%p;complexContent">
+<!ENTITY % simpleContent "%p;simpleContent">
+<!ENTITY % extension "%p;extension">
+<!ENTITY % element "%p;element">
+<!ENTITY % unique "%p;unique">
+<!ENTITY % key "%p;key">
+<!ENTITY % keyref "%p;keyref">
+<!ENTITY % selector "%p;selector">
+<!ENTITY % field "%p;field">
+<!ENTITY % group "%p;group">
+<!ENTITY % all "%p;all">
+<!ENTITY % choice "%p;choice">
+<!ENTITY % sequence "%p;sequence">
+<!ENTITY % any "%p;any">
+<!ENTITY % anyAttribute "%p;anyAttribute">
+<!ENTITY % attribute "%p;attribute">
+<!ENTITY % attributeGroup "%p;attributeGroup">
+<!ENTITY % include "%p;include">
+<!ENTITY % import "%p;import">
+<!ENTITY % redefine "%p;redefine">
+<!ENTITY % notation "%p;notation">
+
+<!-- annotation elements -->
+<!ENTITY % annotation "%p;annotation">
+<!ENTITY % appinfo "%p;appinfo">
+<!ENTITY % documentation "%p;documentation">
+
+<!-- Customisation entities for the ATTLIST of each element type.
+     Define one of these if your schema takes advantage of the
+     anyAttribute='##other' in the schema for schemas -->
+
+<!ENTITY % schemaAttrs ''>
+<!ENTITY % complexTypeAttrs ''>
+<!ENTITY % complexContentAttrs ''>
+<!ENTITY % simpleContentAttrs ''>
+<!ENTITY % extensionAttrs ''>
+<!ENTITY % elementAttrs ''>
+<!ENTITY % groupAttrs ''>
+<!ENTITY % allAttrs ''>
+<!ENTITY % choiceAttrs ''>
+<!ENTITY % sequenceAttrs ''>
+<!ENTITY % anyAttrs ''>
+<!ENTITY % anyAttributeAttrs ''>
+<!ENTITY % attributeAttrs ''>
+<!ENTITY % attributeGroupAttrs ''>
+<!ENTITY % uniqueAttrs ''>
+<!ENTITY % keyAttrs ''>
+<!ENTITY % keyrefAttrs ''>
+<!ENTITY % selectorAttrs ''>
+<!ENTITY % fieldAttrs ''>
+<!ENTITY % includeAttrs ''>
+<!ENTITY % importAttrs ''>
+<!ENTITY % redefineAttrs ''>
+<!ENTITY % notationAttrs ''>
+<!ENTITY % annotationAttrs ''>
+<!ENTITY % appinfoAttrs ''>
+<!ENTITY % documentationAttrs ''>
+
+<!ENTITY % complexDerivationSet "CDATA">
+      <!-- #all or space-separated list drawn from derivationChoice -->
+<!ENTITY % blockSet "CDATA">
+      <!-- #all or space-separated list drawn from
+                      derivationChoice + 'substitution' -->
+
+<!ENTITY % mgs '%all; | %choice; | %sequence;'>
+<!ENTITY % cs '%choice; | %sequence;'>
+<!ENTITY % formValues '(qualified|unqualified)'>
+
+
+<!ENTITY % attrDecls    '((%attribute;| %attributeGroup;)*,(%anyAttribute;)?)'>
+
+<!ENTITY % particleAndAttrs '((%mgs; | %group;)?, %attrDecls;)'>
+
+<!-- This is used in part2 -->
+<!ENTITY % restriction1 '((%mgs; | %group;)?)'>
+
+%xs-datatypes;
+
+<!-- the duplication below is to produce an unambiguous content model
+     which allows annotation everywhere -->
+<!ELEMENT %schema; ((%include; | %import; | %redefine; | %annotation;)*,
+                    ((%simpleType; | %complexType;
+                      | %element; | %attribute;
+                      | %attributeGroup; | %group;
+                      | %notation; ),
+                     (%annotation;)*)* )>
+<!ATTLIST %schema;
+   targetNamespace      %URIref;               #IMPLIED
+   version              CDATA                  #IMPLIED
+   %nds;                %URIref;               #FIXED 'http://www.w3.org/2001/XMLSchema'
+   xmlns                CDATA                  #IMPLIED
+   finalDefault         %complexDerivationSet; ''
+   blockDefault         %blockSet;             ''
+   id                   ID                     #IMPLIED
+   elementFormDefault   %formValues;           'unqualified'
+   attributeFormDefault %formValues;           'unqualified'
+   xml:lang             CDATA                  #IMPLIED
+   %schemaAttrs;>
+<!-- Note the xmlns declaration is NOT in the Schema for Schemas,
+     because at the Infoset level where schemas operate,
+     xmlns(:prefix) is NOT an attribute! -->
+<!-- The declaration of xmlns is a convenience for schema authors -->
+ 
+<!-- The id attribute here and below is for use in external references
+     from non-schemas using simple fragment identifiers.
+     It is NOT used for schema-to-schema reference, internal or
+     external. -->
+
+<!-- a type is a named content type specification which allows attribute
+     declarations-->
+<!-- -->
+
+<!ELEMENT %complexType; ((%annotation;)?,
+                         (%simpleContent;|%complexContent;|
+                          %particleAndAttrs;))>
+
+<!ATTLIST %complexType;
+          name      %NCName;                        #IMPLIED
+          id        ID                              #IMPLIED
+          abstract  %boolean;                       #IMPLIED
+          final     %complexDerivationSet;          #IMPLIED
+          block     %complexDerivationSet;          #IMPLIED
+          mixed (true|false) 'false'
+          %complexTypeAttrs;>
+
+<!-- particleAndAttrs is shorthand for a root type -->
+<!-- mixed is disallowed if simpleContent, overriden if complexContent
+     has one too. -->
+
+<!-- If anyAttribute appears in one or more referenced attributeGroups
+     and/or explicitly, the intersection of the permissions is used -->
+
+<!ELEMENT %complexContent; ((%annotation;)?, (%restriction;|%extension;))>
+<!ATTLIST %complexContent;
+          mixed (true|false) #IMPLIED
+          id    ID           #IMPLIED
+          %complexContentAttrs;>
+
+<!-- restriction should use the branch defined above, not the simple
+     one from part2; extension should use the full model  -->
+
+<!ELEMENT %simpleContent; ((%annotation;)?, (%restriction;|%extension;))>
+<!ATTLIST %simpleContent;
+          id    ID           #IMPLIED
+          %simpleContentAttrs;>
+
+<!-- restriction should use the simple branch from part2, not the 
+     one defined above; extension should have no particle  -->
+
+<!ELEMENT %extension; ((%annotation;)?, (%particleAndAttrs;))>
+<!ATTLIST %extension;
+          base  %QName;      #REQUIRED
+          id    ID           #IMPLIED
+          %extensionAttrs;>
+
+<!-- an element is declared by either:
+ a name and a type (either nested or referenced via the type attribute)
+ or a ref to an existing element declaration -->
+
+<!ELEMENT %element; ((%annotation;)?, (%complexType;| %simpleType;)?,
+                     (%unique; | %key; | %keyref;)*)>
+<!-- simpleType or complexType only if no type|ref attribute -->
+<!-- ref not allowed at top level -->
+<!ATTLIST %element;
+            name               %NCName;               #IMPLIED
+            id                 ID                     #IMPLIED
+            ref                %QName;                #IMPLIED
+            type               %QName;                #IMPLIED
+            minOccurs          %nonNegativeInteger;   #IMPLIED
+            maxOccurs          CDATA                  #IMPLIED
+            nillable           %boolean;              #IMPLIED
+            substitutionGroup  %QName;                #IMPLIED
+            abstract           %boolean;              #IMPLIED
+            final              %complexDerivationSet; #IMPLIED
+            block              %blockSet;             #IMPLIED
+            default            CDATA                  #IMPLIED
+            fixed              CDATA                  #IMPLIED
+            form               %formValues;           #IMPLIED
+            %elementAttrs;>
+<!-- type and ref are mutually exclusive.
+     name and ref are mutually exclusive, one is required -->
+<!-- In the absence of type AND ref, type defaults to type of
+     substitutionGroup, if any, else the ur-type, i.e. unconstrained -->
+<!-- default and fixed are mutually exclusive -->
+
+<!ELEMENT %group; ((%annotation;)?,(%mgs;)?)>
+<!ATTLIST %group; 
+          name        %NCName;               #IMPLIED
+          ref         %QName;                #IMPLIED
+          minOccurs   %nonNegativeInteger;   #IMPLIED
+          maxOccurs   CDATA                  #IMPLIED
+          id          ID                     #IMPLIED
+          %groupAttrs;>
+
+<!ELEMENT %all; ((%annotation;)?, (%element;)*)>
+<!ATTLIST %all;
+          minOccurs   (1)                    #IMPLIED
+          maxOccurs   (1)                    #IMPLIED
+          id          ID                     #IMPLIED
+          %allAttrs;>
+
+<!ELEMENT %choice; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
+<!ATTLIST %choice;
+          minOccurs   %nonNegativeInteger;   #IMPLIED
+          maxOccurs   CDATA                  #IMPLIED
+          id          ID                     #IMPLIED
+          %choiceAttrs;>
+
+<!ELEMENT %sequence; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
+<!ATTLIST %sequence;
+          minOccurs   %nonNegativeInteger;   #IMPLIED
+          maxOccurs   CDATA                  #IMPLIED
+          id          ID                     #IMPLIED
+          %sequenceAttrs;>
+
+<!-- an anonymous grouping in a model, or
+     a top-level named group definition, or a reference to same -->
+
+<!-- Note that if order is 'all', group is not allowed inside.
+     If order is 'all' THIS group must be alone (or referenced alone) at
+     the top level of a content model -->
+<!-- If order is 'all', minOccurs==maxOccurs==1 on element/any inside -->
+<!-- Should allow minOccurs=0 inside order='all' . . . -->
+
+<!ELEMENT %any; (%annotation;)?>
+<!ATTLIST %any;
+            namespace       CDATA                  '##any'
+            processContents (skip|lax|strict)      'strict'
+            minOccurs       %nonNegativeInteger;   '1'
+            maxOccurs       CDATA                  '1'
+            id              ID                     #IMPLIED
+            %anyAttrs;>
+
+<!-- namespace is interpreted as follows:
+                  ##any      - - any non-conflicting WFXML at all
+
+                  ##other    - - any non-conflicting WFXML from namespace other
+                                  than targetNamespace
+
+                  ##local    - - any unqualified non-conflicting WFXML/attribute
+                  one or     - - any non-conflicting WFXML from
+                  more URI        the listed namespaces
+                  references
+
+                  ##targetNamespace ##local may appear in the above list,
+                    with the obvious meaning -->
+
+<!ELEMENT %anyAttribute; (%annotation;)?>
+<!ATTLIST %anyAttribute;
+            namespace       CDATA              '##any'
+            processContents (skip|lax|strict)  'strict'
+            id              ID                 #IMPLIED
+            %anyAttributeAttrs;>
+<!-- namespace is interpreted as for 'any' above -->
+
+<!-- simpleType only if no type|ref attribute -->
+<!-- ref not allowed at top level, name iff at top level -->
+<!ELEMENT %attribute; ((%annotation;)?, (%simpleType;)?)>
+<!ATTLIST %attribute;
+          name      %NCName;      #IMPLIED
+          id        ID            #IMPLIED
+          ref       %QName;       #IMPLIED
+          type      %QName;       #IMPLIED
+          use       (prohibited|optional|required) #IMPLIED
+          default   CDATA         #IMPLIED
+          fixed     CDATA         #IMPLIED
+          form      %formValues;  #IMPLIED
+          %attributeAttrs;>
+<!-- type and ref are mutually exclusive.
+     name and ref are mutually exclusive, one is required -->
+<!-- default for use is optional when nested, none otherwise -->
+<!-- default and fixed are mutually exclusive -->
+<!-- type attr and simpleType content are mutually exclusive -->
+
+<!-- an attributeGroup is a named collection of attribute decls, or a
+     reference thereto -->
+<!ELEMENT %attributeGroup; ((%annotation;)?,
+                       (%attribute; | %attributeGroup;)*,
+                       (%anyAttribute;)?) >
+<!ATTLIST %attributeGroup;
+                 name       %NCName;       #IMPLIED
+                 id         ID             #IMPLIED
+                 ref        %QName;        #IMPLIED
+                 %attributeGroupAttrs;>
+
+<!-- ref iff no content, no name.  ref iff not top level -->
+
+<!-- better reference mechanisms -->
+<!ELEMENT %unique; ((%annotation;)?, %selector;, (%field;)+)>
+<!ATTLIST %unique;
+          name     %NCName;       #REQUIRED
+	  id       ID             #IMPLIED
+	  %uniqueAttrs;>
+
+<!ELEMENT %key;    ((%annotation;)?, %selector;, (%field;)+)>
+<!ATTLIST %key;
+          name     %NCName;       #REQUIRED
+	  id       ID             #IMPLIED
+	  %keyAttrs;>
+
+<!ELEMENT %keyref; ((%annotation;)?, %selector;, (%field;)+)>
+<!ATTLIST %keyref;
+          name     %NCName;       #REQUIRED
+	  refer    %QName;        #REQUIRED
+	  id       ID             #IMPLIED
+	  %keyrefAttrs;>
+
+<!ELEMENT %selector; ((%annotation;)?)>
+<!ATTLIST %selector;
+          xpath %XPathExpr; #REQUIRED
+          id    ID          #IMPLIED
+          %selectorAttrs;>
+<!ELEMENT %field; ((%annotation;)?)>
+<!ATTLIST %field;
+          xpath %XPathExpr; #REQUIRED
+          id    ID          #IMPLIED
+          %fieldAttrs;>
+
+<!-- Schema combination mechanisms -->
+<!ELEMENT %include; (%annotation;)?>
+<!ATTLIST %include;
+          schemaLocation %URIref; #REQUIRED
+          id             ID       #IMPLIED
+          %includeAttrs;>
+
+<!ELEMENT %import; (%annotation;)?>
+<!ATTLIST %import;
+          namespace      %URIref; #IMPLIED
+          schemaLocation %URIref; #IMPLIED
+          id             ID       #IMPLIED
+          %importAttrs;>
+
+<!ELEMENT %redefine; (%annotation; | %simpleType; | %complexType; |
+                      %attributeGroup; | %group;)*>
+<!ATTLIST %redefine;
+          schemaLocation %URIref; #REQUIRED
+          id             ID       #IMPLIED
+          %redefineAttrs;>
+
+<!ELEMENT %notation; (%annotation;)?>
+<!ATTLIST %notation;
+	  name        %NCName;    #REQUIRED
+	  id          ID          #IMPLIED
+	  public      CDATA       #REQUIRED
+	  system      %URIref;    #IMPLIED
+	  %notationAttrs;>
+
+<!-- Annotation is either application information or documentation -->
+<!-- By having these here they are available for datatypes as well
+     as all the structures elements -->
+
+<!ELEMENT %annotation; (%appinfo; | %documentation;)*>
+<!ATTLIST %annotation; %annotationAttrs;>
+
+<!-- User must define annotation elements in internal subset for this
+     to work -->
+<!ELEMENT %appinfo; ANY>   <!-- too restrictive -->
+<!ATTLIST %appinfo;
+          source     %URIref;      #IMPLIED
+          id         ID         #IMPLIED
+          %appinfoAttrs;>
+<!ELEMENT %documentation; ANY>   <!-- too restrictive -->
+<!ATTLIST %documentation;
+          source     %URIref;   #IMPLIED
+          id         ID         #IMPLIED
+          xml:lang   CDATA      #IMPLIED
+          %documentationAttrs;>
+
+<!NOTATION XMLSchemaStructures PUBLIC
+           'structures' 'http://www.w3.org/2001/XMLSchema.xsd' >
+<!NOTATION XML PUBLIC
+           'REC-xml-1998-0210' 'http://www.w3.org/TR/1998/REC-xml-19980210' >

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/castor-portlet-xml-mapping.xml
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/castor-portlet-xml-mapping.xml?view=auto&rev=562725
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/castor-portlet-xml-mapping.xml (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/castor-portlet-xml-mapping.xml Sat Aug  4 07:41:23 2007
@@ -0,0 +1,215 @@
+<?xml version="1.0"?>
+<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version 1.0//EN"
+                         "http://castor.exolab.org/mapping.dtd">
+<!-- 
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+ 
+     http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+-->
+<mapping>
+  <description>Portlet Deployment Descriptor Mapping</description>
+
+  <!--
+   Bare Bones for now!
+   -->
+
+	<class name="org.apache.pluto.descriptors.portlet.PortletAppDD">
+		<map-to xml="portlet-app"/>
+		<field name="Portlets"
+			type="org.apache.pluto.descriptors.portlet.PortletDD"
+			collection="arraylist">
+			<bind-xml name="portlet" node="element"/>
+		</field>
+		<field name="Events"
+			type="org.apache.pluto.descriptors.portlet.EventDefinitionDD"
+			collection="arraylist">
+			<bind-xml name="event-definition" node="element"/>
+		</field>
+		<field name="Render"
+			type="org.apache.pluto.descriptors.portlet.PublicRenderParamDD"
+			collection="arraylist">
+			<bind-xml name="public-render-parameter" node="element"/>
+		</field>
+	</class>
+
+  <class name="org.apache.pluto.descriptors.portlet.PortletDD">
+    <field name="PortletName">
+      <bind-xml name="portlet-name" node="element"/>
+    </field>
+
+    <field name="PortletClass">
+      <bind-xml name="portlet-class" node="element"/>
+    </field>
+
+    <field name="PortletInfo" type="org.apache.pluto.descriptors.portlet.PortletInfoDD">
+      <bind-xml name="portlet-info" node="element"/>
+    </field>
+
+    <field name="InitParams" type="org.apache.pluto.descriptors.common.InitParamDD" collection="arraylist">
+      <bind-xml name="init-param" node="element" />
+    </field>
+		
+		<!-- processing Events -->
+		<field name="ProcessingEvents" type="java.lang.String" collection="arraylist">
+			<bind-xml name="supported-processing-event" node="element" />
+	  </field>
+		
+		<!-- publishing Events -->
+		<field name="PublishingEvents" type="java.lang.String"  collection="arraylist">
+			<bind-xml name="supported-publishing-event" node="element" />
+	  </field>	
+	  	
+	  <!-- Public-Render-Parameter -->
+		<field name="RenderParameter" type="java.lang.String"  collection="arraylist">
+			<bind-xml name="supported-public-render-parameter" node="element" />
+	  </field>	
+      
+    <field name="ResourceBundle">
+      <bind-xml name="resource-bundle" node="element"/>
+    </field>
+
+    <field name="SecurityRoleRefs"
+           type="org.apache.pluto.descriptors.common.SecurityRoleRefDD"
+           collection="arraylist">
+      <bind-xml name="security-role-ref" node="element"/>
+    </field>
+
+    <field name="Supports" type="org.apache.pluto.descriptors.portlet.SupportsDD"
+           collection="arraylist">
+      <bind-xml name="supports" node="element"/>
+    </field>
+
+    <field name="PortletPreferences" type="org.apache.pluto.descriptors.portlet.PortletPreferencesDD">
+      <bind-xml name="portlet-preferences" node="element" />
+    </field>
+  </class>
+	
+	<class name="org.apache.pluto.descriptors.portlet.EventDefinitionDD">
+		<field name="Description">
+			<bind-xml name="description" node="element" />
+		</field>
+    <field name="Name">
+      <bind-xml name="name" node="element"/>
+    </field>
+		<field name="JavaClass">
+			<bind-xml name="java-class" node="element" />
+		</field>
+		<field name="XmlType">
+			<bind-xml name="xml-type" node="element" />
+		</field>			
+		<field name="Alias" type="java.lang.String" collection="arraylist">
+			<bind-xml name="alias" node="element" />
+		</field>
+		<field name="ID">
+			<bind-xml name="id" node="element" />
+		</field>
+  </class>
+	
+	<class name="org.apache.pluto.descriptors.portlet.PublicRenderParamDD">
+		<field name="Description">
+			<bind-xml name="description" node="element" />
+		</field>
+	    <field name="Name">
+	      <bind-xml name="name" node="element"/>
+	    </field>			
+		<field name="Identifier">
+			<bind-xml name="identifier" node="element" />
+		</field>
+  </class>
+	
+  <class name="org.apache.pluto.descriptors.portlet.PortletInfoDD">
+    <map-to xml="portlet-info"/>
+    <field name="Title">
+      <bind-xml name="title" node="element"/>
+    </field>
+    <field name="Keywords">
+      <bind-xml name="keywords" node="element"/>
+    </field>
+    <field name="ShortTitle">
+      <bind-xml name="short-title" node="element"/>
+    </field>
+  </class>
+    
+  <class name="org.apache.pluto.descriptors.portlet.SupportsDD">
+    <map-to xml="supports"/>
+
+    <field name="MimeType">
+      <bind-xml name="mime-type" node="element"/>
+    </field>
+
+    <field name="PortletModes" type="java.lang.String"
+           collection="arraylist">
+      <bind-xml name="portlet-mode" node="element"/>
+    </field>
+  </class>
+
+  <class name="org.apache.pluto.descriptors.common.InitParamDD">
+    <field name="ParamName">
+      <bind-xml name="name" node="element"/>
+    </field>
+    <field name="ParamValue">
+      <bind-xml name="value" node="element"/>
+    </field>
+  </class>
+  
+ <!--  <class name="org.apache.pluto.descriptors.portlet.SharingParamDD">
+		<field name="Description">
+			<bind-xml name="description" node="element" />
+		</field>
+    <field name="Name">
+      <bind-xml name="name" node="element"/>
+    </field>
+		<field name="JavaType">
+			<bind-xml name="java-type" node="element" />
+		</field>
+		<field name="XmlType">
+			<bind-xml name="xml-type" node="element" />
+		</field>			
+		<field name="Alias" type="java.lang.String" collection="arraylist">
+			<bind-xml name="alias" node="element" />
+		</field>
+		<field name="ID">
+			<bind-xml name="id" node="element" />
+		</field>
+  </class>-->
+
+  <class name="org.apache.pluto.descriptors.portlet.PortletPreferencesDD">
+    <map-to xml="portlet-preferences" />
+
+    <field name="PortletPreferences" type="org.apache.pluto.descriptors.portlet.PortletPreferenceDD"
+          collection="arraylist">
+      <bind-xml name="preference" node="element"/>
+    </field>
+
+    <field name="PreferencesValidator">
+      <bind-xml name="preferences-validator" node="element" />
+    </field>
+  </class>
+
+  <class name="org.apache.pluto.descriptors.portlet.PortletPreferenceDD">
+    <field name="Name">
+      <bind-xml name="name" node="element"/>
+    </field>
+    <field name="Values" type="java.lang.String" collection="arraylist">
+      <bind-xml name="value" node="element"/>
+    </field>
+    <field name="ReadOnly" type="boolean">
+      <bind-xml name="read-only" node="element"/>
+    </field>
+  </class>
+
+</mapping>
+

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/castor-web-xml-mapping.xml
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/castor-web-xml-mapping.xml?view=auto&rev=562725
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/castor-web-xml-mapping.xml (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/castor-web-xml-mapping.xml Sat Aug  4 07:41:23 2007
@@ -0,0 +1,323 @@
+<?xml version="1.0"?>
+<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version 1.0//EN"
+                         "http://castor.exolab.org/mapping.dtd">
+<!-- 
+  Copyright 2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<mapping>
+  <description>Servlet Deployment Descriptor Mapping</description>
+
+  <!--
+    The Root WebApplication Element
+    This element should map each and every one of the possible 2.4
+    elments in order.
+      + 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
+    -->
+  <class name="org.apache.pluto.descriptors.servlet.WebAppDD">
+    <map-to xml="web-app"/>
+      
+    <field name="Icon"
+           type="org.apache.pluto.descriptors.common.IconDD"/>
+
+    <field name="DisplayName">
+      <bind-xml name="display-name" node="element"/>
+    </field>
+
+    <field name="Description">
+      <bind-xml name="description" node="element"/>
+    </field>
+
+    <field name="Distributable" get-method="isDistributable">
+      <bind-xml name="distributable" node="element"/>
+    </field>
+
+    <field name="ContextParams"
+           type="org.apache.pluto.descriptors.common.InitParamDD"
+           collection="arraylist">
+      <bind-xml name="context-param" node="element"/>
+    </field>
+
+    <field name="Filters"
+           type="org.apache.pluto.descriptors.servlet.FilterDD"
+           collection="arraylist">
+      <bind-xml name="filter" node="element"/>
+    </field>
+
+    <field name="Listeners"
+        type="org.apache.pluto.descriptors.servlet.ListenerDD"
+        collection="arraylist">
+        <bind-xml name="listener" node="element"/>
+    </field>
+
+    <field name="Servlets"
+           type="org.apache.pluto.descriptors.servlet.ServletDD"
+           collection="arraylist">
+      <bind-xml name="servlet" node="element"/>
+    </field>
+
+    <field name="FilterMappings"
+           type="org.apache.pluto.descriptors.servlet.FilterMappingDD"
+           collection="arraylist">
+      <bind-xml name="filter-mapping" node="element"/>
+    </field>
+
+    <field name="ServletMappings"
+        type="org.apache.pluto.descriptors.servlet.ServletMappingDD"
+        collection="arraylist">
+        <bind-xml name="servlet-mapping" node="element"/>
+    </field>
+
+    <field name="SessionConfig"
+           type="org.apache.pluto.descriptors.servlet.SessionConfigDD">
+      <bind-xml name="session-config" node="element"/>
+    </field>
+
+    <field name="MimeMappings"
+           type="org.apache.pluto.descriptors.servlet.MimeMappingDD"
+           collection="arraylist">
+      <bind-xml name="mime-mapping" node="element"/>
+    </field>
+
+    <field name="WelcomeFileList"
+           type="org.apache.pluto.descriptors.servlet.WelcomeFileListDD">
+       <bind-xml name="welcome-file-list" node="element"/>
+    </field>
+
+    <field name="ErrorPages"
+           type="org.apache.pluto.descriptors.servlet.ErrorPageDD"
+           collection="arraylist">
+        <bind-xml name="error-page" node="element"/>
+    </field>
+
+    <field name="Taglibs"
+           type="org.apache.pluto.descriptors.servlet.TaglibDD"
+           collection="arraylist">
+      <bind-xml name="taglib" node="element"/>
+    </field>
+
+    <field name="ResourceRefs"
+           type="org.apache.pluto.descriptors.servlet.ResourceRefDD"
+           collection="arraylist">
+      <bind-xml name="resource-ref" node="element"/>
+    </field>
+
+    <field name="SecurityConstraints"
+           type="org.apache.pluto.descriptors.servlet.SecurityConstraintDD"
+           collection="arraylist">
+      <bind-xml name="security-constraint" node="element"/>
+    </field>
+
+    <field name="LoginConfig"
+           type="org.apache.pluto.descriptors.servlet.LoginConfigDD">
+        <bind-xml name="login-config" node="element"/>
+    </field>
+
+    <field name="SecurityRoles"
+           type="org.apache.pluto.descriptors.servlet.SecurityRoleDD"
+           collection="arraylist">
+        <bind-xml name="security-role" node="element"/>
+    </field>
+
+    <field name="envEntrys"
+           type="org.apache.pluto.descriptors.servlet.EnvEntryDD"
+           collection="arraylist">
+      <bind-xml name="env-entry" node="element"/>    
+    </field>
+      
+    <field name="ejbRefs"
+           type="org.apache.pluto.descriptors.servlet.EjbRefDD"
+           collection="arraylist">
+      <bind-xml name="ejb-ref" node="element"/>
+    </field>
+  </class>
+
+  <!--
+    Filter DDuration
+     + filter
+     + filter-mapping
+    -->
+  <class name="org.apache.pluto.descriptors.servlet.FilterDD">
+      <field name="Icon" type="org.apache.pluto.descriptors.common.IconDD"/>
+
+      <field name="FilterName">
+          <bind-xml name="filter-name" node="element"/>
+      </field>
+
+      <field name="DisplayName">
+          <bind-xml name="display-name" node="element"/>
+      </field>
+
+      <field name="Description">
+          <bind-xml name="description" node="element"/>
+      </field>
+
+      <field name="FilterClass">
+          <bind-xml name="filter-class" node="element"/>
+      </field>
+
+      <field name="InitParams"
+          type="org.apache.pluto.descriptors.common.InitParamDD"
+          collection="arraylist">
+          <bind-xml name="init-param"/>
+      </field>
+  </class>
+  <class name="org.apache.pluto.descriptors.servlet.FilterMappingDD">
+
+    <field name="FilterName">
+        <bind-xml name="filter-name" node="element"/>
+    </field>
+
+    <field name="ServletName">
+        <bind-xml name="servlet-name" node="element"/>
+    </field>
+
+    <field name="UrlPatterns" type="java.lang.String"
+           collection="arraylist">
+        <bind-xml name="url-pattern" node="element"/>
+    </field>
+    <field name="Dispatchers" type="java.lang.String"
+           collection="arraylist">
+        <bind-xml name="dispatcher" node="element"/>
+    </field>
+  </class>
+
+
+    <!--
+      Servlet DDuration
+      -->
+
+    <class name="org.apache.pluto.descriptors.servlet.ServletDD">
+      <field name="Icon" type="org.apache.pluto.descriptors.common.IconDD"/>
+
+      <field name="ServletName">
+          <bind-xml name="servlet-name" node="element"/>
+      </field>
+
+      <field name="DisplayName">
+          <bind-xml name="display-name" node="element"/>
+      </field>
+
+      <field name="Description">
+          <bind-xml name="description" node="element"/>
+      </field>
+
+      <field name="ServletClass">
+          <bind-xml name="servlet-class" node="element"/>
+      </field>
+
+      <field name="JspFile">
+          <bind-xml name="jsp-file" node="element"/>
+      </field>
+
+      <field name="InitParams"
+             type="org.apache.pluto.descriptors.common.InitParamDD"
+             collection="arraylist">
+          <bind-xml name="init-param"/>
+      </field>
+
+      <field name="LoadOnStartup"
+             type="org.apache.pluto.descriptors.servlet.LoadOnStartupDD">
+          <bind-xml name="load-on-startup" node="element"/>
+      </field>
+
+      <field name="SecurityRoleRefs"
+             type="org.apache.pluto.descriptors.common.SecurityRoleRefDD"
+             collection="arraylist">
+        <bind-xml name="security-role-ref" node="element"/>
+      </field>
+    </class>
+
+    <class name="org.apache.pluto.descriptors.servlet.SessionConfigDD">
+      <field name="SessionTimeout" type="int">
+        <bind-xml name="session-timeout" node="element"/>
+      </field>
+    </class>
+
+    <class name="org.apache.pluto.descriptors.servlet.WelcomeFileListDD">
+      <field name="WelcomeFiles"
+          type="java.lang.String"
+          collection="arraylist">
+          <bind-xml name="welcome-file" node="element"/>
+      </field>
+    </class>
+
+    <!--
+      Security Constraint
+      + SecurityConstraint
+      + WebResourceCollection
+      -->
+    <class name="org.apache.pluto.descriptors.servlet.SecurityConstraintDD">
+        <field name="DisplayName" type="java.lang.String"/>
+        <field name="WebResourceCollections"
+               type="org.apache.pluto.descriptors.servlet.WebResourceCollectionDD"
+               collection="arraylist">
+          <bind-xml name="web-resource-collection" node="element"/>
+        </field>
+        <field name="AuthConstraint"
+               type="org.apache.pluto.descriptors.servlet.AuthConstraintDD"/>
+        <field name="UserDataConstraint"
+               type="org.apache.pluto.descriptors.servlet.UserDataConstraintDD"/>
+    </class>
+    <class name="org.apache.pluto.descriptors.servlet.WebResourceCollectionDD">
+        <field name="description" type="java.lang.String"/>
+        <field name="webResourceName" type="java.lang.String"/>
+        <field name="httpMethods" type="java.lang.String" collection="arraylist">
+          <bind-xml name="http-method" node="element"/>
+        </field>
+        <field name="urlPatterns" type="java.lang.String" collection="arraylist">
+            <bind-xml name="url-pattern" node="element"/>
+        </field>
+    </class>
+
+    <class name="org.apache.pluto.descriptors.servlet.LoginConfigDD">
+        <field name="AuthMethod" type="java.lang.String"/>
+        <field name="FormLoginConfig"
+               type="org.apache.pluto.descriptors.servlet.FormLoginConfigDD">
+          <bind-xml name="form-login-config" node="element"/>
+        </field>
+        <field name="RealmName" type="java.lang.String"/>
+    </class>
+
+    <class name="org.apache.pluto.descriptors.servlet.LoadOnStartupDD">
+        <field name="Priority" type="int">
+            <bind-xml name="load-on-startup" node="text"/>
+        </field>
+    </class>
+
+
+</mapping>
+

Added: portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/datatypes.dtd
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/datatypes.dtd?view=auto&rev=562725
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/datatypes.dtd (added)
+++ portals/pluto/branches/1.1-286-trunk-merge/pluto-descriptor-impl/src/main/resources/org/apache/pluto/descriptors/services/castor/datatypes.dtd Sat Aug  4 07:41:23 2007
@@ -0,0 +1,219 @@
+<!-- 
+Copyright 2004 The Apache Software Foundation
+Licensed  under the  Apache License,  Version 2.0  (the "License");
+you may not use  this file  except in  compliance with the License.
+You may obtain a copy of the License at 
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed  under the  License is distributed on an "AS IS" BASIS,
+WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
+implied.
+
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<!--
+        DTD for XML Schemas: Part 2: Datatypes
+        $Id: datatypes.dtd,v 1.1.1.1 2003/09/30 14:03:00 rubys Exp $
+        Note this DTD is NOT normative, or even definitive. - - the
+        prose copy in the datatypes REC is the definitive version
+        (which shouldn't differ from this one except for this comment
+        and entity expansions, but just in case)
+  -->
+
+<!--
+        This DTD cannot be used on its own, it is intended
+        only for incorporation in XMLSchema.dtd, q.v.
+  -->
+
+<!-- Define all the element names, with optional prefix -->
+<!ENTITY % simpleType "%p;simpleType">
+<!ENTITY % restriction "%p;restriction">
+<!ENTITY % list "%p;list">
+<!ENTITY % union "%p;union">
+<!ENTITY % maxExclusive "%p;maxExclusive">
+<!ENTITY % minExclusive "%p;minExclusive">
+<!ENTITY % maxInclusive "%p;maxInclusive">
+<!ENTITY % minInclusive "%p;minInclusive">
+<!ENTITY % totalDigits "%p;totalDigits">
+<!ENTITY % fractionDigits "%p;fractionDigits">
+<!ENTITY % length "%p;length">
+<!ENTITY % minLength "%p;minLength">
+<!ENTITY % maxLength "%p;maxLength">
+<!ENTITY % enumeration "%p;enumeration">
+<!ENTITY % whiteSpace "%p;whiteSpace">
+<!ENTITY % pattern "%p;pattern">
+
+<!--
+        Customisation entities for the ATTLIST of each element
+        type. Define one of these if your schema takes advantage
+        of the anyAttribute='##other' in the schema for schemas
+  -->
+
+<!ENTITY % simpleTypeAttrs "">
+<!ENTITY % restrictionAttrs "">
+<!ENTITY % listAttrs "">
+<!ENTITY % unionAttrs "">
+<!ENTITY % maxExclusiveAttrs "">
+<!ENTITY % minExclusiveAttrs "">
+<!ENTITY % maxInclusiveAttrs "">
+<!ENTITY % minInclusiveAttrs "">
+<!ENTITY % totalDigitsAttrs "">
+<!ENTITY % fractionDigitsAttrs "">
+<!ENTITY % lengthAttrs "">
+<!ENTITY % minLengthAttrs "">
+<!ENTITY % maxLengthAttrs "">
+<!ENTITY % enumerationAttrs "">
+<!ENTITY % whiteSpaceAttrs "">
+<!ENTITY % patternAttrs "">
+
+<!-- Define some entities for informative use as attribute
+        types -->
+<!ENTITY % URIref "CDATA">
+<!ENTITY % XPathExpr "CDATA">
+<!ENTITY % QName "NMTOKEN">
+<!ENTITY % QNames "NMTOKENS">
+<!ENTITY % NCName "NMTOKEN">
+<!ENTITY % nonNegativeInteger "NMTOKEN">
+<!ENTITY % boolean "(true|false)">
+<!ENTITY % simpleDerivationSet "CDATA">
+<!--
+        #all or space-separated list drawn from derivationChoice
+  -->
+
+<!--
+        Note that the use of 'facet' below is less restrictive
+        than is really intended:  There should in fact be no
+        more than one of each of minInclusive, minExclusive,
+        maxInclusive, maxExclusive, totalDigits, fractionDigits,
+        length, maxLength, minLength within datatype,
+        and the min- and max- variants of Inclusive and Exclusive
+        are mutually exclusive. On the other hand,  pattern and
+        enumeration may repeat.
+  -->
+<!ENTITY % minBound "(%minInclusive; | %minExclusive;)">
+<!ENTITY % maxBound "(%maxInclusive; | %maxExclusive;)">
+<!ENTITY % bounds "%minBound; | %maxBound;">
+<!ENTITY % numeric "%totalDigits; | %fractionDigits;">
+<!ENTITY % ordered "%bounds; | %numeric;">
+<!ENTITY % unordered
+   "%pattern; | %enumeration; | %whiteSpace; | %length; |
+   %maxLength; | %minLength;">
+<!ENTITY % facet "%ordered; | %unordered;">
+<!ENTITY % facetAttr 
+        "value CDATA #REQUIRED
+        id ID #IMPLIED">
+<!ENTITY % fixedAttr "fixed %boolean; #IMPLIED">
+<!ENTITY % facetModel "(%annotation;)?">
+<!ELEMENT %simpleType;
+        ((%annotation;)?, (%restriction; | %list; | %union;))>
+<!ATTLIST %simpleType;
+    name      %NCName; #IMPLIED
+    final     %simpleDerivationSet; #IMPLIED
+    id        ID       #IMPLIED
+    %simpleTypeAttrs;>
+<!-- name is required at top level -->
+<!ELEMENT %restriction; ((%annotation;)?,
+                         (%restriction1; |
+                          ((%simpleType;)?,(%facet;)*)),
+                         (%attrDecls;))>
+<!ATTLIST %restriction;
+    base      %QName;                  #IMPLIED
+    id        ID       #IMPLIED
+    %restrictionAttrs;>
+<!--
+        base and simpleType child are mutually exclusive,
+        one is required.
+
+        restriction is shared between simpleType and
+        simpleContent and complexContent (in XMLSchema.xsd).
+        restriction1 is for the latter cases, when this
+        is restricting a complex type, as is attrDecls.
+  -->
+<!ELEMENT %list; ((%annotation;)?,(%simpleType;)?)>
+<!ATTLIST %list;
+    itemType      %QName;             #IMPLIED
+    id        ID       #IMPLIED
+    %listAttrs;>
+<!--
+        itemType and simpleType child are mutually exclusive,
+        one is required
+  -->
+<!ELEMENT %union; ((%annotation;)?,(%simpleType;)*)>
+<!ATTLIST %union;
+    id            ID       #IMPLIED
+    memberTypes   %QNames;            #IMPLIED
+    %unionAttrs;>
+<!--
+        At least one item in memberTypes or one simpleType
+        child is required
+  -->
+
+<!ELEMENT %maxExclusive; %facetModel;>
+<!ATTLIST %maxExclusive;
+        %facetAttr;
+        %fixedAttr;
+        %maxExclusiveAttrs;>
+<!ELEMENT %minExclusive; %facetModel;>
+<!ATTLIST %minExclusive;
+        %facetAttr;
+        %fixedAttr;
+        %minExclusiveAttrs;>
+
+<!ELEMENT %maxInclusive; %facetModel;>
+<!ATTLIST %maxInclusive;
+        %facetAttr;
+        %fixedAttr;
+        %maxInclusiveAttrs;>
+<!ELEMENT %minInclusive; %facetModel;>
+<!ATTLIST %minInclusive;
+        %facetAttr;
+        %fixedAttr;
+        %minInclusiveAttrs;>
+
+<!ELEMENT %totalDigits; %facetModel;>
+<!ATTLIST %totalDigits;
+        %facetAttr;
+        %fixedAttr;
+        %totalDigitsAttrs;>
+<!ELEMENT %fractionDigits; %facetModel;>
+<!ATTLIST %fractionDigits;
+        %facetAttr;
+        %fixedAttr;
+        %fractionDigitsAttrs;>
+
+<!ELEMENT %length; %facetModel;>
+<!ATTLIST %length;
+        %facetAttr;
+        %fixedAttr;
+        %lengthAttrs;>
+<!ELEMENT %minLength; %facetModel;>
+<!ATTLIST %minLength;
+        %facetAttr;
+        %fixedAttr;
+        %minLengthAttrs;>
+<!ELEMENT %maxLength; %facetModel;>
+<!ATTLIST %maxLength;
+        %facetAttr;
+        %fixedAttr;
+        %maxLengthAttrs;>
+
+<!-- This one can be repeated -->
+<!ELEMENT %enumeration; %facetModel;>
+<!ATTLIST %enumeration;
+        %facetAttr;
+        %enumerationAttrs;>
+
+<!ELEMENT %whiteSpace; %facetModel;>
+<!ATTLIST %whiteSpace;
+        %facetAttr;
+        %fixedAttr;
+        %whiteSpaceAttrs;>
+
+<!-- This one can be repeated -->
+<!ELEMENT %pattern; %facetModel;>
+<!ATTLIST %pattern;
+        %facetAttr;
+        %patternAttrs;>

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



Mime
View raw message