<?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 targetNamespace="http://cxf.apache.org/configuration/parameterized-types" 
           xmlns:tns="http://cxf.apache.org/configuration/parameterized-types" 
           xmlns:xs="http://www.w3.org/2001/XMLSchema" 
           xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  		   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           elementFormDefault="qualified" 
           attributeFormDefault="unqualified"
           xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
           jaxb:version="2.0">

    
    <xs:simpleType name="ParameterizedValue">
    	<xs:restriction base="xs:string">
    		<xs:pattern value="[$#](\{.*\}|\(.*\)|\[.*\])"/>
    	</xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="ParameterizedUShort">
    	<xs:annotation>
	        <xs:appinfo>
    	        <jaxb:class ref="java.lang.Integer"/>
        	</xs:appinfo>
        </xs:annotation>
        <xs:union memberTypes="xs:unsignedShort tns:ParameterizedValue"/>
    </xs:simpleType>
    <xs:simpleType name="ParameterizedInt">
    	<xs:annotation>
	        <xs:appinfo>
    	        <jaxb:class ref="java.lang.Integer"/>
        	</xs:appinfo>
        </xs:annotation>
        <xs:union memberTypes="xs:int tns:ParameterizedValue"/>
    </xs:simpleType>
    <xs:simpleType name="ParameterizedUInt">
    	<xs:annotation>
	        <xs:appinfo>
    	        <jaxb:class ref="java.lang.Long"/>
        	</xs:appinfo>
        </xs:annotation>
        <xs:union memberTypes="xs:unsignedInt tns:ParameterizedValue"/>
    </xs:simpleType>
    <xs:simpleType name="ParameterizedLong">
    	<xs:annotation>
	        <xs:appinfo>
    	        <jaxb:class ref="java.lang.Long"/>
        	</xs:appinfo>
        </xs:annotation>
        <xs:union memberTypes="xs:long tns:ParameterizedValue"/>
    </xs:simpleType>
    <xs:simpleType name="ParameterizedBoolean">
    	<xs:annotation>
	        <xs:appinfo>
    	        <jaxb:class ref="java.lang.Boolean"/>
        	</xs:appinfo>
        </xs:annotation>
        <xs:union memberTypes="xs:boolean tns:ParameterizedValue"/>
    </xs:simpleType>
    
    
 </xs:schema>
