<?xml version="1.0" encoding="ASCII"?>
<!--
    * 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.    
-->
<definitions xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" 
             targetNamespace="http://policy"
             xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912"
             xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
             xmlns:ip="http://policy" >

    <!-- Policy Intents -->
    <sca:intent name="TestIntent_1" constrains="sca:binding.ws">
        <description>Test Intent One</description>
    </sca:intent>

    <!--  Policy Sets -->
    <sca:policySet name="TestPolicySet_1_binding" 
                   provides="ip:TestIntent_1" 
                   appliesTo="sca:binding.ws"
                   xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
        <wsp:Policy />
    </sca:policySet>

</definitions>