Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
<?xml version="1.0" encoding="UTF-8"?>
<!-- 
/*
 * $Id: e9cc757564bd3a1e70b50ef23e1f410455657ab6 $
 * 
 * Copyright (c) OSGi Alliance (2005, 2008). All Rights Reserved.
 * 
 * Licensed 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="http://www.osgi.org/xmlns/app/v1.0.0"
    xmlns:app="http://www.osgi.org/xmlns/app/v1.0.0" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"  
    targetNamespace="http://www.osgi.org/xmlns/app/v1.0.0"
    elementFormDefault="qualified" 
    attributeFormDefault="unqualified" 
    version="1.0.0">
    
    <xs:element name="descriptor" type="app:descriptorType">
        <xs:annotation>
            <xs:documentation>descriptor element encloses the application descriptors provided in a document</xs:documentation>
        </xs:annotation>
    </xs:element>

    <xs:complexType name="descriptorType">
        <xs:sequence>
            <xs:element name="application" type="app:applicationType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="applicationType">
        <xs:annotation>
            <xs:documentation>describes the service dependencies of an application</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="reference" minOccurs="0" maxOccurs="unbounded" type="referenceType"/>
        </xs:sequence>
        <xs:attribute name="class" type="xs:string"/>
    </xs:complexType>

    <xs:complexType name="referenceType">
        <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
        <xs:attribute name="interface" type="xs:string" use="required"/>
        <xs:attribute name="cardinality" default="1..1" use="optional" type="cardinalityType"/>
        <xs:attribute name="policy" use="optional" default="static" type="policyType"/>
        <xs:attribute name="target" type="xs:string" use="optional"/>
    </xs:complexType>

        <xs:simpleType name="cardinalityType">
               <xs:restriction base="xs:string">
                       <xs:enumeration value="0..1"/>
                       <xs:enumeration value="0..n"/>
                       <xs:enumeration value="1..1"/>
                       <xs:enumeration value="1..n"/>
               </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="policyType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="static"/>
            <xs:enumeration value="dynamic"/>
        </xs:restriction>
    </xs:simpleType>


</xs:schema>
New to GrepCode? Check out our FAQ X