<?xml version="1.0" encoding="UTF-8"?>
<!-- ##################################################################### -->
<!-- ##                                                                 ## -->
<!-- ## Copyright (c) 2002-2003 BEA Systems, Inc. All Rights Reserved   ## -->
<!-- ##                                                                 ## -->
<!-- ## WebLogic Portal - Portlet Container                             ## -->
<!-- ##                                                                 ## -->
<!-- ##################################################################### -->
<xs:schema targetNamespace="http://www.bea.com/servers/portal/weblogic-portlet/8.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.bea.com/servers/portal/weblogic-portlet/8.0" elementFormDefault="qualified">
    <!-- Portal Application -->
    <xs:element name="weblogic-portlet-app">
        <xs:annotation>
            <xs:documentation>
                The weblogic-portlet-app element is the root of the deployment
                descriptor for a portlet application.
            </xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="portal-container" type="portal-containerType"/>
                <xs:element name="portlet" type="portletType" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="portal-containerType">
        <xs:annotation>
            <xs:documentation>
                The portal-container element describes properties of the
                portal container
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="propagate-preferences-on-deploy" type="propagate-preferences-on-deployType" minOccurs="0"/>
            <xs:element name="user-property-set" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="propagate-preferences-on-deployType">
        <xs:annotation>
            <xs:documentation>
                The propagate-preferences element, if enabled, causes the
                portlet container to propagate changes to portlet preferences (at
                deployment time) to all instances created.
                If the optional attribute propagate-to-instances is "true", the
                portlet container propagates changes to preferences to all
                instances of the portlet.
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="propagate-to-instances" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="portletType">
        <xs:annotation>
            <xs:documentation>
                The portlet element describes properties of a
                portlet.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="portlet-name" type="xs:string"/>
            <xs:element name="user-property-set" type="xs:string" minOccurs="0"/>
            <xs:element name="supports" type="supportsType" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="supportsType">
        <xs:sequence>
            <xs:element name="mime-type" type="xs:string"/>
            <xs:element name="titlebar-presentation" type="titlebar-presentationType" minOccurs="0"/>
            <xs:element name="content-presentation" type="content-presentationType" minOccurs="0"/>
            <xs:element name="portlet-mode" type="portlet-modeType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="window-state" type="window-stateType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="excluded-window-state" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="error-uri" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="presentationType" abstract="true">
        <xs:sequence>
            <xs:element name="id" type="xs:string" minOccurs="0"/>
            <xs:element name="style" type="xs:string" minOccurs="0"/>
            <xs:element name="class" type="xs:string" minOccurs="0"/>
            <xs:element name="skeleton-uri" type="xs:string" minOccurs="0"/>
            <xs:element name="properties" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>A semicolon-delimited list of properties compatible with the java.util.Properties parser.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="titlebar-presentationType">
        <xs:complexContent>
            <xs:extension base="presentationType">
                <xs:sequence>
                    <xs:element name="icon-url" type="xs:string" minOccurs="0"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="content-presentationType">
        <xs:sequence>
            <xs:element name="style" type="xs:string" minOccurs="0"/>
            <xs:element name="class" type="xs:string" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="portlet-modeType">
        <xs:annotation>
            <xs:documentation>
                The portlet-mode element describes properties of a
                portlet mode.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="name" type="xs:string"/>
            <xs:element name="markup-uri" type="xs:string" minOccurs="0"/>
            <xs:element name="button-presentation" type="button-presentationType" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="window-stateType">
        <xs:sequence>
            <xs:element name="name" type="xs:string"/>
            <xs:element name="button-presentation" type="button-presentationType" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="button-presentationType">
        <xs:complexContent>
            <xs:extension base="presentationType">
                <xs:sequence>
                    <xs:element name="activate-image" type="xs:string" minOccurs="0"/>
                    <xs:element name="deactivate-image" type="xs:string" minOccurs="0"/>
                    <xs:element name="activate-rollover-image" type="xs:string" minOccurs="0"/>
                    <xs:element name="deactivate-rollover-image" type="xs:string" minOccurs="0"/>
                    <xs:element name="activate-alt-text" type="localized-string" minOccurs="0" maxOccurs="unbounded"/>
                    <xs:element name="deactivate-alt-text" type="localized-string" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="localized-string">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="locale" type="xs:string" use="optional"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
</xs:schema>
