<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:com-bea-ide:actions" xmlns="urn:com-bea-ide:actions" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified">
	<xs:complexType name="action-groupType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="menu" type="menuType"/>
			<xs:element name="action-ref">
				<xs:complexType>
					<xs:attribute name="priority" type="xs:positiveInteger" use="optional"/>
					<xs:attribute name="class" type="xs:string" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:choice>
		<xs:attribute name="id" type="xs:string" use="required"/>
		<xs:attribute name="priority" type="xs:positiveInteger"/>
		<xs:attribute name="generator" type="xs:string"/>
		<xs:attribute name="path" type="xs:string"/>
	</xs:complexType>
	<xs:element name="extension-xml">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="action-ui">
					<xs:complexType>
						<xs:choice maxOccurs="unbounded">
							<xs:element name="menu" type="menuType"/>
							<xs:element name="toolbar">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="action-group" type="action-groupType" minOccurs="0" maxOccurs="unbounded"/>
									</xs:sequence>
									<xs:attribute name="id" type="xs:string" use="required"/>
									<xs:attribute name="path" type="xs:string" use="required"/>
									<xs:attribute name="priority" type="xs:positiveInteger" use="required"/>
									<xs:attribute name="label" type="xs:string" use="required"/>
								</xs:complexType>
							</xs:element>
							<xs:element name="popup">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="action-group" type="action-groupType" minOccurs="0" maxOccurs="unbounded"/>
									</xs:sequence>
									<xs:attribute name="id" type="xs:string" use="required"/>
									<xs:attribute name="path" type="xs:string" use="required"/>
								</xs:complexType>
							</xs:element>
							<xs:element name="action-group" type="action-groupType"/>
						</xs:choice>
					</xs:complexType>
				</xs:element>
				<xs:element name="action-set">
					<xs:complexType mixed="true">
						<xs:choice minOccurs="0" maxOccurs="unbounded">
							<xs:element name="action">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="location" minOccurs="0" maxOccurs="unbounded">
											<xs:complexType>
												<xs:attribute name="priority" type="xs:positiveInteger" use="required"/>
												<xs:attribute name="path" type="xs:string" use="required"/>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="class" type="xs:string"/>
									<xs:attribute name="label" type="xs:string"/>
									<xs:attribute name="tooltip" type="xs:string"/>
									<xs:attribute name="icon" type="xs:string"/>
									<xs:attribute name="id" type="xs:string"/>
								</xs:complexType>
							</xs:element>
						</xs:choice>
						<xs:attribute name="scope" type="xs:string" use="optional"/>
						<xs:attribute name="extends" type="xs:string" use="optional"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="id" type="xs:string" use="required" fixed="urn:com-bea-ide:actions"/>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="menuType">
		<xs:sequence>
			<xs:element name="action-group" type="action-groupType" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>
		<xs:attribute name="priority" type="xs:positiveInteger" use="required"/>
		<xs:attribute name="path" type="xs:string"/>
		<xs:attribute name="label" type="xs:string" use="required"/>
	</xs:complexType>
</xs:schema>
