<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~ 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.
  -->

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="action">
		<xs:annotation>
			<xs:documentation>Outflow security 'action' configuration</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="items" type="xs:string"/>
				<xs:element name="user" type="xs:string"/>
				<xs:element name="passwordCallbackClass" type="xs:string" minOccurs="0"/>
				<xs:element name="signaturePropFile" type="xs:string" minOccurs="0"/>
				<xs:element name="encryptionPropFile" type="xs:string" minOccurs="0"/>
				<xs:element name="encryptionPropFile" type="xs:string" minOccurs="0"/>
				<xs:element name="signatureKeyIdentifier" type="xs:string" minOccurs="0"/>
				<xs:element name="encryptionKeyIdentifier" type="xs:string" minOccurs="0"/>
				<xs:element name="encryptionUser" type="xs:string" minOccurs="0"/>
				<xs:element name="signatureParts" type="xs:string" minOccurs="0"/>
				<xs:element name="encryptionParts" type="xs:string" minOccurs="0"/>
				<xs:element name="optimizeParts" type="xs:string" minOccurs="0"/>
				<xs:element name="encryptionSymAlgorithm" type="xs:string" minOccurs="0"/>
				<xs:element name="EmbeddedKeyCallbackClass" type="xs:string" minOccurs="0"/>
				<xs:element name="encryptionKeyTransportAlgorithm" type="xs:string" minOccurs="0"/>
				<xs:element name="EmbeddedKeyName" type="xs:string" minOccurs="0"/>
				<xs:element name="timeToLive" type="xs:string" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>
