<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
 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.
-->
<repository lastmodified="2010" name="repo_for_optional_resources">

    <resource id="res1">
        <capability name="bundle">
            <p n="symbolicname" v="res1" />
        </capability>
        <capability name="package">
            <p n="package" v="javax.transaction" />
            <p n="partial" v="true" />
            <p n="mandatory:" v="partial" />
        </capability>
    </resource>

    <resource id="res2">
        <capability name="bundle">
            <p n="symbolicname" v="res2" />
        </capability>
        <require filter="(package=javax.transaction)" name="package" optional="false" />
    </resource>

    <resource id="res3">
        <capability name="bundle">
            <p n="symbolicname" v="res3" />
        </capability>
        <require filter="(&amp;(package=javax.transaction)(partial=true)(mandatory:&lt;*partial))" name="package" optional="false" />
    </resource>

    <resource id="res4">
        <capability name="bundle">
            <p n="symbolicname" v="res4" />
        </capability>
        <require filter="(&amp;(package=a.b.c)(company=foo)(mandatory:&lt;*company))" name="package" optional="false" />
    </resource>

    <resource id="res5">
        <capability name="bundle">
            <p n="symbolicname" v="res5" />
        </capability>
        <capability name='package'>
            <p n='company' v='foo'/>
            <p n='mandatory:' t='set' v='company,security'/>
            <p n='package' v='a.b.c'/>
            <p n='security' v='true'/>
            <p n='version' t='version' v='3.0.0'/>
        </capability> 
    </resource>

</repository>
