<?xml version="1.0"?>

<!--
  ~ 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"
	xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
	targetNamespace="http://www.w3.org/2005/05/xmlmime">
	<xs:attribute name="contentType">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="3" />
			</xs:restriction>
		</xs:simpleType>
	</xs:attribute>
	<xs:attribute name="expectedContentTypes" type="xs:string" />
	<xs:complexType name="base64Binary">
		<xs:simpleContent>
			<xs:extension base="xs:base64Binary">
				<xs:attribute ref="xmime:contentType" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="hexBinary">
		<xs:simpleContent>
			<xs:extension base="xs:hexBinary">
				<xs:attribute ref="xmime:contentType" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:schema>
