<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--

    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.

-->
<xsd:schema xmlns="http://aries.apache.org/xmlns/transactions/v1.1.0"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://aries.apache.org/xmlns/transactions/v1.1.0"
    elementFormDefault="qualified" attributeFormDefault="unqualified"
    version="1.1.0">

    <xsd:annotation>
        <xsd:documentation>
      <![CDATA[
        This is the XML Schema for the OSGi Blueprint declarative transaction 1.1.0 development descriptor.  Blueprint declarative transaction is a custom namespace for OSGi Blueprint service 1.0.0 development descriptor.  It is designed to decorate transaction attribute of the bean components, which can be done at the bean level or at the bundle wide level.  In other words, the transaction element can reside in the bean element or in the root of the blueprint element as a top level transaction element. Blueprint configuration files using this schema must indicate the schema using the transactions/v1.1.0 namespace.  For example,        
        <transaction xmlns="http://aries.apache.org/xmlns/transactions/v1.1.0">
        if used as a qualified namespace, "tx" is the recommended namespace prefix.
      ]]>
        </xsd:documentation>
    </xsd:annotation>

    <xsd:simpleType name="TtransactionAttribute">
        <xsd:annotation>
            <xsd:documentation>
        <![CDATA[
          The TtransactionAttribute type defines the transaction attribute for blueprint declarative transaction.  
        ]]>
            </xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Required" />
            <xsd:enumeration value="Mandatory" />
            <xsd:enumeration value="RequiresNew" />
            <xsd:enumeration value="Supports" />
            <xsd:enumeration value="NotSupported" />
            <xsd:enumeration value="Never" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="Ttransaction">
        <xsd:annotation>
            <xsd:documentation>
        <![CDATA[
            The Ttransaction defines one or more methods that are intercepted with the specified transaction attribute. Multiple methods names can be wild-carded with a '*'.  Method can be a mixture of fixed string and one wild-card.   Methods can be whitespace or comma separated. The bean attribute refers to the bean component id and can only be used for top level transaction element.  Similar as methods, beans can be whitespace separated and be a mixture of fixed string and one wild-card.
        ]]>
            </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="method" type="xsd:string" />
        <xsd:attribute name="value" type="TtransactionAttribute"
            use="optional" default="Required" />
        <xsd:attribute name="bean" type="xsd:string" />
    </xsd:complexType>

    <xsd:element name="transaction" type="Ttransaction">
        <xsd:annotation>
            <xsd:documentation>
        <![CDATA[
          The <transaction> element is the root element for blueprint declarative transaction
        ]]>
            </xsd:documentation>
        </xsd:annotation>
    </xsd:element>

</xsd:schema>