blob: c7ceabc2c8880e46579b16a424ec7842769def63 [file] [log] [blame]
<?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>