* added documentation of XML namespace elements (for rudimentary out-of-the-box editor support)

* formatting

git-svn-id: svn+ssh://svn.synyx.de/var/svn/synyx/opensource/hera/trunk@6984 5a64d73e-33d6-4ccc-9058-23f8668ecac9
This commit is contained in:
Oliver Gierke
2009-09-23 13:16:21 +00:00
parent 2a82e4fe06
commit 7e427d52a9

View File

@@ -1,49 +1,65 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns="http://schemas.synyx.org/hera"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:tool="http://www.springframework.org/schema/tool"
targetNamespace="http://schemas.synyx.org/hera"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:import namespace="http://www.springframework.org/schema/tool"/>
<xsd:schema xmlns="http://schemas.synyx.org/hera" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:tool="http://www.springframework.org/schema/tool"
targetNamespace="http://schemas.synyx.org/hera" elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xsd:element name="list" type="pluginType">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation>
<tool:exports identifier="@id" type="java.util.List" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="registry" type="pluginType">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation>
<tool:exports identifier="@id" type="org.synyx.plugin.core.PluginRegistry" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="pluginType">
<xsd:attribute name="id" type="xsd:string" />
<xsd:attribute name="class" type="classType" />
<xsd:attribute name="init-factories" type="xsd:boolean" default="false" />
</xsd:complexType>
<xsd:simpleType name="classType">
<xsd:annotation>
<xsd:appinfo>
<xsd:import namespace="http://www.springframework.org/schema/tool" />
<xsd:element name="list" type="pluginType">
<xsd:annotation>
<xsd:documentation>
Collects all beans implementing the
configured interface and exposes them as list under the
configured id. Can be used in a nested manner, too. Will
regard the order of the collected beans if they either
implement Ordered or are annotated with @Order.
</xsd:documentation>
<xsd:appinfo>
<tool:annotation>
<tool:exports identifier="@id"
type="java.util.List" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="registry" type="pluginType">
<xsd:annotation>
<xsd:documentation>
Creates a PluginRegistry for all beans
implementing the configured type. Thus the type
configured in the class attribute has to extend Plugin.
The registry will consider the order of the plugins if
they implement Ordered or are annotated with @Order.
</xsd:documentation>
<xsd:appinfo>
<tool:annotation>
<tool:exports identifier="@id"
type="org.synyx.plugin.core.PluginRegistry" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="pluginType">
<xsd:attribute name="id" type="xsd:string" />
<xsd:attribute name="class" type="classType" />
<xsd:attribute name="init-factories" type="xsd:boolean"
default="false" />
</xsd:complexType>
<xsd:simpleType name="classType">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation kind="direct">
<tool:expected-type type="java.lang.Class" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
<xsd:union memberTypes="xsd:string" />
</xsd:simpleType>
<tool:expected-type type="java.lang.Class" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
<xsd:union memberTypes="xsd:string" />
</xsd:simpleType>
</xsd:schema>