<?xml version="1.0"?>
<!--
	Copyright 2005-2006 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.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	targetNamespace="http://portals.apache.org/pluto/xsd/pluto-portal-driver-config.xsd"
	elementFormDefault="qualified">

	<xs:element name="pluto-portal-driver">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="portal-name" type="xs:string"
					default="pluto-portal-driver" />
				<xs:element name="portal-version" type="xs:string" />
				<xs:element name="container-name" type="xs:string" />

				<xs:element name="supports">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="portlet-mode"
								type="xs:string" minOccurs="1" maxOccurs="unbounded" />
							<xs:element name="window-state"
								type="xs:string" minOccurs="1" maxOccurs="unbounded" />
						</xs:sequence>
					</xs:complexType>
				</xs:element>

				<xs:element name="portlet-app" minOccurs="1"
					maxOccurs="unbounded">
					<xs:complexType>

						<xs:sequence>
							<xs:element name="context-path">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:pattern
											value="/[a-zA-Z0-9_ /]*" />
									</xs:restriction>
								</xs:simpleType>
							</xs:element>

							<xs:element name="portlets">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="portlet"
											minOccurs="1" maxOccurs="unbounded">
											<xs:complexType>
												<xs:attribute
													name="name" type="xs:string" />
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>

						</xs:sequence>
					</xs:complexType>
				</xs:element>

				<xs:element name="render-config">
					<xs:complexType>

						<xs:sequence>
							<xs:element name="page" minOccurs="1"
								maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="portlet"
											minOccurs="1" maxOccurs="unbounded">
											<xs:complexType>
												<xs:attribute
													name="context" type="xs:string" />
												<xs:attribute
													name="name" type="xs:string" />
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="name"
										type="xs:string" />
									<xs:attribute name="uri"
										type="xs:string" />
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="default" type="xs:string" />
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

</xs:schema>