You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@netbeans.apache.org by GitBox <gi...@apache.org> on 2017/12/25 11:41:23 UTC
[GitHub] geertjanw closed pull request #336: Readd removed DTDs/XSDs from netbeans donation
geertjanw closed pull request #336: Readd removed DTDs/XSDs from netbeans donation
URL: https://github.com/apache/incubator-netbeans/pull/336
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/avalon_checks.xml b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/avalon_checks.xml
new file mode 100644
index 000000000..468280576
--- /dev/null
+++ b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/avalon_checks.xml
@@ -0,0 +1,208 @@
+<?xml version="1.0"?>
+<!--
+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.
+-->
+
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.1//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_1.dtd">
+
+<!--
+
+ Checkstyle configuration that checks the sun coding conventions from:
+
+ - the Java Language Specification at
+ http://java.sun.com/docs/books/jls/second_edition/html/index.html
+
+ - the Sun Code Conventions at http://java.sun.com/docs/codeconv/
+
+ - the Javadoc guidelines at
+ http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
+
+ - the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html
+
+ - some best practices
+
+ Checkstyle is very configurable. Be sure to read the documentation at
+ http://checkstyle.sf.net (or in your downloaded distribution).
+
+ Most Checks are configurable, be sure to consult the documentation.
+
+ To completely disable a check, just comment it out or delete it from the file.
+
+ Finally, it is worth reading the documentation.
+
+-->
+
+<module name="Checker">
+
+ <!-- Checks that a package.html file exists for each package. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
+ <module name="PackageHtml"/>
+
+ <!-- Checks whether files end with a new line. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
+ <module name="NewlineAtEndOfFile"/>
+
+ <!-- Checks that property files contain the same keys. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
+ <module name="Translation"/>
+
+ <module name="TreeWalker">
+
+ <property name="cacheFile" value="${checkstyle.cache.file}"/>
+
+ <!-- ************************************************************** -->
+ <!-- Checks that are different from the sun coding conventions ones -->
+ <!-- ************************************************************** -->
+ <property name="tabWidth" value="4"/>
+ <module name="LeftCurly">
+ <property name="option" value="nl"/>
+ </module>
+ <module name="RightCurly">
+ <property name="option" value="alone"/>
+ </module>
+ <module name="MemberName">
+ <property name="format" value="^m_[a-z](_?[a-zA-Z0-9])*$"/>
+ </module>
+ <module name="StaticVariableName">
+ <property name="format" value="^c_[a-z](_?[a-zA-Z0-9])*$"/>
+ </module>
+ <module name="MethodName">
+ <property name="format" value="[a-z](_?[a-zA-Z0-9]+)*$"/>
+ </module>
+ <module name="ParameterName">
+ <property name="format" value="[a-z](_?[a-zA-Z0-9]+)*$"/>
+ </module>
+ <module name="LocalVariableName">
+ <property name="format" value="[a-z](_?[a-zA-Z0-9]+)*$"/>
+ </module>
+
+ <!-- ************************************************************** -->
+ <!-- Default Sun coding conventions checks -->
+ <!-- ************************************************************** -->
+
+ <!-- Checks for Javadoc comments. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html -->
+ <module name="JavadocMethod"/>
+ <module name="JavadocType"/>
+ <module name="JavadocVariable"/>
+
+
+ <!-- Checks for Naming Conventions. -->
+ <!-- See http://checkstyle.sf.net/config_naming.html -->
+ <module name="ConstantName"/>
+ <module name="PackageName"/>
+ <module name="TypeName"/>
+ <module name="LocalFinalVariableName"/>
+
+
+ <!-- Checks for Headers -->
+ <!-- See http://checkstyle.sf.net/config_header.html -->
+ <module name="Header">
+ <!-- The follow property value demonstrates the ability -->
+ <!-- to have access to ANT properties. In this case it uses -->
+ <!-- the ${basedir} property to allow Checkstyle to be run -->
+ <!-- from any directory within a project. -->
+ <property name="headerFile" value="${checkstyle.header.file}"/>
+ </module>
+
+ <!-- Following interprets the header file as regular expressions. -->
+ <!-- <module name="RegexpHeader"/> -->
+
+
+ <!-- Checks for imports -->
+ <!-- See http://checkstyle.sf.net/config_import.html -->
+ <module name="AvoidStarImport"/>
+ <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
+ <module name="RedundantImport"/>
+ <module name="UnusedImports"/>
+
+
+ <!-- Checks for Size Violations. -->
+ <!-- See http://checkstyle.sf.net/config_sizes.html -->
+ <module name="FileLength"/>
+ <module name="LineLength"/>
+ <module name="MethodLength"/>
+ <module name="ParameterNumber"/>
+
+
+ <!-- Checks for whitespace -->
+ <!-- See http://checkstyle.sf.net/config_whitespace.html -->
+ <module name="EmptyForIteratorPad"/>
+ <module name="NoWhitespaceAfter"/>
+ <module name="NoWhitespaceBefore"/>
+ <module name="OperatorWrap"/>
+ <module name="ParenPad"/>
+ <module name="TabCharacter"/>
+ <module name="WhitespaceAfter"/>
+ <module name="WhitespaceAround"/>
+
+
+ <!-- Modifier Checks -->
+ <!-- See http://checkstyle.sf.net/config_modifiers.html -->
+ <module name="ModifierOrder"/>
+ <module name="RedundantModifier"/>
+
+
+ <!-- Checks for blocks. You know, those {}'s -->
+ <!-- See http://checkstyle.sf.net/config_blocks.html -->
+ <module name="AvoidNestedBlocks"/>
+ <module name="EmptyBlock"/>
+
+ <module name="NeedBraces"/>
+
+
+ <!-- Checks for common coding problems -->
+ <!-- See http://checkstyle.sf.net/config_coding.html -->
+ <module name="AvoidInlineConditionals"/>
+ <module name="DoubleCheckedLocking"/> <!-- MY FAVOURITE -->
+ <module name="EmptyStatement"/>
+ <module name="EqualsHashCode"/>
+ <module name="HiddenField"/>
+ <module name="IllegalInstantiation"/>
+ <module name="InnerAssignment"/>
+ <module name="MagicNumber"/>
+ <module name="MissingSwitchDefault"/>
+ <module name="RedundantThrows"/>
+ <module name="SimplifyBooleanExpression"/>
+ <module name="SimplifyBooleanReturn"/>
+
+ <!-- Checks for class design -->
+ <!-- See http://checkstyle.sf.net/config_design.html -->
+ <module name="DesignForExtension"/>
+ <module name="FinalClass"/>
+ <module name="HideUtilityClassConstructor"/>
+ <module name="InterfaceIsType"/>
+ <module name="VisibilityModifier"/>
+
+
+ <!-- Miscellaneous other checks. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html -->
+ <module name="ArrayTypeStyle"/>
+ <module name="FinalParameters"/>
+ <module name="GenericIllegalRegexp">
+ <property name="format" value="\s+$"/>
+ <property name="message" value="Line has trailing spaces."/>
+ </module>
+ <module name="TodoComment"/>
+ <module name="UpperEll"/>
+
+ </module>
+
+</module>
diff --git a/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration_1_0.dtd b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration_1_0.dtd
new file mode 100644
index 000000000..a867462fa
--- /dev/null
+++ b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration_1_0.dtd
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Add the following to any file that is to be validated against this DTD:
+
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.0//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_0.dtd">
+
+-->
+
+<!ELEMENT module (module|property)*>
+<!ATTLIST module name NMTOKEN #REQUIRED>
+
+<!ELEMENT property EMPTY>
+<!ATTLIST property
+ name NMTOKEN #REQUIRED
+ value CDATA #REQUIRED
+>
diff --git a/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration_1_1.dtd b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration_1_1.dtd
new file mode 100644
index 000000000..131c99676
--- /dev/null
+++ b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration_1_1.dtd
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Add the following to any file that is to be validated against this DTD:
+
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.1//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_1.dtd">
+-->
+
+<!ELEMENT module (module|property|metadata)*>
+<!ATTLIST module name NMTOKEN #REQUIRED>
+
+<!ELEMENT property EMPTY>
+<!ATTLIST property
+ name NMTOKEN #REQUIRED
+ value CDATA #REQUIRED
+>
+
+<!--
+
+ Used to store metadata in the Checkstyle configuration file. This
+ information is ignored by Checkstyle. This may be useful if you want to
+ store plug-in specific information.
+
+ To avoid name clashes between different tools/plug-ins you are *strongly*
+ encouraged to prefix all names with your domain name. For example, use the
+ name "com.mycompany.parameter" instead of "parameter".
+
+ The prefix "com.puppycrawl." is reserved for Checkstyle.
+
+-->
+
+<!ELEMENT metadata EMPTY>
+<!ATTLIST metadata
+ name NMTOKEN #REQUIRED
+ value CDATA #REQUIRED
+>
diff --git a/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration_1_2.dtd b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration_1_2.dtd
new file mode 100644
index 000000000..dbdf80343
--- /dev/null
+++ b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration_1_2.dtd
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Add the following to any file that is to be validated against this DTD:
+
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+-->
+
+<!ELEMENT module (module|property|metadata)*>
+<!ATTLIST module name NMTOKEN #REQUIRED>
+
+<!ELEMENT property EMPTY>
+<!ATTLIST property
+ name NMTOKEN #REQUIRED
+ value CDATA #REQUIRED
+ default CDATA #IMPLIED
+>
+
+<!--
+
+ Used to store metadata in the Checkstyle configuration file. This
+ information is ignored by Checkstyle. This may be useful if you want to
+ store plug-in specific information.
+
+ To avoid name clashes between different tools/plug-ins you are *strongly*
+ encouraged to prefix all names with your domain name. For example, use the
+ name "com.mycompany.parameter" instead of "parameter".
+
+ The prefix "com.puppycrawl." is reserved for Checkstyle.
+
+-->
+
+<!ELEMENT metadata EMPTY>
+<!ATTLIST metadata
+ name NMTOKEN #REQUIRED
+ value CDATA #REQUIRED
+>
diff --git a/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration_1_3.dtd b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration_1_3.dtd
new file mode 100644
index 000000000..9649b1711
--- /dev/null
+++ b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration_1_3.dtd
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Add the following to any file that is to be validated against this DTD:
+
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
+-->
+
+<!ELEMENT module (module|property|metadata|message)*>
+<!ATTLIST module name NMTOKEN #REQUIRED>
+
+<!ELEMENT property EMPTY>
+<!ATTLIST property
+ name NMTOKEN #REQUIRED
+ value CDATA #REQUIRED
+ default CDATA #IMPLIED
+>
+
+<!--
+
+ Used to store metadata in the Checkstyle configuration file. This
+ information is ignored by Checkstyle. This may be useful if you want to
+ store plug-in specific information.
+
+ To avoid name clashes between different tools/plug-ins you are *strongly*
+ encouraged to prefix all names with your domain name. For example, use the
+ name "com.mycompany.parameter" instead of "parameter".
+
+ The prefix "com.puppycrawl." is reserved for Checkstyle.
+
+-->
+
+<!ELEMENT metadata EMPTY>
+<!ATTLIST metadata
+ name NMTOKEN #REQUIRED
+ value CDATA #REQUIRED
+>
+
+<!--
+ Can be used to replaced some generic Checkstyle messages with a custom
+ messages.
+
+ The 'key' attribute specifies for which actual Checkstyle message the
+ replacing should occur, look into Checkstyles message.properties for
+ the according message keys.
+
+ The 'value' attribute defines the custom message patterns including
+ message parameter placeholders as defined in the original Checkstyle
+ messages (again see message.properties for reference).
+-->
+<!ELEMENT message EMPTY>
+<!ATTLIST message
+ key NMTOKEN #REQUIRED
+ value CDATA #REQUIRED
+>
diff --git a/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/maven_checks.xml b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/maven_checks.xml
new file mode 100644
index 000000000..35b1a2183
--- /dev/null
+++ b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/maven_checks.xml
@@ -0,0 +1,189 @@
+<?xml version="1.0"?>
+<!--
+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.
+-->
+
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+
+<!--
+ Checkstyle configuration that checks the maven coding conventions from:
+-->
+
+<module name="Checker">
+
+ <!-- Checks that a package.html file exists for each package. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
+ <!-- module name="PackageHtml"/ -->
+
+ <!-- Checks whether files end with a new line. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
+ <!-- module name="NewlineAtEndOfFile"/ -->
+
+ <!-- Checks that property files contain the same keys. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
+ <!-- module name="Translation"/ -->
+
+ <module name="TreeWalker">
+
+ <property name="cacheFile" value="${checkstyle.cache.file}"/>
+
+ <property name="tabWidth" value="4"/>
+
+ <module name="LeftCurly">
+ <property name="option" value="nl"/>
+ </module>
+
+ <module name="RightCurly">
+ <property name="option" value="alone"/>
+ </module>
+
+ <module name="LineLength">
+ <property name="max" value="120" />
+ <property name="ignorePattern" value="@version|@see|@todo|TODO"/>
+ </module>
+
+ <module name="MemberName" />
+
+ <!-- Checks for Javadoc comments. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html -->
+ <module name="JavadocMethod">
+ <property name="severity" value="warning"/>
+ </module>
+ <module name="JavadocType"/>
+ <module name="JavadocVariable">
+ <property name="severity" value="info"/>
+ </module>
+
+
+ <!-- Checks for Naming Conventions. -->
+ <!-- See http://checkstyle.sf.net/config_naming.html -->
+ <module name="ConstantName"/>
+ <module name="LocalFinalVariableName"/>
+ <module name="LocalVariableName"/>
+ <module name="MethodName"/>
+ <module name="PackageName"/>
+ <module name="ParameterName"/>
+ <module name="StaticVariableName"/>
+ <module name="TypeName"/>
+
+
+ <!-- Checks for Headers -->
+ <!-- See http://checkstyle.sf.net/config_header.html -->
+ <module name="RegexpHeader">
+ <property name="headerFile" value="${checkstyle.header.file}"/>
+ </module>
+
+ <!-- Checks for imports -->
+ <!-- See http://checkstyle.sf.net/config_import.html -->
+ <module name="AvoidStarImport"/>
+ <module name="IllegalImport"/>
+ <module name="RedundantImport"/>
+ <module name="UnusedImports"/>
+
+
+ <!-- Checks for Size Violations. -->
+ <!-- See http://checkstyle.sf.net/config_sizes.html -->
+ <module name="FileLength"/>
+ <module name="MethodLength"/>
+ <module name="ParameterNumber"/>
+
+
+ <!-- Checks for whitespace -->
+ <!-- See http://checkstyle.sf.net/config_whitespace.html -->
+ <module name="EmptyForIteratorPad">
+ <property name="option" value="space"/>
+ </module>
+ <!-- module name="NoWhitespaceAfter"/ -->
+ <!-- module name="NoWhitespaceBefore"/ -->
+ <module name="OperatorWrap"/>
+ <module name="ParenPad">
+ <property name="option" value="space" />
+ </module>
+ <module name="TabCharacter"/>
+ <module name="WhitespaceAfter"/>
+ <module name="WhitespaceAround"/>
+ <!-- module name="MethodParamPad"/ -->
+
+
+ <!-- Modifier Checks -->
+ <!-- See http://checkstyle.sf.net/config_modifiers.html -->
+ <module name="ModifierOrder"/>
+ <module name="RedundantModifier"/>
+
+
+ <!-- Checks for blocks. You know, those {}'s -->
+ <!-- See http://checkstyle.sf.net/config_blocks.html -->
+ <module name="AvoidNestedBlocks"/>
+ <module name="EmptyBlock">
+ <property name="option" value="text"/>
+ </module>
+ <module name="NeedBraces"/>
+
+
+ <!-- Checks for common coding problems -->
+ <!-- See http://checkstyle.sf.net/config_coding.html -->
+ <!-- module name="AvoidInlineConditionals"/ -->
+ <module name="DoubleCheckedLocking"/>
+ <module name="EmptyStatement"/>
+ <module name="EqualsHashCode"/>
+ <module name="HiddenField">
+ <property name="severity" value="warning"/>
+ <property name="ignoreSetter" value="true"/>
+ <property name="ignoreConstructorParameter" value="true"/>
+ </module>
+ <module name="IllegalInstantiation"/>
+ <module name="InnerAssignment"/>
+ <module name="MagicNumber">
+ <!-- some numbers are really not that magic -->
+ <property name="ignoreNumbers" value="-4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 32, 64, 100, 128, 256, 512, 1000, 1024"/>
+ </module>
+ <module name="MissingSwitchDefault"/>
+ <module name="RedundantThrows"/>
+ <module name="SimplifyBooleanExpression"/>
+ <module name="SimplifyBooleanReturn"/>
+
+ <!-- Checks for class design -->
+ <!-- See http://checkstyle.sf.net/config_design.html -->
+ <!-- module name="DesignForExtension"/ -->
+ <!-- module name="FinalClass"/ -->
+ <!-- module name="HideUtilityClassConstructor"/ -->
+ <module name="InterfaceIsType"/>
+ <module name="VisibilityModifier">
+ <property name="protectedAllowed" value="true"/>
+ </module>
+
+ <!-- Miscellaneous other checks. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html -->
+ <!-- module name="ArrayTypeStyle"/ -->
+ <!-- module name="FinalParameters"/ -->
+ <!-- Line with Trailing Spaces (disabled as it's to noisy)
+ <module name="GenericIllegalRegexp">
+ <property name="format" value="\s+$"/>
+ <property name="message" value="Line has trailing spaces."/>
+ </module>
+ -->
+ <!-- Let todo plugin handle this.
+ <module name="TodoComment"/>
+ -->
+ <module name="UpperEll"/>
+
+ </module>
+
+</module>
diff --git a/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/sun_checks.xml b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/sun_checks.xml
new file mode 100644
index 000000000..c8a1ce59d
--- /dev/null
+++ b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/sun_checks.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0"?>
+<!--
+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.
+-->
+
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+
+<!--
+
+ Checkstyle configuration that checks the sun coding conventions from:
+
+ - the Java Language Specification at
+ http://java.sun.com/docs/books/jls/second_edition/html/index.html
+
+ - the Sun Code Conventions at http://java.sun.com/docs/codeconv/
+
+ - the Javadoc guidelines at
+ http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
+
+ - the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html
+
+ - some best practices
+
+ Checkstyle is very configurable. Be sure to read the documentation at
+ http://checkstyle.sf.net (or in your downloaded distribution).
+
+ Most Checks are configurable, be sure to consult the documentation.
+
+ To completely disable a check, just comment it out or delete it from the file.
+
+ Finally, it is worth reading the documentation.
+
+-->
+
+<module name="Checker">
+
+ <!-- Checks that a package.html file exists for each package. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
+ <module name="PackageHtml"/>
+
+ <!-- Checks whether files end with a new line. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
+ <module name="NewlineAtEndOfFile"/>
+
+ <!-- Checks that property files contain the same keys. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
+ <module name="Translation"/>
+
+
+ <module name="TreeWalker">
+
+ <property name="cacheFile" value="${checkstyle.cache.file}"/>
+
+ <!-- Checks for Javadoc comments. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html -->
+ <module name="JavadocMethod"/>
+ <module name="JavadocType"/>
+ <module name="JavadocVariable"/>
+ <module name="JavadocStyle"/>
+
+
+ <!-- Checks for Naming Conventions. -->
+ <!-- See http://checkstyle.sf.net/config_naming.html -->
+ <module name="ConstantName"/>
+ <module name="LocalFinalVariableName"/>
+ <module name="LocalVariableName"/>
+ <module name="MemberName"/>
+ <module name="MethodName"/>
+ <module name="PackageName"/>
+ <module name="ParameterName"/>
+ <module name="StaticVariableName"/>
+ <module name="TypeName"/>
+
+
+ <!-- Checks for Headers -->
+ <!-- See http://checkstyle.sf.net/config_header.html -->
+ <!-- <module name="Header"> -->
+ <!-- The follow property value demonstrates the ability -->
+ <!-- to have access to ANT properties. In this case it uses -->
+ <!-- the ${basedir} property to allow Checkstyle to be run -->
+ <!-- from any directory within a project. See property -->
+ <!-- expansion, -->
+ <!-- http://checkstyle.sf.net/config.html#properties -->
+ <!-- <property -->
+ <!-- name="headerFile" -->
+ <!-- value="${basedir}/java.header"/> -->
+ <!-- </module> -->
+
+ <!-- Following interprets the header file as regular expressions. -->
+ <!-- <module name="RegexpHeader"/> -->
+
+
+ <!-- Checks for imports -->
+ <!-- See http://checkstyle.sf.net/config_import.html -->
+ <module name="AvoidStarImport"/>
+ <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
+ <module name="RedundantImport"/>
+ <module name="UnusedImports"/>
+
+
+ <!-- Checks for Size Violations. -->
+ <!-- See http://checkstyle.sf.net/config_sizes.html -->
+ <module name="FileLength"/>
+ <module name="LineLength"/>
+ <module name="MethodLength"/>
+ <module name="ParameterNumber"/>
+
+
+ <!-- Checks for whitespace -->
+ <!-- See http://checkstyle.sf.net/config_whitespace.html -->
+ <module name="EmptyForIteratorPad"/>
+ <module name="MethodParamPad"/>
+ <module name="NoWhitespaceAfter"/>
+ <module name="NoWhitespaceBefore"/>
+ <module name="OperatorWrap"/>
+ <module name="ParenPad"/>
+ <module name="TypecastParenPad"/>
+ <module name="TabCharacter"/>
+ <module name="WhitespaceAfter"/>
+ <module name="WhitespaceAround"/>
+
+
+ <!-- Modifier Checks -->
+ <!-- See http://checkstyle.sf.net/config_modifiers.html -->
+ <module name="ModifierOrder"/>
+ <module name="RedundantModifier"/>
+
+
+ <!-- Checks for blocks. You know, those {}'s -->
+ <!-- See http://checkstyle.sf.net/config_blocks.html -->
+ <module name="AvoidNestedBlocks"/>
+ <module name="EmptyBlock"/>
+ <module name="LeftCurly"/>
+ <module name="NeedBraces"/>
+ <module name="RightCurly"/>
+
+
+ <!-- Checks for common coding problems -->
+ <!-- See http://checkstyle.sf.net/config_coding.html -->
+ <module name="AvoidInlineConditionals"/>
+ <module name="DoubleCheckedLocking"/> <!-- MY FAVOURITE -->
+ <module name="EmptyStatement"/>
+ <module name="EqualsHashCode"/>
+ <module name="HiddenField"/>
+ <module name="IllegalInstantiation"/>
+ <module name="InnerAssignment"/>
+ <module name="MagicNumber"/>
+ <module name="MissingSwitchDefault"/>
+ <module name="RedundantThrows"/>
+ <module name="SimplifyBooleanExpression"/>
+ <module name="SimplifyBooleanReturn"/>
+
+ <!-- Checks for class design -->
+ <!-- See http://checkstyle.sf.net/config_design.html -->
+ <module name="DesignForExtension"/>
+ <module name="FinalClass"/>
+ <module name="HideUtilityClassConstructor"/>
+ <module name="InterfaceIsType"/>
+ <module name="VisibilityModifier"/>
+
+
+ <!-- Miscellaneous other checks. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html -->
+ <module name="ArrayTypeStyle"/>
+ <module name="FinalParameters"/>
+ <module name="GenericIllegalRegexp">
+ <property name="format" value="\s+$"/>
+ <property name="message" value="Line has trailing spaces."/>
+ </module>
+ <module name="TodoComment"/>
+ <module name="UpperEll"/>
+
+ </module>
+
+</module>
diff --git a/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/turbine_checks.xml b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/turbine_checks.xml
new file mode 100644
index 000000000..b524d45cb
--- /dev/null
+++ b/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/turbine_checks.xml
@@ -0,0 +1,203 @@
+<?xml version="1.0"?>
+<!--
+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.
+-->
+
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.1//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_1.dtd">
+
+<!--
+
+ Checkstyle configuration that checks the sun coding conventions from:
+
+ - the Java Language Specification at
+ http://java.sun.com/docs/books/jls/second_edition/html/index.html
+
+ - the Sun Code Conventions at http://java.sun.com/docs/codeconv/
+
+ - the Javadoc guidelines at
+ http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
+
+ - the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html
+
+ - some best practices
+
+ Checkstyle is very configurable. Be sure to read the documentation at
+ http://checkstyle.sf.net (or in your downloaded distribution).
+
+ Most Checks are configurable, be sure to consult the documentation.
+
+ To completely disable a check, just comment it out or delete it from the file.
+
+ Finally, it is worth reading the documentation.
+
+-->
+
+<module name="Checker">
+
+ <!-- Checks that a package.html file exists for each package. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
+ <module name="PackageHtml"/>
+
+ <!-- Checks whether files end with a new line. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
+ <module name="NewlineAtEndOfFile"/>
+
+ <!-- Checks that property files contain the same keys. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
+ <module name="Translation"/>
+
+ <module name="TreeWalker">
+
+ <property name="cacheFile" value="${checkstyle.cache.file}"/>
+
+ <!-- ************************************************************** -->
+ <!-- Checks that are different from the sun coding conventions ones -->
+ <!-- ************************************************************** -->
+ <property name="tabWidth" value="4"/>
+ <module name="LeftCurly">
+ <property name="option" value="nl"/>
+ </module>
+ <module name="RightCurly">
+ <property name="option" value="alone"/>
+ </module>
+ <module name="LineLength">
+ <property name="ignorePattern" value="@version"/>
+ </module>
+ <module name="MemberName">
+ <property name="format" value="^f[A-Z][a-zA-Z0-9]*$"/>
+ </module>
+
+ <!-- ************************************************************** -->
+ <!-- Default Sun coding conventions checks -->
+ <!-- ************************************************************** -->
+
+ <!-- Checks for Javadoc comments. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html -->
+ <module name="JavadocMethod"/>
+ <module name="JavadocType"/>
+ <module name="JavadocVariable"/>
+
+
+ <!-- Checks for Naming Conventions. -->
+ <!-- See http://checkstyle.sf.net/config_naming.html -->
+ <module name="ConstantName"/>
+ <module name="LocalFinalVariableName"/>
+ <module name="LocalVariableName"/>
+ <module name="MethodName"/>
+ <module name="PackageName"/>
+ <module name="ParameterName"/>
+ <module name="StaticVariableName"/>
+ <module name="TypeName"/>
+
+
+ <!-- Checks for Headers -->
+ <!-- See http://checkstyle.sf.net/config_header.html -->
+ <module name="Header">
+ <!-- The follow property value demonstrates the ability -->
+ <!-- to have access to ANT properties. In this case it uses -->
+ <!-- the ${basedir} property to allow Checkstyle to be run -->
+ <!-- from any directory within a project. -->
+ <property name="headerFile" value="${checkstyle.header.file}"/>
+ <property name="ignoreLines" value="1,6"/>
+ </module>
+
+ <!-- Following interprets the header file as regular expressions. -->
+ <!-- <module name="RegexpHeader"/> -->
+
+
+ <!-- Checks for imports -->
+ <!-- See http://checkstyle.sf.net/config_import.html -->
+ <module name="AvoidStarImport"/>
+ <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
+ <module name="RedundantImport"/>
+ <module name="UnusedImports"/>
+
+
+ <!-- Checks for Size Violations. -->
+ <!-- See http://checkstyle.sf.net/config_sizes.html -->
+ <module name="FileLength"/>
+ <module name="MethodLength"/>
+ <module name="ParameterNumber"/>
+
+
+ <!-- Checks for whitespace -->
+ <!-- See http://checkstyle.sf.net/config_whitespace.html -->
+ <module name="EmptyForIteratorPad"/>
+ <module name="NoWhitespaceAfter"/>
+ <module name="NoWhitespaceBefore"/>
+ <module name="OperatorWrap"/>
+ <module name="ParenPad"/>
+ <module name="TabCharacter"/>
+ <module name="WhitespaceAfter"/>
+ <module name="WhitespaceAround"/>
+
+
+ <!-- Modifier Checks -->
+ <!-- See http://checkstyle.sf.net/config_modifiers.html -->
+ <module name="ModifierOrder"/>
+ <module name="RedundantModifier"/>
+
+
+ <!-- Checks for blocks. You know, those {}'s -->
+ <!-- See http://checkstyle.sf.net/config_blocks.html -->
+ <module name="AvoidNestedBlocks"/>
+ <module name="EmptyBlock"/>
+
+ <module name="NeedBraces"/>
+
+
+ <!-- Checks for common coding problems -->
+ <!-- See http://checkstyle.sf.net/config_coding.html -->
+ <module name="AvoidInlineConditionals"/>
+ <module name="DoubleCheckedLocking"/> <!-- MY FAVOURITE -->
+ <module name="EmptyStatement"/>
+ <module name="EqualsHashCode"/>
+ <module name="HiddenField"/>
+ <module name="IllegalInstantiation"/>
+ <module name="InnerAssignment"/>
+ <module name="MagicNumber"/>
+ <module name="MissingSwitchDefault"/>
+ <module name="RedundantThrows"/>
+ <module name="SimplifyBooleanExpression"/>
+ <module name="SimplifyBooleanReturn"/>
+
+ <!-- Checks for class design -->
+ <!-- See http://checkstyle.sf.net/config_design.html -->
+ <module name="DesignForExtension"/>
+ <module name="FinalClass"/>
+ <module name="HideUtilityClassConstructor"/>
+ <module name="InterfaceIsType"/>
+ <module name="VisibilityModifier"/>
+
+
+ <!-- Miscellaneous other checks. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html -->
+ <module name="ArrayTypeStyle"/>
+ <module name="FinalParameters"/>
+ <module name="GenericIllegalRegexp">
+ <property name="format" value="\s+$"/>
+ <property name="message" value="Line has trailing spaces."/>
+ </module>
+ <module name="TodoComment"/>
+ <module name="UpperEll"/>
+
+ </module>
+
+</module>
diff --git a/maven.coverage/src/org/netbeans/modules/maven/coverage/coverage-04.dtd b/maven.coverage/src/org/netbeans/modules/maven/coverage/coverage-04.dtd
new file mode 100644
index 000000000..e5a21bb15
--- /dev/null
+++ b/maven.coverage/src/org/netbeans/modules/maven/coverage/coverage-04.dtd
@@ -0,0 +1,60 @@
+<!-- Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+-->
+
+<!ELEMENT coverage (sources?,packages)>
+<!ATTLIST coverage line-rate CDATA #REQUIRED>
+<!ATTLIST coverage branch-rate CDATA #REQUIRED>
+<!ATTLIST coverage lines-covered CDATA #REQUIRED>
+<!ATTLIST coverage lines-valid CDATA #REQUIRED>
+<!ATTLIST coverage branches-covered CDATA #REQUIRED>
+<!ATTLIST coverage branches-valid CDATA #REQUIRED>
+<!ATTLIST coverage complexity CDATA #REQUIRED>
+<!ATTLIST coverage version CDATA #REQUIRED>
+<!ATTLIST coverage timestamp CDATA #REQUIRED>
+
+<!ELEMENT sources (source*)>
+
+<!ELEMENT source (#PCDATA)>
+
+<!ELEMENT packages (package*)>
+
+<!ELEMENT package (classes)>
+<!ATTLIST package name CDATA #REQUIRED>
+<!ATTLIST package line-rate CDATA #REQUIRED>
+<!ATTLIST package branch-rate CDATA #REQUIRED>
+<!ATTLIST package complexity CDATA #REQUIRED>
+
+<!ELEMENT classes (class*)>
+
+<!ELEMENT class (methods,lines)>
+<!ATTLIST class name CDATA #REQUIRED>
+<!ATTLIST class filename CDATA #REQUIRED>
+<!ATTLIST class line-rate CDATA #REQUIRED>
+<!ATTLIST class branch-rate CDATA #REQUIRED>
+<!ATTLIST class complexity CDATA #REQUIRED>
+
+<!ELEMENT methods (method*)>
+
+<!ELEMENT method (lines)>
+<!ATTLIST method name CDATA #REQUIRED>
+<!ATTLIST method signature CDATA #REQUIRED>
+<!ATTLIST method line-rate CDATA #REQUIRED>
+<!ATTLIST method branch-rate CDATA #REQUIRED>
+
+<!ELEMENT lines (line*)>
+
+<!ELEMENT line (conditions*)>
+<!ATTLIST line number CDATA #REQUIRED>
+<!ATTLIST line hits CDATA #REQUIRED>
+<!ATTLIST line branch CDATA "false">
+<!ATTLIST line condition-coverage CDATA "100%">
+
+<!ELEMENT conditions (condition*)>
+
+<!ELEMENT condition EMPTY>
+<!ATTLIST condition number CDATA #REQUIRED>
+<!ATTLIST condition type CDATA #REQUIRED>
+<!ATTLIST condition coverage CDATA #REQUIRED>
diff --git a/maven.coverage/src/org/netbeans/modules/maven/coverage/jacoco-1.0.dtd b/maven.coverage/src/org/netbeans/modules/maven/coverage/jacoco-1.0.dtd
new file mode 100644
index 000000000..5e6184a88
--- /dev/null
+++ b/maven.coverage/src/org/netbeans/modules/maven/coverage/jacoco-1.0.dtd
@@ -0,0 +1,84 @@
+<!--
+ Copyright (c) 2009, 2012 Mountainminds GmbH & Co. KG and Contributors
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Brock Janiczak - initial API and implementation
+ Marc R. Hoffmann - generalized report structure, line info, documentation
+
+ $Id: $
+-->
+
+<!-- This DTD describes the JaCoCo XML report format. It is identified by the
+ following identifiers:
+
+ PUBID = "-//JACOCO//DTD Report 1.0//EN"
+ SYSTEM = "report.dtd"
+-->
+
+<!-- report root node -->
+<!ELEMENT report (sessioninfo*, (group* | package*), counter*)>
+ <!ATTLIST report name CDATA #REQUIRED>
+
+<!-- information about a session which contributed execution data -->
+<!ELEMENT sessioninfo EMPTY>
+ <!-- session id -->
+ <!ATTLIST sessioninfo id CDATA #REQUIRED>
+ <!-- start time stamp -->
+ <!ATTLIST sessioninfo start CDATA #REQUIRED>
+ <!-- dump time stamp -->
+ <!ATTLIST sessioninfo dump CDATA #REQUIRED>
+
+<!-- representation of a group -->
+<!ELEMENT group ((group* | package*), counter*)>
+ <!-- group name -->
+ <!ATTLIST group name CDATA #REQUIRED>
+
+<!-- representation of a package -->
+<!ELEMENT package ((class | sourcefile)*, counter*)>
+ <!-- package name in VM notation -->
+ <!ATTLIST package name CDATA #REQUIRED>
+
+<!-- representation of a class -->
+<!ELEMENT class (method*, counter*)>
+ <!-- fully qualified VM name -->
+ <!ATTLIST class name CDATA #REQUIRED>
+
+<!-- representation of a method -->
+<!ELEMENT method (counter*)>
+ <!-- method name -->
+ <!ATTLIST method name CDATA #REQUIRED>
+ <!-- method parameter description -->
+ <!ATTLIST method desc CDATA #REQUIRED>
+ <!-- first source line number of this method -->
+ <!ATTLIST method line CDATA #IMPLIED>
+
+<!-- representation of a source file -->
+<!ELEMENT sourcefile (line*, counter*)>
+ <!-- local source file name -->
+ <!ATTLIST sourcefile name CDATA #REQUIRED>
+
+<!-- representation of a source line -->
+<!ELEMENT line EMPTY>
+ <!-- line number -->
+ <!ATTLIST line nr CDATA #REQUIRED>
+ <!-- number of missed instructions -->
+ <!ATTLIST line mi CDATA #IMPLIED>
+ <!-- number of covered instructions -->
+ <!ATTLIST line ci CDATA #IMPLIED>
+ <!-- number of missed branches -->
+ <!ATTLIST line mb CDATA #IMPLIED>
+ <!-- number of covered branches -->
+ <!ATTLIST line cb CDATA #IMPLIED>
+
+<!-- coverage data counter for different metrics -->
+<!ELEMENT counter EMPTY>
+ <!-- metric type -->
+ <!ATTLIST counter type (INSTRUCTION|BRANCH|LINE|COMPLEXITY|METHOD|CLASS) #REQUIRED>
+ <!-- number of missed items -->
+ <!ATTLIST counter missed CDATA #REQUIRED>
+ <!-- number of covered items -->
+ <!ATTLIST counter covered CDATA #REQUIRED>
\ No newline at end of file
diff --git a/maven.grammar/src/org/netbeans/modules/maven/grammar/nbm-1.0.0.xsd b/maven.grammar/src/org/netbeans/modules/maven/grammar/nbm-1.0.0.xsd
new file mode 100644
index 000000000..e6ce60a6d
--- /dev/null
+++ b/maven.grammar/src/org/netbeans/modules/maven/grammar/nbm-1.0.0.xsd
@@ -0,0 +1,222 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<!--
+File was generated from nbm-maven-plugin (https://github.com/mojohaus/nbm-maven-plugin)
+- checkout the plugin source
+- modify `src/main/mdo/descriptor.mdo` and add
+ `xml.namespace="http://maven.apache.org/POM/4.0.0"` to the model root element
+ Note: the namespace was taken from the original file from the netbeans sources
+- Run: `mvn modello:xsd`
+-->
+<!-- =================== DO NOT EDIT THIS FILE ==================== -->
+<!-- Generated by Modello 1.8.3, -->
+<!-- any modifications will be overwritten. -->
+<!-- ============================================================== -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/POM/4.0.0" targetNamespace="http://maven.apache.org/POM/4.0.0">
+ <xs:element name="nbm" type="NetBeansModule">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">Describes the layout, dependencies and packaging of a NetBeans module.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="NetBeansModule">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">Describes the layout, dependencies and packaging of a NetBeans module.</xs:documentation>
+ </xs:annotation>
+ <xs:all>
+ <xs:element minOccurs="0" name="moduleType" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">
+ <p>DEPRECATED, use the plugin configuration instead. Type of the module. Possible values are </p>
+ <p><b>autoload</b> - Such a module is automatically enabled when some other module requires it and automatically disabled otherwise.</p>
+ <p><b>eager</b> - This module type gets automatically enabled when all it's dependencies are satisfied. Disabled otherwise.</p>
+ <p><b>normal</b> - This is the default value. This kind of module is enabled/disabled manually by the user. It installs enabled.</p>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="codeNameBase" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">DEPRECATED, use the plugin configuration instead. Codenamebase of the module. Primary identification of the module. Usually the package name. Eg. "org.codehaus.mevenide.project".
+ If not defined here, the default value is constructed from groupId and artifactId.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="cluster" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">DEPRECATED, use the plugin configuration instead. Each modules should belong to a cluster. A cluster is a group of related modules. For individual modules it's not that important. Refer to netbeans.org documentation for more details.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="requiresRestart" type="xs:boolean" default="false">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">DEPRECATED, use the plugin configuration instead. Determines if the module requires restart of the IDE/platform upon installation.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="manifest" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">DEPRECATED, use the plugin configuration instead. Location of the manifest file with NetBeans specific manifest entries.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="homepageUrl" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">DEPRECATED, use the plugin configuration instead. Homepage URL of the module. Is accessible from NetBeans UI upon installation, should point to place with additional information about the functionality. If not defined, it defaults to POM's url element.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="distributionUrl" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">DEPRECATED, use the plugin configuration instead. Http URL of the location where the module can be downloaded from the internet. This value put into the NBM and used when generating the Autoupdate Site. Should point directly to the NBM download.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="author" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">DEPRECATED, use the plugin configuration instead. Author of the module. Is used when generating the NBM file.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="licenseName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">DEPRECATED, use the plugin configuration instead. Name of the license. If the user already agreed to the same license before, he/she won't be asked again to agree.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="licenseFile" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">DEPRECATED, use the plugin configuration instead. Path to the license agreement file.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="libraries">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">groupId:artifactId of artifacts that shall become part of the module and be added on the classpath
+ (ClassPath: manifest entry gets created and the jar is included in the nbm file)</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="library" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element minOccurs="0" name="dependencies">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">DEPRECATED, use the plugin configuration instead. List of module dependencies. The plugin will use it to Generate the OpenIDE-Module-Module-Dependencies manifest entry.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="dependency" minOccurs="0" maxOccurs="unbounded" type="Dependency"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element minOccurs="0" name="nbmResources">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">DEPRECATED, use the plugin configuration instead. List of resources that shall be also included into the Nbm file along with the module jar and library jars.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="nbmResource" minOccurs="0" maxOccurs="unbounded" type="NbmResource"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:all>
+ </xs:complexType>
+ <xs:complexType name="Dependency">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description"></xs:documentation>
+ </xs:annotation>
+ <xs:all>
+ <xs:element minOccurs="0" name="id" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">groupId:artifactId of the dependency defined in the POM (or a transitive dependency)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="type" type="xs:string" default="spec">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">
+ Type of module dependency. 3 possible values allowed.
+ <p><b>spec</b> - specification dependency, module can only use public APIs in public packages. Works with the version defined and any later version.</p>
+ <p><b>impl</b> - implementation dependency, module can use any class in the dependency module, but works with just the one version of the module.</p>
+ <p><b>loose</b> - similar to spec, but isa very loose connection, no version is required, just the module presence.</p>
+
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="explicitValue" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">
+ The plugin tries to resolve the correct module name and module specification/implementation version by examining the
+ dependency jar's manifest.
+ You can override this behaviour by explicitly defining the value here. For example org.openide.io/1 &gt; 10.1 for a "spec" type of dependency.
+
+
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:all>
+ </xs:complexType>
+ <xs:complexType name="NbmResource">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ </xs:annotation>
+ <xs:all>
+ <xs:element minOccurs="0" name="baseDirectory" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">The base directory, all paths within the nbm file will be the same as paths within the base directory.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="relativeClusterPath" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">A relative path to be added to cluster root where the files will be copied to.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="includes">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">Include pattern, what shall be included in the nbm. </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="include" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element minOccurs="0" name="excludes">
+ <xs:annotation>
+ <xs:documentation source="version">1.0.0+</xs:documentation>
+ <xs:documentation source="description">Exclude pattern, what files within the basedir shall not be included. </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="exclude" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:all>
+ </xs:complexType>
+</xs:schema>
\ No newline at end of file
diff --git a/nbbuild/build.xml b/nbbuild/build.xml
index cb7eb5f8f..9baf95941 100644
--- a/nbbuild/build.xml
+++ b/nbbuild/build.xml
@@ -2149,6 +2149,7 @@ It is possible to use -Ddebug.port=3234 -Ddebug.pause=y to start the system in d
<exclude name="lib.profiler/release/lib/deployed/**/*.map" /> <!-- companion files for CDDL licensed binaries -->
<exclude name="lib.uihandler/src/org/netbeans/lib/uihandler/pubKey" /> <!--no degree of creativity-->
<exclude name="lib.uihandler/test/unit/src/**" /> <!--test data-->
+ <exclude name="maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration*.dtd" /> <!-- the files do not reach a level of creativity -->
<exclude name="maven.htmlui/src/org/netbeans/modules/maven/htmlui/UIDefaults" /> <!-- config file with no place for license header-->
<exclude name="maven.indexer/external/NOTICE-patched-indexer-core-6.0.0" /> <!--no degree of creativity-->
<exclude name="mercurial/src/org/netbeans/modules/mercurial/util/log*" /> <!-- user templates for mercurial commits, etc. -->
@@ -2249,11 +2250,23 @@ It is possible to use -Ddebug.port=3234 -Ddebug.pause=y to start the system in d
Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements; and to You under the Apache License, Version 2.0.
</rat:fullTextMatcher>
+ <rat:fullTextMatcher licenseFamilyCategory="EPL/EDL" licenseFamilyName="Eclipse Public License and Eclipse Distribution License">
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
+ which accompanies this distribution.
+ </rat:fullTextMatcher>
+ <rat:fullTextMatcher licenseFamilyCategory="EPL" licenseFamilyName="Eclipse Public License">
+ This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution
+ </rat:fullTextMatcher>
<rat:approvedLicense familyName="W3C Software and Document Notice and License"/>
<rat:approvedLicense familyName="OASIS"/>
<rat:approvedLicense familyName="WSDL Schema Files" />
<rat:approvedLicense familyName="International Organization for Standardization for SGML"/>
<rat:approvedLicense familyName="Apache License 2.0 Short header"/>
+ <rat:approvedLicense familyName="Eclipse Public License and Eclipse Distribution License" />
+ <rat:approvedLicense familyName="Eclipse Public License" />
<fileset dir="${nb_all}">
<patternset refid="non.rat" />
</fileset>
@@ -2277,14 +2290,26 @@ It is possible to use -Ddebug.port=3234 -Ddebug.pause=y to start the system in d
ISO 8879, provided this notice is included in all copies.
</rat:fullTextMatcher>
<rat:fullTextMatcher licenseFamilyCategory="AL" licenseFamilyName="Apache License 2.0 Short header">
- Licensed to the Apache Software Foundation (ASF) under one or more contributor
+ Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements; and to You under the Apache License, Version 2.0.
</rat:fullTextMatcher>
+ <rat:fullTextMatcher licenseFamilyCategory="EPL/EDL" licenseFamilyName="Eclipse Public License and Eclipse Distribution License">
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
+ which accompanies this distribution.
+ </rat:fullTextMatcher>
+ <rat:fullTextMatcher licenseFamilyCategory="EPL" licenseFamilyName="Eclipse Public License">
+ This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution
+ </rat:fullTextMatcher>
<rat:approvedLicense familyName="W3C Software and Document Notice and License"/>
<rat:approvedLicense familyName="OASIS"/>
<rat:approvedLicense familyName="WSDL Schema Files" />
<rat:approvedLicense familyName="International Organization for Standardization for SGML"/>
<rat:approvedLicense familyName="Apache License 2.0 Short header"/>
+ <rat:approvedLicense familyName="Eclipse Public License and Eclipse Distribution License" />
+ <rat:approvedLicense familyName="Eclipse Public License" />
<fileset dir="${nb_all}">
<patternset refid="non.rat" />
</fileset>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-aop-2.0.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-aop-2.0.xsd
new file mode 100644
index 000000000..99941b91e
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-aop-2.0.xsd
@@ -0,0 +1,420 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/aop"
+ 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://www.springframework.org/schema/aop"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the configuration elements for the Spring Framework's AOP support.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="config">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A section (compartmentalization) of AOP-specific configuration (including
+ aspects, pointcuts, etc).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="pointcut" type="pointcutType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A named pointcut definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="advisor" type="advisorType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.aop.Advisor"><![CDATA[
+ A named advisor definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="aspect" type="aspectType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A named aspect definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Are class-based (CGLIB) proxies to be created? By default, standard
+ Java interface-based proxies are created.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="aspectj-autoproxy">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator"><![CDATA[
+ Enables the use of the @AspectJ style of Spring AOP.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="include" type="includeType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Indicates that only @AspectJ beans with names matched by the (regex)
+ pattern will be considered as defining aspects to use for Spring autoproxying.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Are class-based (CGLIB) proxies to be created? By default, standard
+ Java interface-based proxies are created.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="scoped-proxy">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.aop.scope.ScopedProxyFactoryBean"><![CDATA[
+ Marks a bean definition as being a scoped proxy.
+
+ A bean marked as such will be exposed via a proxy, with the 'real'
+ bean instance being retrieved from some other source (such as a
+ HttpSession) as and when required.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="true">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Are class-based (CGLIB) proxies to be created? This is the default; in order to
+ switch to standard Java interface-based proxies, turn this flag to "false".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="spring-configured">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect"><![CDATA[
+ Signals the current application context to apply dependency injection
+ to non-managed objects that are instantiated outside of the Spring bean
+ factory (typically classes annotated with the @Configurable annotation).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ </xsd:element>
+
+ <xsd:complexType name="aspectType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="pointcut" type="pointcutType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A named pointcut definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="declare-parents" type="declareParentsType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Allows this aspect to introduce additional interfaces that the advised
+ object will transparently implement.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="before" type="basicAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A before advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="after" type="basicAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ An after advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="after-returning" type="afterReturningAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ An after-returning advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="after-throwing" type="afterThrowingAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ An after-throwing advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="around" type="basicAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ An around advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="id" type="xsd:ID">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The unique identifier for an aspect.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the (backing) bean that encapsulates the aspect.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="order" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
+ Controls the ordering of the execution of this aspect when multiple
+ advice executes at a specific joinpoint.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="includeType">
+ <xsd:attribute name="name" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.util.regex.Pattern"><![CDATA[
+ The regular expression defining which beans are to be included in the
+ list of @AspectJ beans; beans with names matched by the pattern will
+ be included.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="pointcutType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.aop.Pointcut"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="xsd:ID">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The unique identifier for a pointcut.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="expression" use="required" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The pointcut expression.
+
+ For example : 'execution(* com.xyz.myapp.service.*.*(..))'
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="type" default="aspectj">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The type of pointcut expression (see the associated enumeration).
+ DEPRECATED: Only AspectJ expression pointcuts are supported.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="aspectj"/>
+ <xsd:enumeration value="regex"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="declareParentsType">
+ <xsd:attribute name="types-matching" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.aop.aspectj.TypePatternClassFilter"><![CDATA[
+ The AspectJ type expression that defines what types (classes) the
+ introduction is restricted to.
+
+ An example would be 'org.springframework.beans.ITestBean+'.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="implement-interface" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The fully qualified name of the interface that will be introduced.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="default-impl" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The fully qualified name of the class that will be instantiated to serve
+ as the default implementation of the introduced interface.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="basicAdviceType">
+ <xsd:attribute name="pointcut" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The associated pointcut expression.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="pointcut-ref" type="pointcutRefType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of an associated pointcut definition.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.aop.Pointcut"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="method" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the method that defines the logic of the advice.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="arg-names" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The comma-delimited list of advice method argument (parameter) names
+ that will be matched from pointcut parameters.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="afterReturningAdviceType">
+ <xsd:complexContent>
+ <xsd:extension base="basicAdviceType">
+ <xsd:attribute name="returning" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the method parameter to which the return value must
+ be passed.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="afterThrowingAdviceType">
+ <xsd:complexContent>
+ <xsd:extension base="basicAdviceType">
+ <xsd:attribute name="throwing" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the method parameter to which the thrown exception must
+ be passed.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="advisorType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.aop.Advisor"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <!-- Rick : ID type written explicitly as opposed to being imported (c.f. [SPR-2290] -->
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="advice-ref" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to an advice bean.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.aopalliance.aop.Advice"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="pointcut" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A pointcut expression.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="pointcut-ref" type="pointcutRefType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to a pointcut definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="order" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
+ Controls the ordering of the execution of this advice when multiple
+ advice executes at a specific joinpoint.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:simpleType name="pointcutRefType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.aop.Pointcut"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:union memberTypes="xsd:string"/>
+ </xsd:simpleType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-aop-2.1.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-aop-2.1.xsd
new file mode 100644
index 000000000..87225dc84
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-aop-2.1.xsd
@@ -0,0 +1,417 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/aop"
+ 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://www.springframework.org/schema/aop"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the configuration elements for the Spring Framework's AOP support.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="config">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A section (compartmentalization) of AOP-specific configuration (including
+ aspects, pointcuts, etc).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="pointcut" type="pointcutType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A named pointcut definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="advisor" type="advisorType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.aop.Advisor"><![CDATA[
+ A named advisor definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="aspect" type="aspectType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A named aspect definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Are class-based (CGLIB) proxies to be created? By default, standard
+ Java interface-based proxies are created.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="aspectj-autoproxy">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator"><![CDATA[
+ Enables the use of the @AspectJ style of Spring AOP.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="include" type="includeType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Indicates that only @AspectJ beans with names matched by the (regex)
+ pattern will be considered as defining aspects to use for Spring autoproxying.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Are class-based (CGLIB) proxies to be created? By default, standard
+ Java interface-based proxies are created.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="scoped-proxy">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.aop.scope.ScopedProxyFactoryBean"><![CDATA[
+ Marks a bean definition as being a scoped proxy.
+
+ A bean marked as such will be exposed via a proxy, with the 'real'
+ bean instance being retrieved from some other source (such as a
+ HttpSession) as and when required.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="true">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Are class-based (CGLIB) proxies to be created? This is the default; in order to
+ switch to standard Java interface-based proxies, turn this flag to "false".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="aspectType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="pointcut" type="pointcutType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A named pointcut definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="declare-parents" type="declareParentsType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Allows this aspect to introduce additional interfaces that the advised
+ object will transparently implement.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="before" type="basicAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A before advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="after" type="basicAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ An after advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="after-returning" type="afterReturningAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ An after-returning advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="after-throwing" type="afterThrowingAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ An after-throwing advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="around" type="basicAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ An around advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="id" type="xsd:ID">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The unique identifier for an aspect.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the (backing) bean that encapsulates the aspect.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="order" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
+ Controls the ordering of the execution of this aspect when multiple
+ advice executes at a specific joinpoint.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="includeType">
+ <xsd:attribute name="name" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.util.regex.Pattern"><![CDATA[
+ The regular expression defining which beans are to be included in the
+ list of @AspectJ beans; beans with names matched by the pattern will
+ be included.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="pointcutType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.aop.Pointcut"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="xsd:ID" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The unique identifier for a pointcut.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="expression" use="required" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The pointcut expression.
+
+ For example : 'execution(* com.xyz.myapp.service.*.*(..))'
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="type" default="aspectj">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The type of pointcut expression (see the associated enumeration).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="aspectj"/>
+ <xsd:enumeration value="regex"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="declareParentsType">
+ <xsd:attribute name="types-matching" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.aop.aspectj.TypePatternClassFilter"><![CDATA[
+ The AspectJ type expression that defines what types (classes) the
+ introduction is restricted to.
+
+ An example would be 'org.springframework.beans.ITestBean+'.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="implement-interface" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The fully qualified name of the interface that will be introduced.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="default-impl" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The fully qualified name of the class that will be instantiated to serve
+ as the default implementation of the introduced interface.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="delegate-ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to the bean that will serve
+ as the default implementation of the introduced interface.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="basicAdviceType">
+ <xsd:attribute name="pointcut" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The associated pointcut expression.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="pointcut-ref" type="pointcutRefType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of an associated pointcut definition.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.aop.Pointcut"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="method" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the method that defines the logic of the advice.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="arg-names" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The comma-delimited list of advice method argument (parameter) names
+ that will be matched from pointcut parameters.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="afterReturningAdviceType">
+ <xsd:complexContent>
+ <xsd:extension base="basicAdviceType">
+ <xsd:attribute name="returning" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the method parameter to which the return value must
+ be passed.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="afterThrowingAdviceType">
+ <xsd:complexContent>
+ <xsd:extension base="basicAdviceType">
+ <xsd:attribute name="throwing" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the method parameter to which the thrown exception must
+ be passed.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="advisorType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.aop.Advisor"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <!-- Rick : ID type written explicitly as opposed to being imported (c.f. [SPR-2290] -->
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="advice-ref" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to an advice bean.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.aopalliance.aop.Advice"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="pointcut" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A pointcut expression.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="pointcut-ref" type="pointcutRefType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to a pointcut definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="order" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
+ Controls the ordering of the execution of this advice when multiple
+ advice executes at a specific joinpoint.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:simpleType name="pointcutRefType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.aop.Pointcut"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:union memberTypes="xsd:string"/>
+ </xsd:simpleType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-aop-2.5.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-aop-2.5.xsd
new file mode 100644
index 000000000..364fa439b
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-aop-2.5.xsd
@@ -0,0 +1,404 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/aop"
+ 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://www.springframework.org/schema/aop"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the configuration elements for the Spring Framework's AOP support.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="config">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A section (compartmentalization) of AOP-specific configuration (including
+ aspects, pointcuts, etc).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="pointcut" type="pointcutType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A named pointcut definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="advisor" type="advisorType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.aop.Advisor"><![CDATA[
+ A named advisor definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="aspect" type="aspectType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A named aspect definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Are class-based (CGLIB) proxies to be created? By default, standard
+ Java interface-based proxies are created.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="aspectj-autoproxy">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator"><![CDATA[
+ Enables the use of the @AspectJ style of Spring AOP.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="include" type="includeType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Indicates that only @AspectJ beans with names matched by the (regex)
+ pattern will be considered as defining aspects to use for Spring autoproxying.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Are class-based (CGLIB) proxies to be created? By default, standard
+ Java interface-based proxies are created.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="scoped-proxy">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.aop.scope.ScopedProxyFactoryBean"><![CDATA[
+ Marks a bean definition as being a scoped proxy.
+
+ A bean marked as such will be exposed via a proxy, with the 'real'
+ bean instance being retrieved from some other source (such as a
+ HttpSession) as and when required.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="true">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Are class-based (CGLIB) proxies to be created? This is the default; in order to
+ switch to standard Java interface-based proxies, turn this flag to "false".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="aspectType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="pointcut" type="pointcutType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A named pointcut definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="declare-parents" type="declareParentsType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Allows this aspect to introduce additional interfaces that the advised
+ object will transparently implement.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="before" type="basicAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A before advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="after" type="basicAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ An after advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="after-returning" type="afterReturningAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ An after-returning advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="after-throwing" type="afterThrowingAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ An after-throwing advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="around" type="basicAdviceType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ An around advice definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="id" type="xsd:ID">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The unique identifier for an aspect.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the (backing) bean that encapsulates the aspect.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="order" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
+ Controls the ordering of the execution of this aspect when multiple
+ advice executes at a specific joinpoint.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="includeType">
+ <xsd:attribute name="name" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.util.regex.Pattern"><![CDATA[
+ The regular expression defining which beans are to be included in the
+ list of @AspectJ beans; beans with names matched by the pattern will
+ be included.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="pointcutType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.aop.Pointcut"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="xsd:ID" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The unique identifier for a pointcut.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="expression" use="required" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The pointcut expression.
+
+ For example : 'execution(* com.xyz.myapp.service.*.*(..))'
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="declareParentsType">
+ <xsd:attribute name="types-matching" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.aop.aspectj.TypePatternClassFilter"><![CDATA[
+ The AspectJ type expression that defines what types (classes) the
+ introduction is restricted to.
+
+ An example would be 'org.springframework.beans.ITestBean+'.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="implement-interface" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The fully qualified name of the interface that will be introduced.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="default-impl" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The fully qualified name of the class that will be instantiated to serve
+ as the default implementation of the introduced interface.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="delegate-ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to the bean that will serve
+ as the default implementation of the introduced interface.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="basicAdviceType">
+ <xsd:attribute name="pointcut" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The associated pointcut expression.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="pointcut-ref" type="pointcutRefType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of an associated pointcut definition.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.aop.Pointcut"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="method" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the method that defines the logic of the advice.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="arg-names" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The comma-delimited list of advice method argument (parameter) names
+ that will be matched from pointcut parameters.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="afterReturningAdviceType">
+ <xsd:complexContent>
+ <xsd:extension base="basicAdviceType">
+ <xsd:attribute name="returning" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the method parameter to which the return value must
+ be passed.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="afterThrowingAdviceType">
+ <xsd:complexContent>
+ <xsd:extension base="basicAdviceType">
+ <xsd:attribute name="throwing" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the method parameter to which the thrown exception must
+ be passed.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="advisorType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.aop.Advisor"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <!-- Rick : ID type written explicitly as opposed to being imported (c.f. [SPR-2290] -->
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="advice-ref" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to an advice bean.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.aopalliance.aop.Advice"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="pointcut" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A pointcut expression.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="pointcut-ref" type="pointcutRefType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to a pointcut definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="order" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
+ Controls the ordering of the execution of this advice when multiple
+ advice executes at a specific joinpoint.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:simpleType name="pointcutRefType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.aop.Pointcut"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:union memberTypes="xsd:string"/>
+ </xsd:simpleType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-beans-2.0.dtd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-beans-2.0.dtd
new file mode 100644
index 000000000..96f0133d9
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-beans-2.0.dtd
@@ -0,0 +1,698 @@
+<!--
+Copyright 2006 the original author or authors.
+
+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.
+
+Changes:
+ - Added license header. The file is taken from
+ https://docs.spring.io/spring/docs/2.0.0/reference/springbeansdtd.html
+ as it does not hold a separate license header, it is assumed, that it
+ is covered by the project license:
+ https://docs.spring.io/spring/docs/2.0.0/license.txt
+-->
+<!--
+ Spring XML Beans DTD, version 2.0
+ Authors: Rod Johnson, Juergen Hoeller, Alef Arendsen, Colin Sampaleanu, Rob Harrop
+
+ This defines a simple and consistent way of creating a namespace
+ of JavaBeans objects, managed by a Spring BeanFactory, read by
+ XmlBeanDefinitionReader (with DefaultBeanDefinitionDocumentReader).
+
+ This document type is used by most Spring functionality, including
+ web application contexts, which are based on bean factories.
+
+ Each "bean" element in this document defines a JavaBean.
+ Typically the bean class is specified, along with JavaBean properties
+ and/or constructor arguments.
+
+ A bean instance can be a "singleton" (shared instance) or a "prototype"
+ (independent instance). Further scopes can be provided by extended
+ bean factories, for example in a web environment.
+
+ References among beans are supported, that is, setting a JavaBean property
+ or a constructor argument to refer to another bean in the same factory
+ (or an ancestor factory).
+
+ As alternative to bean references, "inner bean definitions" can be used.
+ Singleton flags of such inner bean definitions are effectively ignored:
+ Inner beans are typically anonymous prototypes.
+
+ There is also support for lists, sets, maps, and java.util.Properties
+ as bean property types or constructor argument types.
+
+ For simple purposes, this DTD is sufficient. As of Spring 2.0,
+ XSD-based bean definitions are supported as more powerful alternative.
+
+ XML documents that conform to this DTD should declare the following doctype:
+
+ <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
+ "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
+-->
+
+
+<!--
+ The document root. A document can contain bean definitions only,
+ imports only, or a mixture of both (typically with imports first).
+-->
+<!ELEMENT beans (
+ description?,
+ (import | alias | bean)*
+)>
+
+<!--
+ Default values for all bean definitions. Can be overridden at
+ the "bean" level. See those attribute definitions for details.
+-->
+<!ATTLIST beans default-lazy-init (true | false) "false">
+<!ATTLIST beans default-autowire (no | byName | byType | constructor | autodetect) "no">
+<!ATTLIST beans default-dependency-check (none | objects | simple | all) "none">
+<!ATTLIST beans default-init-method CDATA #IMPLIED>
+<!ATTLIST beans default-destroy-method CDATA #IMPLIED>
+<!ATTLIST beans default-merge (true | false) "false">
+
+<!--
+ Element containing informative text describing the purpose of the enclosing
+ element. Always optional.
+ Used primarily for user documentation of XML bean definition documents.
+-->
+<!ELEMENT description (#PCDATA)>
+
+
+<!--
+ Specifies an XML bean definition resource to import.
+-->
+<!ELEMENT import EMPTY>
+
+<!--
+ The relative resource location of the XML bean definition file to import,
+ for example "myImport.xml" or "includes/myImport.xml" or "../myImport.xml".
+-->
+<!ATTLIST import resource CDATA #REQUIRED>
+
+
+<!--
+ Defines an alias for a bean, which can reside in a different definition file.
+-->
+<!ELEMENT alias EMPTY>
+
+<!--
+ The name of the bean to define an alias for.
+-->
+<!ATTLIST alias name CDATA #REQUIRED>
+
+<!--
+ The alias name to define for the bean.
+-->
+<!ATTLIST alias alias CDATA #REQUIRED>
+
+<!--
+ Allows for arbitrary metadata to be attached to a bean definition.
+-->
+<!ELEMENT meta EMPTY>
+
+<!--
+ Specifies the key name of the metadata parameter being defined.
+-->
+<!ATTLIST meta key CDATA #REQUIRED>
+
+<!--
+ Specifies the value of the metadata parameter being defined as a String.
+-->
+<!ATTLIST meta value CDATA #REQUIRED>
+
+<!--
+ Defines a single (usually named) bean.
+
+ A bean definition may contain nested tags for constructor arguments,
+ property values, lookup methods, and replaced methods. Mixing constructor
+ injection and setter injection on the same bean is explicitly supported.
+-->
+<!ELEMENT bean (
+ description?,
+ (meta | constructor-arg | property | lookup-method | replaced-method)*
+)>
+
+<!--
+ Beans can be identified by an id, to enable reference checking.
+
+ There are constraints on a valid XML id: if you want to reference your bean
+ in Java code using a name that's illegal as an XML id, use the optional
+ "name" attribute. If neither is given, the bean class name is used as id
+ (with an appended counter like "#2" if there is already a bean with that name).
+-->
+<!ATTLIST bean id ID #IMPLIED>
+
+<!--
+ Optional. Can be used to create one or more aliases illegal in an id.
+ Multiple aliases can be separated by any number of spaces, commas, or
+ semi-colons (or indeed any mixture of the three).
+-->
+<!ATTLIST bean name CDATA #IMPLIED>
+
+<!--
+ Each bean definition must specify the fully qualified name of the class,
+ except if it pure serves as parent for child bean definitions.
+-->
+<!ATTLIST bean class CDATA #IMPLIED>
+
+<!--
+ Optionally specify a parent bean definition.
+
+ Will use the bean class of the parent if none specified, but can
+ also override it. In the latter case, the child bean class must be
+ compatible with the parent, i.e. accept the parent's property values
+ and constructor argument values, if any.
+
+ A child bean definition will inherit constructor argument values,
+ property values and method overrides from the parent, with the option
+ to add new values. If init method, destroy method, factory bean and/or factory
+ method are specified, they will override the corresponding parent settings.
+
+ The remaining settings will always be taken from the child definition:
+ depends on, autowire mode, dependency check, scope, lazy init.
+-->
+<!ATTLIST bean parent CDATA #IMPLIED>
+
+<!--
+ The scope of this bean: typically "singleton" (one shared instance,
+ which will be returned by all calls to getBean() with the id),
+ or "prototype" (independent instance resulting from each call to
+ getBean(). Default is "singleton".
+
+ Singletons are most commonly used, and are ideal for multi-threaded
+ service objects. Further scopes, such as "request" or "session",
+ might be supported by extended bean factories (for example, in a
+ web environment).
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+
+ Inner bean definitions inherit the singleton status of their containing
+ bean definition, unless explicitly specified: The inner bean will be a
+ singleton if the containing bean is a singleton, and a prototype if
+ the containing bean has any other scope.
+-->
+<!ATTLIST bean scope CDATA #IMPLIED>
+
+<!--
+ Is this bean "abstract", i.e. not meant to be instantiated itself but
+ rather just serving as parent for concrete child bean definitions.
+ Default is "false". Specify "true" to tell the bean factory to not try to
+ instantiate that particular bean in any case.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per abstract bean definition.
+-->
+<!ATTLIST bean abstract (true | false) #IMPLIED>
+
+<!--
+ If this bean should be lazily initialized.
+ If false, it will get instantiated on startup by bean factories
+ that perform eager initialization of singletons.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+-->
+<!ATTLIST bean lazy-init (true | false | default) "default">
+
+<!--
+ Indicates whether or not this bean should be considered when looking
+ for candidates to satisfy another beans autowiring requirements.
+-->
+<!ATTLIST bean autowire-candidate (true | false) #IMPLIED>
+
+<!--
+ Optional attribute controlling whether to "autowire" bean properties.
+ This is an automagical process in which bean references don't need to be coded
+ explicitly in the XML bean definition file, but Spring works out dependencies.
+
+ There are 5 modes:
+
+ 1. "no"
+ The traditional Spring default. No automagical wiring. Bean references
+ must be defined in the XML file via the <ref> element. We recommend this
+ in most cases as it makes documentation more explicit.
+
+ 2. "byName"
+ Autowiring by property name. If a bean of class Cat exposes a dog property,
+ Spring will try to set this to the value of the bean "dog" in the current factory.
+ If there is no matching bean by name, nothing special happens;
+ use dependency-check="objects" to raise an error in that case.
+
+ 3. "byType"
+ Autowiring if there is exactly one bean of the property type in the bean factory.
+ If there is more than one, a fatal error is raised, and you can't use byType
+ autowiring for that bean. If there is none, nothing special happens;
+ use dependency-check="objects" to raise an error in that case.
+
+ 4. "constructor"
+ Analogous to "byType" for constructor arguments. If there isn't exactly one bean
+ of the constructor argument type in the bean factory, a fatal error is raised.
+
+ 5. "autodetect"
+ Chooses "constructor" or "byType" through introspection of the bean class.
+ If a default constructor is found, "byType" gets applied.
+
+ The latter two are similar to PicoContainer and make bean factories simple to
+ configure for small namespaces, but doesn't work as well as standard Spring
+ behaviour for bigger applications.
+
+ Note that explicit dependencies, i.e. "property" and "constructor-arg" elements,
+ always override autowiring. Autowire behavior can be combined with dependency
+ checking, which will be performed after all autowiring has been completed.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+-->
+<!ATTLIST bean autowire (no | byName | byType | constructor | autodetect | default) "default">
+
+<!--
+ Optional attribute controlling whether to check whether all this
+ beans dependencies, expressed in its properties, are satisfied.
+ Default is no dependency checking.
+
+ "simple" type dependency checking includes primitives and String
+ "object" includes collaborators (other beans in the factory)
+ "all" includes both types of dependency checking
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+-->
+<!ATTLIST bean dependency-check (none | objects | simple | all | default) "default">
+
+<!--
+ The names of the beans that this bean depends on being initialized.
+ The bean factory will guarantee that these beans get initialized before.
+
+ Note that dependencies are normally expressed through bean properties or
+ constructor arguments. This property should just be necessary for other kinds
+ of dependencies like statics (*ugh*) or database preparation on startup.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+-->
+<!ATTLIST bean depends-on CDATA #IMPLIED>
+
+<!--
+ Optional attribute for the name of the custom initialization method
+ to invoke after setting bean properties. The method must have no arguments,
+ but may throw any exception.
+-->
+<!ATTLIST bean init-method CDATA #IMPLIED>
+
+<!--
+ Optional attribute for the name of the custom destroy method to invoke
+ on bean factory shutdown. The method must have no arguments,
+ but may throw any exception.
+
+ Note: Only invoked on beans whose lifecycle is under full control
+ of the factory - which is always the case for singletons, but not
+ guaranteed for any other scope.
+-->
+<!ATTLIST bean destroy-method CDATA #IMPLIED>
+
+<!--
+ Optional attribute specifying the name of a factory method to use to
+ create this object. Use constructor-arg elements to specify arguments
+ to the factory method, if it takes arguments. Autowiring does not apply
+ to factory methods.
+
+ If the "class" attribute is present, the factory method will be a static
+ method on the class specified by the "class" attribute on this bean
+ definition. Often this will be the same class as that of the constructed
+ object - for example, when the factory method is used as an alternative
+ to a constructor. However, it may be on a different class. In that case,
+ the created object will *not* be of the class specified in the "class"
+ attribute. This is analogous to FactoryBean behavior.
+
+ If the "factory-bean" attribute is present, the "class" attribute is not
+ used, and the factory method will be an instance method on the object
+ returned from a getBean call with the specified bean name. The factory
+ bean may be defined as a singleton or a prototype.
+
+ The factory method can have any number of arguments. Autowiring is not
+ supported. Use indexed constructor-arg elements in conjunction with the
+ factory-method attribute.
+
+ Setter Injection can be used in conjunction with a factory method.
+ Method Injection cannot, as the factory method returns an instance,
+ which will be used when the container creates the bean.
+-->
+<!ATTLIST bean factory-method CDATA #IMPLIED>
+
+<!--
+ Alternative to class attribute for factory-method usage.
+ If this is specified, no class attribute should be used.
+ This should be set to the name of a bean in the current or
+ ancestor factories that contains the relevant factory method.
+ This allows the factory itself to be configured using Dependency
+ Injection, and an instance (rather than static) method to be used.
+-->
+<!ATTLIST bean factory-bean CDATA #IMPLIED>
+
+<!--
+ Bean definitions can specify zero or more constructor arguments.
+ This is an alternative to "autowire constructor".
+ Arguments correspond to either a specific index of the constructor argument
+ list or are supposed to be matched generically by type.
+
+ Note: A single generic argument value will just be used once, rather than
+ potentially matched multiple times (as of Spring 1.1).
+
+ constructor-arg elements are also used in conjunction with the factory-method
+ element to construct beans using static or instance factory methods.
+-->
+<!ELEMENT constructor-arg (
+ description?,
+ (bean | ref | idref | value | null | list | set | map | props)?
+)>
+
+<!--
+ The constructor-arg tag can have an optional index attribute,
+ to specify the exact index in the constructor argument list. Only needed
+ to avoid ambiguities, e.g. in case of 2 arguments of the same type.
+-->
+<!ATTLIST constructor-arg index CDATA #IMPLIED>
+
+<!--
+ The constructor-arg tag can have an optional type attribute,
+ to specify the exact type of the constructor argument. Only needed
+ to avoid ambiguities, e.g. in case of 2 single argument constructors
+ that can both be converted from a String.
+-->
+<!ATTLIST constructor-arg type CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "ref bean=".
+-->
+<!ATTLIST constructor-arg ref CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "value".
+-->
+<!ATTLIST constructor-arg value CDATA #IMPLIED>
+
+
+<!--
+ Bean definitions can have zero or more properties.
+ Property elements correspond to JavaBean setter methods exposed
+ by the bean classes. Spring supports primitives, references to other
+ beans in the same or related factories, lists, maps and properties.
+-->
+<!ELEMENT property (
+ description?, meta*,
+ (bean | ref | idref | value | null | list | set | map | props)?
+)>
+
+<!--
+ The property name attribute is the name of the JavaBean property.
+ This follows JavaBean conventions: a name of "age" would correspond
+ to setAge()/optional getAge() methods.
+-->
+<!ATTLIST property name CDATA #REQUIRED>
+
+<!--
+ A short-cut alternative to a child element "ref bean=".
+-->
+<!ATTLIST property ref CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "value".
+-->
+<!ATTLIST property value CDATA #IMPLIED>
+
+
+<!--
+ A lookup method causes the IoC container to override the given method and return
+ the bean with the name given in the bean attribute. This is a form of Method Injection.
+ It's particularly useful as an alternative to implementing the BeanFactoryAware
+ interface, in order to be able to make getBean() calls for non-singleton instances
+ at runtime. In this case, Method Injection is a less invasive alternative.
+-->
+<!ELEMENT lookup-method EMPTY>
+
+<!--
+ Name of a lookup method. This method should take no arguments.
+-->
+<!ATTLIST lookup-method name CDATA #IMPLIED>
+
+<!--
+ Name of the bean in the current or ancestor factories that the lookup method
+ should resolve to. Often this bean will be a prototype, in which case the
+ lookup method will return a distinct instance on every invocation. This
+ is useful for single-threaded objects.
+-->
+<!ATTLIST lookup-method bean CDATA #IMPLIED>
+
+
+<!--
+ Similar to the lookup method mechanism, the replaced-method element is used to control
+ IoC container method overriding: Method Injection. This mechanism allows the overriding
+ of a method with arbitrary code.
+-->
+<!ELEMENT replaced-method (
+ (arg-type)*
+)>
+
+<!--
+ Name of the method whose implementation should be replaced by the IoC container.
+ If this method is not overloaded, there's no need to use arg-type subelements.
+ If this method is overloaded, arg-type subelements must be used for all
+ override definitions for the method.
+-->
+<!ATTLIST replaced-method name CDATA #IMPLIED>
+
+<!--
+ Bean name of an implementation of the MethodReplacer interface in the current
+ or ancestor factories. This may be a singleton or prototype bean. If it's
+ a prototype, a new instance will be used for each method replacement.
+ Singleton usage is the norm.
+-->
+<!ATTLIST replaced-method replacer CDATA #IMPLIED>
+
+<!--
+ Subelement of replaced-method identifying an argument for a replaced method
+ in the event of method overloading.
+-->
+<!ELEMENT arg-type (#PCDATA)>
+
+<!--
+ Specification of the type of an overloaded method argument as a String.
+ For convenience, this may be a substring of the FQN. E.g. all the
+ following would match "java.lang.String":
+ - java.lang.String
+ - String
+ - Str
+
+ As the number of arguments will be checked also, this convenience can often
+ be used to save typing.
+-->
+<!ATTLIST arg-type match CDATA #IMPLIED>
+
+
+<!--
+ Defines a reference to another bean in this factory or an external
+ factory (parent or included factory).
+-->
+<!ELEMENT ref EMPTY>
+
+<!--
+ References must specify a name of the target bean.
+ The "bean" attribute can reference any name from any bean in the context,
+ to be checked at runtime.
+ Local references, using the "local" attribute, have to use bean ids;
+ they can be checked by this DTD, thus should be preferred for references
+ within the same bean factory XML file.
+-->
+<!ATTLIST ref bean CDATA #IMPLIED>
+<!ATTLIST ref local IDREF #IMPLIED>
+<!ATTLIST ref parent CDATA #IMPLIED>
+
+
+<!--
+ Defines a string property value, which must also be the id of another
+ bean in this factory or an external factory (parent or included factory).
+ While a regular 'value' element could instead be used for the same effect,
+ using idref in this case allows validation of local bean ids by the XML
+ parser, and name completion by supporting tools.
+-->
+<!ELEMENT idref EMPTY>
+
+<!--
+ ID refs must specify a name of the target bean.
+ The "bean" attribute can reference any name from any bean in the context,
+ potentially to be checked at runtime by bean factory implementations.
+ Local references, using the "local" attribute, have to use bean ids;
+ they can be checked by this DTD, thus should be preferred for references
+ within the same bean factory XML file.
+-->
+<!ATTLIST idref bean CDATA #IMPLIED>
+<!ATTLIST idref local IDREF #IMPLIED>
+
+
+<!--
+ Contains a string representation of a property value.
+ The property may be a string, or may be converted to the required
+ type using the JavaBeans PropertyEditor machinery. This makes it
+ possible for application developers to write custom PropertyEditor
+ implementations that can convert strings to arbitrary target objects.
+
+ Note that this is recommended for simple objects only.
+ Configure more complex objects by populating JavaBean
+ properties with references to other beans.
+-->
+<!ELEMENT value (#PCDATA)>
+
+<!--
+ The value tag can have an optional type attribute, to specify the
+ exact type that the value should be converted to. Only needed
+ if the type of the target property or constructor argument is
+ too generic: for example, in case of a collection element.
+-->
+<!ATTLIST value type CDATA #IMPLIED>
+
+<!--
+ Denotes a Java null value. Necessary because an empty "value" tag
+ will resolve to an empty String, which will not be resolved to a
+ null value unless a special PropertyEditor does so.
+-->
+<!ELEMENT null (#PCDATA)>
+
+
+<!--
+ A list can contain multiple inner bean, ref, collection, or value elements.
+ Java lists are untyped, pending generics support in Java 1.5,
+ although references will be strongly typed.
+ A list can also map to an array type. The necessary conversion
+ is automatically performed by the BeanFactory.
+-->
+<!ELEMENT list (
+ (bean | ref | idref | value | null | list | set | map | props)*
+)>
+
+<!--
+ Enable/disable merging for collections when using parent/child beans.
+-->
+<!ATTLIST list merge (true | false | default) "default">
+
+<!--
+ Specify the default Java type for nested values.
+-->
+<!ATTLIST list value-type CDATA #IMPLIED>
+
+
+<!--
+ A set can contain multiple inner bean, ref, collection, or value elements.
+ Java sets are untyped, pending generics support in Java 1.5,
+ although references will be strongly typed.
+-->
+<!ELEMENT set (
+ (bean | ref | idref | value | null | list | set | map | props)*
+)>
+
+<!--
+ Enable/disable merging for collections when using parent/child beans.
+-->
+<!ATTLIST set merge (true | false | default) "default">
+
+<!--
+ Specify the default Java type for nested values.
+-->
+<!ATTLIST set value-type CDATA #IMPLIED>
+
+
+<!--
+ A Spring map is a mapping from a string key to object.
+ Maps may be empty.
+-->
+<!ELEMENT map (
+ (entry)*
+)>
+
+<!--
+ Enable/disable merging for collections when using parent/child beans.
+-->
+<!ATTLIST map merge (true | false | default) "default">
+
+<!--
+ Specify the default Java type for nested entry keys.
+-->
+<!ATTLIST map key-type CDATA #IMPLIED>
+
+<!--
+ Specify the default Java type for nested entry values.
+-->
+<!ATTLIST map value-type CDATA #IMPLIED>
+
+<!--
+ A map entry can be an inner bean, ref, value, or collection.
+ The key of the entry is given by the "key" attribute or child element.
+-->
+<!ELEMENT entry (
+ key?,
+ (bean | ref | idref | value | null | list | set | map | props)?
+)>
+
+<!--
+ Each map element must specify its key as attribute or as child element.
+ A key attribute is always a String value.
+-->
+<!ATTLIST entry key CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a "key" element with a "ref bean=" child element.
+-->
+<!ATTLIST entry key-ref CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "value".
+-->
+<!ATTLIST entry value CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "ref bean=".
+-->
+<!ATTLIST entry value-ref CDATA #IMPLIED>
+
+<!--
+ A key element can contain an inner bean, ref, value, or collection.
+-->
+<!ELEMENT key (
+ (bean | ref | idref | value | null | list | set | map | props)
+)>
+
+
+<!--
+ Props elements differ from map elements in that values must be strings.
+ Props may be empty.
+-->
+<!ELEMENT props (
+ (prop)*
+)>
+
+<!--
+ Enable/disable merging for collections when using parent/child beans.
+-->
+<!ATTLIST props merge (true | false | default) "default">
+
+<!--
+ Element content is the string value of the property.
+ Note that whitespace is trimmed off to avoid unwanted whitespace
+ caused by typical XML formatting.
+-->
+<!ELEMENT prop (#PCDATA)>
+
+<!--
+ Each property element must specify its key.
+-->
+<!ATTLIST prop key CDATA #REQUIRED>
\ No newline at end of file
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-beans-2.0.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-beans-2.0.xsd
new file mode 100644
index 000000000..a3591cdcb
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-beans-2.0.xsd
@@ -0,0 +1,1096 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.springframework.org/schema/beans">
+
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Spring XML Beans Schema, version 2.0
+ Authors: Rob Harrop, Juergen Hoeller
+
+ This defines a simple and consistent way of creating a namespace
+ of JavaBeans objects, managed by a Spring BeanFactory, read by
+ XmlBeanDefinitionReader (with DefaultBeanDefinitionDocumentReader).
+
+ This document type is used by most Spring functionality, including
+ web application contexts, which are based on bean factories.
+
+ Each "bean" element in this document defines a JavaBean.
+ Typically the bean class is specified, along with JavaBean properties
+ and/or constructor arguments.
+
+ A bean instance can be a "singleton" (shared instance) or a "prototype"
+ (independent instance). Further scopes can be provided by extended
+ bean factories, for example in a web environment.
+
+ References among beans are supported, that is, setting a JavaBean property
+ or a constructor argument to refer to another bean in the same factory
+ (or an ancestor factory).
+
+ As alternative to bean references, "inner bean definitions" can be used.
+ Singleton flags of such inner bean definitions are effectively ignored:
+ inner beans are typically anonymous prototypes.
+
+ There is also support for lists, sets, maps, and java.util.Properties
+ as bean property types or constructor argument types.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <!-- base types -->
+ <xsd:complexType name="identifiedType" abstract="true">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The unique identifier for a bean. The scope of the identifier
+ is the enclosing bean factory.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="xsd:ID">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The unique identifier for a bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <!-- Top-level <beans> tag -->
+ <xsd:element name="beans">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The top level (typically root) element. Allows the definition
+ of default values for all nested bean definitions.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="description" minOccurs="0"/>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="import"/>
+ <xsd:element ref="alias"/>
+ <xsd:element ref="bean"/>
+ <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="default-lazy-init" default="false" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The default 'lazy-init' value; see the documentation for the
+ 'lazy-init' attribute of the '<bean>/' element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="default-merge" default="false" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The default 'merge' value; see the documentation for the
+ 'merge' attribute of the various collection elements.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="default-autowire" default="no">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The default 'autowire' value; see the documentation for the
+ 'autowire' attribute of the '<bean>/' element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="no"/>
+ <xsd:enumeration value="byName"/>
+ <xsd:enumeration value="byType"/>
+ <xsd:enumeration value="constructor"/>
+ <xsd:enumeration value="autodetect"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="default-dependency-check" default="none">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The default 'dependency-check' value; see the documentation for the
+ 'dependency-check' attribute of the '<bean>/' element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="simple"/>
+ <xsd:enumeration value="objects"/>
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="default-init-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The default 'init-method' value; see the documentation for the
+ 'init-method' attribute of the '<bean>/' element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="default-destroy-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The default 'destroy-method' value; see the documentation for the
+ 'destroy-method' attribute of the '<bean>/' element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="description">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Contains informative text describing the purpose of the enclosing
+ element.
+ Used primarily for user documentation of XML bean definition documents.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="import">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.core.io.Resource"><![CDATA[
+ Specifies an XML bean definition resource to import.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="xsd:anyType">
+ <xsd:attribute name="resource" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The relative resource location of the XML (bean definition) file to import,
+ for example "myImport.xml" or "includes/myImport.xml" or "../myImport.xml".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="alias">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines an alias for a bean (which can reside in a different definition
+ resource).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="xsd:anyType">
+ <xsd:attribute name="name" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the bean to define an alias for.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="alias" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The alias name to define for the bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:group name="beanElements">
+ <xsd:sequence>
+ <xsd:element ref="description" minOccurs="0"/>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="meta"/>
+ <xsd:element ref="constructor-arg"/>
+ <xsd:element ref="property"/>
+ <xsd:element ref="lookup-method"/>
+ <xsd:element ref="replaced-method"/>
+ <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:group>
+
+ <xsd:attributeGroup name="beanAttributes">
+ <xsd:attribute name="name" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Can be used to create one or more aliases illegal in an (XML) id.
+ Multiple aliases can be separated by any number of spaces, commas,
+ or semi-colons (or indeed any mixture of the three).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="class" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The fully qualified name of the bean's class, except if it serves only
+ as a parent definition for child bean definitions.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="parent" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the parent bean definition.
+
+ Will use the bean class of the parent if none is specified, but can
+ also override it. In the latter case, the child bean class must be
+ compatible with the parent, i.e. accept the parent's property values
+ and constructor argument values, if any.
+
+ A child bean definition will inherit constructor argument values,
+ property values and method overrides from the parent, with the option
+ to add new values. If init method, destroy method, factory bean and/or
+ factory method are specified, they will override the corresponding
+ parent settings.
+
+ The remaining settings will always be taken from the child definition:
+ depends on, autowire mode, dependency check, scope, lazy init.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="scope" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The scope of this bean: typically "singleton" (one shared instance,
+ which will be returned by all calls to getBean with the given id), or
+ "prototype" (independent instance resulting from each call to getBean).
+ Default is "singleton".
+
+ Singletons are most commonly used, and are ideal for multi-threaded
+ service objects. Further scopes, such as "request" or "session", might
+ be supported by extended bean factories (e.g. in a web environment).
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+
+ Inner bean definitions inherit the singleton status of their containing
+ bean definition, unless explicitly specified: The inner bean will be a
+ singleton if the containing bean is a singleton, and a prototype if
+ the containing bean has any other scope.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="abstract" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Is this bean "abstract", that is, not meant to be instantiated itself
+ but rather just serving as parent for concrete child bean definitions?
+ The default is "false". Specify "true" to tell the bean factory to not
+ try to instantiate that particular bean in any case.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per abstract bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="lazy-init" default="default" type="defaultable-boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Indicates whether or not this bean is to be lazily initialized.
+ If false, it will be instantiated on startup by bean factories
+ that perform eager initialization of singletons. The default is
+ "false".
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="autowire" default="default">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether bean properties are "autowired".
+ This is an automagical process in which bean references don't need
+ to be coded explicitly in the XML bean definition file, but rather the
+ Spring container works out dependencies.
+
+ There are 5 modes:
+
+ 1. "no"
+ The traditional Spring default. No automagical wiring. Bean references
+ must be defined in the XML file via the <ref/> element (or "ref"
+ attribute). We recommend this in most cases as it makes documentation
+ more explicit.
+
+ 2. "byName"
+ Autowiring by property name. If a bean of class Cat exposes a dog
+ property, Spring will try to set this to the value of the bean "dog"
+ in the current container. If there is no matching bean by name, nothing
+ special happens; use dependency-check="objects" to raise an error in
+ that case.
+
+ 3. "byType"
+ Autowiring if there is exactly one bean of the property type in the
+ container. If there is more than one, a fatal error is raised, and
+ you cannot use byType autowiring for that bean. If there is none,
+ nothing special happens; use dependency-check="objects" to raise an
+ error in that case.
+
+ 4. "constructor"
+ Analogous to "byType" for constructor arguments. If there is not exactly
+ one bean of the constructor argument type in the bean factory, a fatal
+ error is raised.
+
+ 5. "autodetect"
+ Chooses "constructor" or "byType" through introspection of the bean
+ class. If a default constructor is found, "byType" gets applied.
+
+ Note that explicit dependencies, i.e. "property" and "constructor-arg"
+ elements, always override autowiring. Autowire behavior can be combined
+ with dependency checking, which will be performed after all autowiring
+ has been completed.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="no"/>
+ <xsd:enumeration value="byName"/>
+ <xsd:enumeration value="byType"/>
+ <xsd:enumeration value="constructor"/>
+ <xsd:enumeration value="autodetect"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="dependency-check" default="default">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether or not to check whether all of this
+ bean's dependencies, expressed in its properties, are satisfied.
+ The default is to perform no dependency checking.
+
+ "simple" type dependency checking includes primitives and Strings.
+ "object" includes collaborators (other beans in the factory).
+ "all" includes both types of dependency checking.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="simple"/>
+ <xsd:enumeration value="objects"/>
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="depends-on" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The names of the beans that this bean depends on being initialized.
+ The bean factory will guarantee that these beans get initialized
+ before this bean.
+
+ Note that dependencies are normally expressed through bean properties
+ or constructor arguments. This property should just be necessary for
+ other kinds of dependencies like statics (*ugh*) or database preparation
+ on startup.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="autowire-candidate" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Indicates whether or not this bean should be considered when looking
+ for matching candidates to satisfy another bean's autowiring requirements.
+ Note that this does not affect explicit references by name, which will get
+ resolved even if the specified bean is not marked as an autowire candidate.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="init-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the custom initialization method to invoke after setting
+ bean properties. The method must have no arguments, but may throw any
+ exception.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="destroy-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the custom destroy method to invoke on bean factory
+ shutdown. The method must have no arguments, but may throw any
+ exception.
+
+ Note: Only invoked on beans whose lifecycle is under the full
+ control of the factory - which is always the case for singletons,
+ but not guaranteed for any other scope.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="factory-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of a factory method to use to create this object. Use
+ constructor-arg elements to specify arguments to the factory method,
+ if it takes arguments. Autowiring does not apply to factory methods.
+
+ If the "class" attribute is present, the factory method will be a static
+ method on the class specified by the "class" attribute on this bean
+ definition. Often this will be the same class as that of the constructed
+ object - for example, when the factory method is used as an alternative
+ to a constructor. However, it may be on a different class. In that case,
+ the created object will *not* be of the class specified in the "class"
+ attribute. This is analogous to FactoryBean behavior.
+
+ If the "factory-bean" attribute is present, the "class" attribute is not
+ used, and the factory method will be an instance method on the object
+ returned from a getBean call with the specified bean name. The factory
+ bean may be defined as a singleton or a prototype.
+
+ The factory method can have any number of arguments. Autowiring is not
+ supported. Use indexed constructor-arg elements in conjunction with the
+ factory-method attribute.
+
+ Setter Injection can be used in conjunction with a factory method.
+ Method Injection cannot, as the factory method returns an instance,
+ which will be used when the container creates the bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="factory-bean" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Alternative to class attribute for factory-method usage.
+ If this is specified, no class attribute should be used.
+ This must be set to the name of a bean in the current or
+ ancestor factories that contains the relevant factory method.
+ This allows the factory itself to be configured using Dependency
+ Injection, and an instance (rather than static) method to be used.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:anyAttribute namespace="##other" processContents="lax"/>
+ </xsd:attributeGroup>
+
+ <xsd:element name="meta" type="metaType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Arbitrary metadata attached to a bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="metaType">
+ <xsd:attribute name="key" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The key name of the metadata parameter being defined.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="value" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The value of the metadata parameter being defined (as a simple String).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:element name="bean">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.config.BeanDefinition"><![CDATA[
+ Defines a single (usually named) bean.
+
+ A bean definition may contain nested tags for constructor arguments,
+ property values, lookup methods, and replaced methods. Mixing constructor
+ injection and setter injection on the same bean is explicitly supported.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="identifiedType">
+ <xsd:group ref="beanElements"/>
+ <xsd:attributeGroup ref="beanAttributes"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="constructor-arg">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.config.ConstructorArgumentValues">
+ <![CDATA[
+ Bean definitions can specify zero or more constructor arguments.
+ This is an alternative to "autowire constructor".
+ Arguments correspond to either a specific index of the constructor
+ argument list or are supposed to be matched generically by type.
+
+ Note: A single generic argument value will just be used once, rather
+ than potentially matched multiple times (as of Spring 1.1).
+
+ constructor-arg elements are also used in conjunction with the
+ factory-method element to construct beans using static or instance
+ factory methods.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="description" minOccurs="0"/>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element ref="bean"/>
+ <xsd:element ref="ref"/>
+ <xsd:element ref="idref"/>
+ <xsd:element ref="value"/>
+ <xsd:element ref="null"/>
+ <xsd:element ref="list"/>
+ <xsd:element ref="set"/>
+ <xsd:element ref="map"/>
+ <xsd:element ref="props"/>
+ <xsd:any namespace="##other" processContents="strict"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="index" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The exact index of thr argument in the constructor argument list.
+ Only needed to avoid ambiguities, e.g. in case of 2 arguments of
+ the exact same type.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="type" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The exact type of the constructor argument. Only needed to avoid
+ ambiguities, e.g. in case of 2 single argument constructors
+ that can both be converted from a String.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a nested "<ref bean='...'/>" element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="value" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a nested "<value>...<value/>"
+ element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="property" type="propertyType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Bean definitions can have zero or more properties.
+ Property elements correspond to JavaBean setter methods exposed
+ by the bean classes. Spring supports primitives, references to other
+ beans in the same or related factories, lists, maps and properties.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="lookup-method">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A lookup method causes the IoC container to override the given method
+ and return the bean with the name given in the bean attribute. This is
+ a form of Method Injection. It is particularly useful as an alternative
+ to implementing the BeanFactoryAware interface, in order to be able to
+ make getBean() calls for non-singleton instances at runtime. In this
+ case, Method Injection is a less invasive alternative.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="xsd:anyType">
+ <xsd:attribute name="name" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the lookup method. This method must take no arguments.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="bean" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the bean in the current or ancestor factories that
+ the lookup method should resolve to. Often this bean will be a
+ prototype, in which case the lookup method will return a distinct
+ instance on every invocation. This is useful for single-threaded objects.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="replaced-method">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Similar to the lookup method mechanism, the replaced-method element
+ is used to control IoC container method overriding: Method Injection.
+ This mechanism allows the overriding of a method with arbitrary code.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="arg-type"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the method whose implementation must be replaced by the
+ IoC container. If this method is not overloaded, there is no need
+ to use arg-type subelements. If this method is overloaded, arg-type
+ subelements must be used for all override definitions for the method.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="replacer" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.support.MethodReplacer"><![CDATA[
+ Bean name of an implementation of the MethodReplacer interface in the
+ current or ancestor factories. This may be a singleton or prototype
+ bean. If it is a prototype, a new instance will be used for each
+ method replacement. Singleton usage is the norm.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="arg-type">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Identifies an argument for a replaced method in the event of
+ method overloading.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:attribute name="match" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Specification of the type of an overloaded method argument as a String.
+ For convenience, this may be a substring of the FQN. E.g. all the
+ following would match "java.lang.String":
+ - java.lang.String
+ - String
+ - Str
+
+ As the number of arguments will be checked also, this convenience
+ can often be used to save typing.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="ref">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines a reference to another bean in this factory or an external
+ factory (parent or included factory).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="xsd:anyType">
+ <xsd:attribute name="bean" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the referenced bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="local" type="xsd:IDREF">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the referenced bean. The value must be a bean ID and thus can
+ be checked by the XML parser. This is therefore the preferred technique
+ for referencing beans within the same bean factory XML file.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="parent" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the referenced bean *in a parent factory*.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="idref">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The id of another bean in this factory or an external factory
+ (parent or included factory).
+ While a regular 'value' element could instead be used for the
+ same effect, using idref in this case allows validation of local
+ bean ids by the XML parser, and name completion by supporting tools.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="xsd:anyType">
+ <xsd:attribute name="bean" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the referenced bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="local" type="xsd:IDREF">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the referenced bean. The value must be a bean ID and thus can
+ be checked by the XML parser. This is therefore the preferred technique
+ for referencing beans within the same bean factory XML file.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="value">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Contains a string representation of a property value.
+ The property may be a string, or may be converted to the required
+ type using the JavaBeans PropertyEditor machinery. This makes it
+ possible for application developers to write custom PropertyEditor
+ implementations that can convert strings to arbitrary target objects.
+
+ Note that this is recommended for simple objects only. Configure
+ more complex objects by populating JavaBean properties with
+ references to other beans.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:attribute name="type" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The exact type that the value should be converted to. Only needed
+ if the type of the target property or constructor argument is
+ too generic: for example, in case of a collection element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="null">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Denotes a Java null value. Necessary because an empty "value" tag
+ will resolve to an empty String, which will not be resolved to a
+ null value unless a special PropertyEditor does so.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <!-- Collection Elements -->
+ <xsd:group name="collectionElements">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="bean"/>
+ <xsd:element ref="ref"/>
+ <xsd:element ref="idref"/>
+ <xsd:element ref="value"/>
+ <xsd:element ref="null"/>
+ <xsd:element ref="list"/>
+ <xsd:element ref="set"/>
+ <xsd:element ref="map"/>
+ <xsd:element ref="props"/>
+ <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:group>
+
+ <xsd:element name="list" type="listOrSetType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A list can contain multiple inner bean, ref, collection, or value
+ elements. Java lists are untyped, pending generics support in Java5,
+ although references will be strongly typed. A list can also map to
+ an array type. The necessary conversion is automatically performed
+ by the BeanFactory.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="set" type="listOrSetType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A set can contain multiple inner bean, ref, collection, or value
+ elements. Java sets are untyped, pending generics support in Java5,
+ although references will be strongly typed.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="map" type="mapType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A mapping from a key to an object. Maps may be empty.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="entry" type="entryType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A map entry can be an inner bean, ref, value, or collection.
+ The key of the entry is given by the "key" attribute or child element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="props" type="propsType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Props elements differ from map elements in that values must be strings.
+ Props may be empty.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="key">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A key element can contain an inner bean, ref, value, or collection.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:group ref="collectionElements"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="prop">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The string value of the property. Note that whitespace is trimmed
+ off to avoid unwanted whitespace caused by typical XML formatting.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:attribute name="key" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The key of the property entry.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="propertyType">
+ <xsd:sequence>
+ <xsd:element ref="description" minOccurs="0"/>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element ref="meta"/>
+ <xsd:element ref="bean"/>
+ <xsd:element ref="ref"/>
+ <xsd:element ref="idref"/>
+ <xsd:element ref="value"/>
+ <xsd:element ref="null"/>
+ <xsd:element ref="list"/>
+ <xsd:element ref="set"/>
+ <xsd:element ref="map"/>
+ <xsd:element ref="props"/>
+ <xsd:any namespace="##other" processContents="strict"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the property, following JavaBean naming conventions.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a nested "<ref bean='...'/>".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="value" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a nested "<value>...</value>"
+ element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <!-- Collection Types -->
+
+ <!-- base collection type -->
+ <xsd:complexType name="baseCollectionType">
+ <xsd:attribute name="merge" type="defaultable-boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Enables/disables merging for collections when using parent/child beans.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <!-- base type for collections that have (possibly) typed nested values -->
+ <xsd:complexType name="typedCollectionType">
+ <xsd:complexContent>
+ <xsd:extension base="baseCollectionType">
+ <xsd:attribute name="value-type" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The default Java type for nested values. Must be a fully qualified
+ class name.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <!-- 'map' element type -->
+ <xsd:complexType name="mapType">
+ <xsd:complexContent>
+ <xsd:extension base="typedCollectionType">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="entry"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="key-type" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The default Java type for nested entry keys. Must be a fully qualified
+ class name.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <!-- 'entry' element type -->
+ <xsd:complexType name="entryType">
+ <xsd:sequence>
+ <xsd:element ref="key" minOccurs="0"/>
+ <xsd:group ref="collectionElements"/>
+ </xsd:sequence>
+ <xsd:attribute name="key" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Each map element must specify its key as attribute or as child element.
+ A key attribute is always a String value.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="key-ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a to a "key" element with a nested
+ "<ref bean='...'/>".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="value" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a nested "<value>...</value>"
+ element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="value-ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a nested "<ref bean='...'/>".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <!-- 'list' and 'set' collection type -->
+ <xsd:complexType name="listOrSetType">
+ <xsd:complexContent>
+ <xsd:extension base="typedCollectionType">
+ <xsd:group ref="collectionElements"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <!-- 'props' collection type -->
+ <xsd:complexType name="propsType">
+ <xsd:complexContent>
+ <xsd:extension base="baseCollectionType">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="prop"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <!-- simple internal types -->
+ <xsd:simpleType name="defaultable-boolean">
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="true"/>
+ <xsd:enumeration value="false"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-beans-2.5.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-beans-2.5.xsd
new file mode 100644
index 000000000..8a16aff2a
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-beans-2.5.xsd
@@ -0,0 +1,1144 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.springframework.org/schema/beans">
+
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Spring XML Beans Schema, version 2.5
+ Authors: Rob Harrop, Juergen Hoeller, Mark Fisher
+
+ This defines a simple and consistent way of creating a namespace
+ of JavaBeans objects, managed by a Spring BeanFactory, read by
+ XmlBeanDefinitionReader (with DefaultBeanDefinitionDocumentReader).
+
+ This document type is used by most Spring functionality, including
+ web application contexts, which are based on bean factories.
+
+ Each "bean" element in this document defines a JavaBean.
+ Typically the bean class is specified, along with JavaBean properties
+ and/or constructor arguments.
+
+ A bean instance can be a "singleton" (shared instance) or a "prototype"
+ (independent instance). Further scopes can be provided by extended
+ bean factories, for example in a web environment.
+
+ References among beans are supported, that is, setting a JavaBean property
+ or a constructor argument to refer to another bean in the same factory
+ (or an ancestor factory).
+
+ As alternative to bean references, "inner bean definitions" can be used.
+ Singleton flags of such inner bean definitions are effectively ignored:
+ inner beans are typically anonymous prototypes.
+
+ There is also support for lists, sets, maps, and java.util.Properties
+ as bean property types or constructor argument types.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <!-- base types -->
+ <xsd:complexType name="identifiedType" abstract="true">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The unique identifier for a bean. The scope of the identifier
+ is the enclosing bean factory.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="xsd:ID">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The unique identifier for a bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <!-- Top-level <beans> tag -->
+ <xsd:element name="beans">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The top level (typically root) element. Allows the definition
+ of default values for all nested bean definitions.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="description" minOccurs="0"/>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="import"/>
+ <xsd:element ref="alias"/>
+ <xsd:element ref="bean"/>
+ <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="default-lazy-init" default="false" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The default 'lazy-init' value; see the documentation for the
+ 'lazy-init' attribute of the '<bean>/' element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="default-merge" default="false" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The default 'merge' value; see the documentation for the
+ 'merge' attribute of the various collection elements.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="default-autowire" default="no">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The default 'autowire' value; see the documentation for the
+ 'autowire' attribute of the '<bean>/' element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="no"/>
+ <xsd:enumeration value="byName"/>
+ <xsd:enumeration value="byType"/>
+ <xsd:enumeration value="constructor"/>
+ <xsd:enumeration value="autodetect"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="default-dependency-check" default="none">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The default 'dependency-check' value; see the documentation for the
+ 'dependency-check' attribute of the '<bean>/' element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="simple"/>
+ <xsd:enumeration value="objects"/>
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="default-autowire-candidates" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A default bean name pattern for identifying autowire candidates:
+ e.g. "*Service", "data*", "*Service*", "data*Service".
+ Also accepts a comma-separated list of patterns: e.g. "*Service,*Dao".
+ See the documentation for the 'autowire-candidate' attribute of the
+ '<bean/>' element for the semantic details of autowire candidate beans.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="default-init-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The default 'init-method' value; see the documentation for the
+ 'init-method' attribute of the '<bean>/' element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="default-destroy-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The default 'destroy-method' value; see the documentation for the
+ 'destroy-method' attribute of the '<bean>/' element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:anyAttribute namespace="##other" processContents="lax"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="description">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Contains informative text describing the purpose of the enclosing element.
+ Used primarily for user documentation of XML bean definition documents.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="import">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.core.io.Resource"><![CDATA[
+ Specifies an XML bean definition resource to import.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="xsd:anyType">
+ <xsd:attribute name="resource" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The relative resource location of the XML (bean definition) file to import,
+ for example "myImport.xml" or "includes/myImport.xml" or "../myImport.xml".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="alias">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines an alias for a bean (which can reside in a different definition
+ resource).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="xsd:anyType">
+ <xsd:attribute name="name" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the bean to define an alias for.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="alias" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The alias name to define for the bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:group name="beanElements">
+ <xsd:sequence>
+ <xsd:element ref="description" minOccurs="0"/>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="meta"/>
+ <xsd:element ref="constructor-arg"/>
+ <xsd:element ref="property"/>
+ <xsd:element ref="qualifier"/>
+ <xsd:element ref="lookup-method"/>
+ <xsd:element ref="replaced-method"/>
+ <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:group>
+
+ <xsd:attributeGroup name="beanAttributes">
+ <xsd:attribute name="name" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Can be used to create one or more aliases illegal in an (XML) id.
+ Multiple aliases can be separated by any number of spaces, commas,
+ or semi-colons (or indeed any mixture of the three).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="class" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The fully qualified name of the bean's class, except if it serves only
+ as a parent definition for child bean definitions.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="parent" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the parent bean definition.
+
+ Will use the bean class of the parent if none is specified, but can
+ also override it. In the latter case, the child bean class must be
+ compatible with the parent, i.e. accept the parent's property values
+ and constructor argument values, if any.
+
+ A child bean definition will inherit constructor argument values,
+ property values and method overrides from the parent, with the option
+ to add new values. If init method, destroy method, factory bean and/or
+ factory method are specified, they will override the corresponding
+ parent settings.
+
+ The remaining settings will always be taken from the child definition:
+ depends on, autowire mode, dependency check, scope, lazy init.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="scope" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The scope of this bean: typically "singleton" (one shared instance,
+ which will be returned by all calls to getBean with the given id), or
+ "prototype" (independent instance resulting from each call to getBean).
+ Default is "singleton".
+
+ Singletons are most commonly used, and are ideal for multi-threaded
+ service objects. Further scopes, such as "request" or "session", might
+ be supported by extended bean factories (e.g. in a web environment).
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+
+ Inner bean definitions inherit the singleton status of their containing
+ bean definition, unless explicitly specified: The inner bean will be a
+ singleton if the containing bean is a singleton, and a prototype if
+ the containing bean has any other scope.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="abstract" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Is this bean "abstract", that is, not meant to be instantiated itself
+ but rather just serving as parent for concrete child bean definitions?
+ The default is "false". Specify "true" to tell the bean factory to not
+ try to instantiate that particular bean in any case.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per abstract bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="lazy-init" default="default" type="defaultable-boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Indicates whether or not this bean is to be lazily initialized.
+ If false, it will be instantiated on startup by bean factories
+ that perform eager initialization of singletons. The default is
+ "false".
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="autowire" default="default">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether bean properties are "autowired".
+ This is an automagical process in which bean references don't need
+ to be coded explicitly in the XML bean definition file, but rather the
+ Spring container works out dependencies.
+
+ There are 5 modes:
+
+ 1. "no"
+ The traditional Spring default. No automagical wiring. Bean references
+ must be defined in the XML file via the <ref/> element (or "ref"
+ attribute). We recommend this in most cases as it makes documentation
+ more explicit.
+
+ 2. "byName"
+ Autowiring by property name. If a bean of class Cat exposes a dog
+ property, Spring will try to set this to the value of the bean "dog"
+ in the current container. If there is no matching bean by name, nothing
+ special happens; use dependency-check="objects" to raise an error in
+ that case.
+
+ 3. "byType"
+ Autowiring if there is exactly one bean of the property type in the
+ container. If there is more than one, a fatal error is raised, and
+ you cannot use byType autowiring for that bean. If there is none,
+ nothing special happens; use dependency-check="objects" to raise an
+ error in that case.
+
+ 4. "constructor"
+ Analogous to "byType" for constructor arguments. If there is not exactly
+ one bean of the constructor argument type in the bean factory, a fatal
+ error is raised.
+
+ 5. "autodetect"
+ Chooses "constructor" or "byType" through introspection of the bean
+ class. If a default constructor is found, "byType" gets applied.
+
+ Note that explicit dependencies, i.e. "property" and "constructor-arg"
+ elements, always override autowiring. Autowire behavior can be combined
+ with dependency checking, which will be performed after all autowiring
+ has been completed.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="no"/>
+ <xsd:enumeration value="byName"/>
+ <xsd:enumeration value="byType"/>
+ <xsd:enumeration value="constructor"/>
+ <xsd:enumeration value="autodetect"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="dependency-check" default="default">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether or not to check whether all of this
+ bean's dependencies, expressed in its properties, are satisfied.
+ The default is to perform no dependency checking.
+
+ "simple" type dependency checking includes primitives and Strings.
+ "object" includes collaborators (other beans in the factory).
+ "all" includes both types of dependency checking.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="simple"/>
+ <xsd:enumeration value="objects"/>
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="depends-on" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The names of the beans that this bean depends on being initialized.
+ The bean factory will guarantee that these beans get initialized
+ before this bean.
+
+ Note that dependencies are normally expressed through bean properties
+ or constructor arguments. This property should just be necessary for
+ other kinds of dependencies like statics (*ugh*) or database preparation
+ on startup.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="autowire-candidate" default="default" type="defaultable-boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Indicates whether or not this bean should be considered when looking
+ for matching candidates to satisfy another bean's autowiring requirements.
+ Note that this does not affect explicit references by name, which will get
+ resolved even if the specified bean is not marked as an autowire candidate.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="primary" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Specifies that this bean should be given preference when multiple
+ candidates are qualified to autowire a single-valued dependency.
+ If exactly one 'primary' bean exists among the candidates, it
+ will be the autowired value.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="init-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the custom initialization method to invoke after setting
+ bean properties. The method must have no arguments, but may throw any
+ exception.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="destroy-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the custom destroy method to invoke on bean factory
+ shutdown. The method must have no arguments, but may throw any
+ exception.
+
+ Note: Only invoked on beans whose lifecycle is under the full
+ control of the factory - which is always the case for singletons,
+ but not guaranteed for any other scope.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="factory-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of a factory method to use to create this object. Use
+ constructor-arg elements to specify arguments to the factory method,
+ if it takes arguments. Autowiring does not apply to factory methods.
+
+ If the "class" attribute is present, the factory method will be a static
+ method on the class specified by the "class" attribute on this bean
+ definition. Often this will be the same class as that of the constructed
+ object - for example, when the factory method is used as an alternative
+ to a constructor. However, it may be on a different class. In that case,
+ the created object will *not* be of the class specified in the "class"
+ attribute. This is analogous to FactoryBean behavior.
+
+ If the "factory-bean" attribute is present, the "class" attribute is not
+ used, and the factory method will be an instance method on the object
+ returned from a getBean call with the specified bean name. The factory
+ bean may be defined as a singleton or a prototype.
+
+ The factory method can have any number of arguments. Autowiring is not
+ supported. Use indexed constructor-arg elements in conjunction with the
+ factory-method attribute.
+
+ Setter Injection can be used in conjunction with a factory method.
+ Method Injection cannot, as the factory method returns an instance,
+ which will be used when the container creates the bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="factory-bean" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Alternative to class attribute for factory-method usage.
+ If this is specified, no class attribute should be used.
+ This must be set to the name of a bean in the current or
+ ancestor factories that contains the relevant factory method.
+ This allows the factory itself to be configured using Dependency
+ Injection, and an instance (rather than static) method to be used.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:anyAttribute namespace="##other" processContents="lax"/>
+ </xsd:attributeGroup>
+
+ <xsd:element name="meta" type="metaType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Arbitrary metadata attached to a bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="metaType">
+ <xsd:attribute name="key" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The key name of the metadata attribute being defined.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="value" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The value of the metadata attribute being defined (as a simple String).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:element name="bean">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.config.BeanDefinition"><![CDATA[
+ Defines a single (usually named) bean.
+
+ A bean definition may contain nested tags for constructor arguments,
+ property values, lookup methods, and replaced methods. Mixing constructor
+ injection and setter injection on the same bean is explicitly supported.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="identifiedType">
+ <xsd:group ref="beanElements"/>
+ <xsd:attributeGroup ref="beanAttributes"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="constructor-arg">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.config.ConstructorArgumentValues">
+ <![CDATA[
+ Bean definitions can specify zero or more constructor arguments.
+ This is an alternative to "autowire constructor".
+ Arguments correspond to either a specific index of the constructor
+ argument list or are supposed to be matched generically by type.
+
+ Note: A single generic argument value will just be used once, rather
+ than potentially matched multiple times (as of Spring 1.1).
+
+ constructor-arg elements are also used in conjunction with the
+ factory-method element to construct beans using static or instance
+ factory methods.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="description" minOccurs="0"/>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element ref="bean"/>
+ <xsd:element ref="ref"/>
+ <xsd:element ref="idref"/>
+ <xsd:element ref="value"/>
+ <xsd:element ref="null"/>
+ <xsd:element ref="list"/>
+ <xsd:element ref="set"/>
+ <xsd:element ref="map"/>
+ <xsd:element ref="props"/>
+ <xsd:any namespace="##other" processContents="strict"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="index" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The exact index of the argument in the constructor argument list.
+ Only needed to avoid ambiguities, e.g. in case of 2 arguments of
+ the exact same type.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="type" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The exact type of the constructor argument. Only needed to avoid
+ ambiguities, e.g. in case of 2 single argument constructors
+ that can both be converted from a String.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a nested "<ref bean='...'/>" element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="value" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a nested "<value>...<value/>"
+ element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="property" type="propertyType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Bean definitions can have zero or more properties.
+ Property elements correspond to JavaBean setter methods exposed
+ by the bean classes. Spring supports primitives, references to other
+ beans in the same or related factories, lists, maps and properties.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="qualifier">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Bean definitions can provide qualifiers to match against annotations
+ on a field or parameter for fine-grained autowire candidate resolution.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="attribute" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="xsd:string" default="org.springframework.beans.factory.annotation.Qualifier"/>
+ <xsd:attribute name="value" type="xsd:string"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="attribute" type="metaType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A qualifier element may contain attribute child elements as key-value
+ pairs. These will be available for matching against attributes of a
+ qualifier annotation on an autowired field or parameter if present.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="lookup-method">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A lookup method causes the IoC container to override the given method
+ and return the bean with the name given in the bean attribute. This is
+ a form of Method Injection. It is particularly useful as an alternative
+ to implementing the BeanFactoryAware interface, in order to be able to
+ make getBean() calls for non-singleton instances at runtime. In this
+ case, Method Injection is a less invasive alternative.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="xsd:anyType">
+ <xsd:attribute name="name" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the lookup method. This method must take no arguments.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="bean" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the bean in the current or ancestor factories that
+ the lookup method should resolve to. Often this bean will be a
+ prototype, in which case the lookup method will return a distinct
+ instance on every invocation. This is useful for single-threaded objects.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="replaced-method">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Similar to the lookup method mechanism, the replaced-method element
+ is used to control IoC container method overriding: Method Injection.
+ This mechanism allows the overriding of a method with arbitrary code.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="arg-type"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the method whose implementation must be replaced by the
+ IoC container. If this method is not overloaded, there is no need
+ to use arg-type subelements. If this method is overloaded, arg-type
+ subelements must be used for all override definitions for the method.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="replacer" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.support.MethodReplacer"><![CDATA[
+ Bean name of an implementation of the MethodReplacer interface in the
+ current or ancestor factories. This may be a singleton or prototype
+ bean. If it is a prototype, a new instance will be used for each
+ method replacement. Singleton usage is the norm.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="arg-type">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Identifies an argument for a replaced method in the event of
+ method overloading.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:attribute name="match" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Specification of the type of an overloaded method argument as a String.
+ For convenience, this may be a substring of the FQN. E.g. all the
+ following would match "java.lang.String":
+ - java.lang.String
+ - String
+ - Str
+
+ As the number of arguments will be checked also, this convenience
+ can often be used to save typing.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="ref">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines a reference to another bean in this factory or an external
+ factory (parent or included factory).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="xsd:anyType">
+ <xsd:attribute name="bean" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the referenced bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="local" type="xsd:IDREF">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the referenced bean. The value must be a bean ID and thus can
+ be checked by the XML parser. This is therefore the preferred technique
+ for referencing beans within the same bean factory XML file.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="parent" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the referenced bean *in a parent factory*.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="idref">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The id of another bean in this factory or an external factory
+ (parent or included factory).
+ While a regular 'value' element could instead be used for the
+ same effect, using idref in this case allows validation of local
+ bean ids by the XML parser, and name completion by supporting tools.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="xsd:anyType">
+ <xsd:attribute name="bean" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the referenced bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="local" type="xsd:IDREF">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the referenced bean. The value must be a bean ID and thus can
+ be checked by the XML parser. This is therefore the preferred technique
+ for referencing beans within the same bean factory XML file.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="value">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Contains a string representation of a property value.
+ The property may be a string, or may be converted to the required
+ type using the JavaBeans PropertyEditor machinery. This makes it
+ possible for application developers to write custom PropertyEditor
+ implementations that can convert strings to arbitrary target objects.
+
+ Note that this is recommended for simple objects only. Configure
+ more complex objects by populating JavaBean properties with
+ references to other beans.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:attribute name="type" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The exact type that the value should be converted to. Only needed
+ if the type of the target property or constructor argument is
+ too generic: for example, in case of a collection element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="null">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Denotes a Java null value. Necessary because an empty "value" tag
+ will resolve to an empty String, which will not be resolved to a
+ null value unless a special PropertyEditor does so.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <!-- Collection Elements -->
+ <xsd:group name="collectionElements">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="bean"/>
+ <xsd:element ref="ref"/>
+ <xsd:element ref="idref"/>
+ <xsd:element ref="value"/>
+ <xsd:element ref="null"/>
+ <xsd:element ref="list"/>
+ <xsd:element ref="set"/>
+ <xsd:element ref="map"/>
+ <xsd:element ref="props"/>
+ <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:group>
+
+ <xsd:element name="list" type="listOrSetType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A list can contain multiple inner bean, ref, collection, or value
+ elements. Java lists are untyped, pending generics support in Java5,
+ although references will be strongly typed. A list can also map to
+ an array type. The necessary conversion is automatically performed
+ by the BeanFactory.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="set" type="listOrSetType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A set can contain multiple inner bean, ref, collection, or value
+ elements. Java sets are untyped, pending generics support in Java5,
+ although references will be strongly typed.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="map" type="mapType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A mapping from a key to an object. Maps may be empty.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="entry" type="entryType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A map entry can be an inner bean, ref, value, or collection.
+ The key of the entry is given by the "key" attribute or child element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="props" type="propsType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Props elements differ from map elements in that values must be strings.
+ Props may be empty.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="key">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A key element can contain an inner bean, ref, value, or collection.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:group ref="collectionElements"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="prop">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The string value of the property. Note that whitespace is trimmed
+ off to avoid unwanted whitespace caused by typical XML formatting.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:attribute name="key" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The key of the property entry.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="propertyType">
+ <xsd:sequence>
+ <xsd:element ref="description" minOccurs="0"/>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element ref="meta"/>
+ <xsd:element ref="bean"/>
+ <xsd:element ref="ref"/>
+ <xsd:element ref="idref"/>
+ <xsd:element ref="value"/>
+ <xsd:element ref="null"/>
+ <xsd:element ref="list"/>
+ <xsd:element ref="set"/>
+ <xsd:element ref="map"/>
+ <xsd:element ref="props"/>
+ <xsd:any namespace="##other" processContents="strict"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the property, following JavaBean naming conventions.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a nested "<ref bean='...'/>".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="value" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a nested "<value>...</value>"
+ element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <!-- Collection Types -->
+
+ <!-- base collection type -->
+ <xsd:complexType name="baseCollectionType">
+ <xsd:attribute name="merge" type="defaultable-boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Enables/disables merging for collections when using parent/child beans.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <!-- base type for collections that have (possibly) typed nested values -->
+ <xsd:complexType name="typedCollectionType">
+ <xsd:complexContent>
+ <xsd:extension base="baseCollectionType">
+ <xsd:attribute name="value-type" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The default Java type for nested values. Must be a fully qualified
+ class name.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <!-- 'map' element type -->
+ <xsd:complexType name="mapType">
+ <xsd:complexContent>
+ <xsd:extension base="typedCollectionType">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="entry"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="key-type" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The default Java type for nested entry keys. Must be a fully qualified
+ class name.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <!-- 'entry' element type -->
+ <xsd:complexType name="entryType">
+ <xsd:sequence>
+ <xsd:element ref="key" minOccurs="0"/>
+ <xsd:group ref="collectionElements"/>
+ </xsd:sequence>
+ <xsd:attribute name="key" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Each map element must specify its key as attribute or as child element.
+ A key attribute is always a String value.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="key-ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a to a "key" element with a nested
+ "<ref bean='...'/>".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="value" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a nested "<value>...</value>"
+ element.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="value-ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A short-cut alternative to a nested "<ref bean='...'/>".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <!-- 'list' and 'set' collection type -->
+ <xsd:complexType name="listOrSetType">
+ <xsd:complexContent>
+ <xsd:extension base="typedCollectionType">
+ <xsd:group ref="collectionElements"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <!-- 'props' collection type -->
+ <xsd:complexType name="propsType">
+ <xsd:complexContent>
+ <xsd:extension base="baseCollectionType">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="prop"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <!-- simple internal types -->
+ <xsd:simpleType name="defaultable-boolean">
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="true"/>
+ <xsd:enumeration value="false"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-beans.dtd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-beans.dtd
new file mode 100644
index 000000000..e1c0536eb
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-beans.dtd
@@ -0,0 +1,607 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright 2005 the original author or authors.
+
+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.
+
+Changes:
+ - Added license header. The file is taken from
+ https://docs.spring.io/spring/docs/1.2.x/reference/springbeansdtd.html
+ as it does not hold a separate license header, it is assumed, that it
+ is covered by the project license:
+ https://docs.spring.io/spring/docs/1.2.x/license.txt
+-->
+<!--
+ Spring XML Beans DTD
+ Authors: Rod Johnson, Juergen Hoeller, Alef Arendsen, Colin Sampaleanu
+
+ This defines a simple and consistent way of creating a namespace
+ of JavaBeans objects, managed by a Spring BeanFactory, read by
+ XmlBeanDefinitionReader (with DefaultXmlBeanDefinitionParser).
+
+ This document type is used by most Spring functionality, including
+ web application contexts, which are based on bean factories.
+
+ Each "bean" element in this document defines a JavaBean.
+ Typically the bean class is specified, along with JavaBean properties
+ and/or constructor arguments.
+
+ Bean instances can be "singletons" (shared instances) or "prototypes"
+ (independent instances). Further scopes are supposed to be built on top
+ of the core BeanFactory infrastructure and are therefore not part of it.
+
+ References among beans are supported, i.e. setting a JavaBean property
+ or a constructor argument to refer to another bean in the same factory
+ (or an ancestor factory).
+
+ As alternative to bean references, "inner bean definitions" can be used.
+ Singleton flags of such inner bean definitions are effectively ignored:
+ Inner beans are typically anonymous prototypes.
+
+ There is also support for lists, sets, maps, and java.util.Properties
+ as bean property types or constructor argument types.
+
+ As the format is simple, a DTD is sufficient, and there's no need
+ for a schema at this point.
+
+ XML documents that conform to this DTD should declare the following doctype:
+
+ <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
+ "http://www.springframework.org/dtd/spring-beans.dtd">
+-->
+
+
+<!--
+ The document root. A document can contain bean definitions only,
+ imports only, or a mixture of both (typically with imports first).
+-->
+<!ELEMENT beans (
+ description?,
+ (import | alias | bean)*
+)>
+
+<!--
+ Default values for all bean definitions. Can be overridden at
+ the "bean" level. See those attribute definitions for details.
+-->
+<!ATTLIST beans default-lazy-init (true | false) "false">
+<!ATTLIST beans default-dependency-check (none | objects | simple | all) "none">
+<!ATTLIST beans default-autowire (no | byName | byType | constructor | autodetect) "no">
+
+<!--
+ Element containing informative text describing the purpose of the enclosing
+ element. Always optional.
+ Used primarily for user documentation of XML bean definition documents.
+-->
+<!ELEMENT description (#PCDATA)>
+
+
+<!--
+ Specifies an XML bean definition resource to import.
+-->
+<!ELEMENT import EMPTY>
+
+<!--
+ The relative resource location of the XML bean definition file to import,
+ for example "myImport.xml" or "includes/myImport.xml" or "../myImport.xml".
+-->
+<!ATTLIST import resource CDATA #REQUIRED>
+
+
+<!--
+ Defines an alias for a bean, which can reside in a different definition file.
+-->
+<!ELEMENT alias EMPTY>
+
+<!--
+ The name of the bean to define an alias for.
+-->
+<!ATTLIST alias name CDATA #REQUIRED>
+
+<!--
+ The alias name to define for the bean.
+-->
+<!ATTLIST alias alias CDATA #REQUIRED>
+
+
+<!--
+ Defines a single (usually named) bean.
+
+ A bean definition may contain nested tags for constructor arguments,
+ property values, lookup methods, and replaced methods. Mixing constructor
+ injection and setter injection on the same bean is explicitly supported.
+-->
+<!ELEMENT bean (
+ description?,
+ (constructor-arg | property | lookup-method | replaced-method)*
+)>
+
+<!--
+ Beans can be identified by an id, to enable reference checking.
+
+ There are constraints on a valid XML id: if you want to reference your bean
+ in Java code using a name that's illegal as an XML id, use the optional
+ "name" attribute. If neither is given, the bean class name is used as id
+ (with an appended counter like "#2" if there is already a bean with that name).
+-->
+<!ATTLIST bean id ID #IMPLIED>
+
+<!--
+ Optional. Can be used to create one or more aliases illegal in an id.
+ Multiple aliases can be separated by any number of spaces or commas.
+-->
+<!ATTLIST bean name CDATA #IMPLIED>
+
+<!--
+ Each bean definition must specify the fully qualified name of the class,
+ except if it pure serves as parent for child bean definitions.
+-->
+<!ATTLIST bean class CDATA #IMPLIED>
+
+<!--
+ Optionally specify a parent bean definition.
+
+ Will use the bean class of the parent if none specified, but can
+ also override it. In the latter case, the child bean class must be
+ compatible with the parent, i.e. accept the parent's property values
+ and constructor argument values, if any.
+
+ A child bean definition will inherit constructor argument values,
+ property values and method overrides from the parent, with the option
+ to add new values. If init method, destroy method, factory bean and/or factory
+ method are specified, they will override the corresponding parent settings.
+
+ The remaining settings will always be taken from the child definition:
+ depends on, autowire mode, dependency check, singleton, lazy init.
+-->
+<!ATTLIST bean parent CDATA #IMPLIED>
+
+<!--
+ Is this bean "abstract", i.e. not meant to be instantiated itself but
+ rather just serving as parent for concrete child bean definitions.
+ Default is false. Specify true to tell the bean factory to not try to
+ instantiate that particular bean in any case.
+-->
+<!ATTLIST bean abstract (true | false) "false">
+
+<!--
+ Is this bean a "singleton" (one shared instance, which will
+ be returned by all calls to getBean() with the id),
+ or a "prototype" (independent instance resulting from each call to
+ getBean(). Default is singleton.
+
+ Singletons are most commonly used, and are ideal for multi-threaded
+ service objects.
+-->
+<!ATTLIST bean singleton (true | false) "true">
+
+<!--
+ If this bean should be lazily initialized.
+ If false, it will get instantiated on startup by bean factories
+ that perform eager initialization of singletons.
+-->
+<!ATTLIST bean lazy-init (true | false | default) "default">
+
+<!--
+ Optional attribute controlling whether to "autowire" bean properties.
+ This is an automagical process in which bean references don't need to be coded
+ explicitly in the XML bean definition file, but Spring works out dependencies.
+
+ There are 5 modes:
+
+ 1. "no"
+ The traditional Spring default. No automagical wiring. Bean references
+ must be defined in the XML file via the <ref> element. We recommend this
+ in most cases as it makes documentation more explicit.
+
+ 2. "byName"
+ Autowiring by property name. If a bean of class Cat exposes a dog property,
+ Spring will try to set this to the value of the bean "dog" in the current factory.
+ If there is no matching bean by name, nothing special happens;
+ use dependency-check="objects" to raise an error in that case.
+
+ 3. "byType"
+ Autowiring if there is exactly one bean of the property type in the bean factory.
+ If there is more than one, a fatal error is raised, and you can't use byType
+ autowiring for that bean. If there is none, nothing special happens;
+ use dependency-check="objects" to raise an error in that case.
+
+ 4. "constructor"
+ Analogous to "byType" for constructor arguments. If there isn't exactly one bean
+ of the constructor argument type in the bean factory, a fatal error is raised.
+
+ 5. "autodetect"
+ Chooses "constructor" or "byType" through introspection of the bean class.
+ If a default constructor is found, "byType" gets applied.
+
+ The latter two are similar to PicoContainer and make bean factories simple to
+ configure for small namespaces, but doesn't work as well as standard Spring
+ behaviour for bigger applications.
+
+ Note that explicit dependencies, i.e. "property" and "constructor-arg" elements,
+ always override autowiring. Autowire behaviour can be combined with dependency
+ checking, which will be performed after all autowiring has been completed.
+-->
+<!ATTLIST bean autowire (no | byName | byType | constructor | autodetect | default) "default">
+
+<!--
+ Optional attribute controlling whether to check whether all this
+ beans dependencies, expressed in its properties, are satisfied.
+ Default is no dependency checking.
+
+ "simple" type dependency checking includes primitives and String
+ "object" includes collaborators (other beans in the factory)
+ "all" includes both types of dependency checking
+-->
+<!ATTLIST bean dependency-check (none | objects | simple | all | default) "default">
+
+<!--
+ The names of the beans that this bean depends on being initialized.
+ The bean factory will guarantee that these beans get initialized before.
+
+ Note that dependencies are normally expressed through bean properties or
+ constructor arguments. This property should just be necessary for other kinds
+ of dependencies like statics (*ugh*) or database preparation on startup.
+-->
+<!ATTLIST bean depends-on CDATA #IMPLIED>
+
+<!--
+ Optional attribute for the name of the custom initialization method
+ to invoke after setting bean properties. The method must have no arguments,
+ but may throw any exception.
+-->
+<!ATTLIST bean init-method CDATA #IMPLIED>
+
+<!--
+ Optional attribute for the name of the custom destroy method to invoke
+ on bean factory shutdown. The method must have no arguments,
+ but may throw any exception. Note: Only invoked on singleton beans!
+-->
+<!ATTLIST bean destroy-method CDATA #IMPLIED>
+
+<!--
+ Optional attribute specifying the name of a factory method to use to
+ create this object. Use constructor-arg elements to specify arguments
+ to the factory method, if it takes arguments. Autowiring does not apply
+ to factory methods.
+
+ If the "class" attribute is present, the factory method will be a static
+ method on the class specified by the "class" attribute on this bean
+ definition. Often this will be the same class as that of the constructed
+ object - for example, when the factory method is used as an alternative
+ to a constructor. However, it may be on a different class. In that case,
+ the created object will *not* be of the class specified in the "class"
+ attribute. This is analogous to FactoryBean behavior.
+
+ If the "factory-bean" attribute is present, the "class" attribute is not
+ used, and the factory method will be an instance method on the object
+ returned from a getBean call with the specified bean name. The factory
+ bean may be defined as a singleton or a prototype.
+
+ The factory method can have any number of arguments. Autowiring is not
+ supported. Use indexed constructor-arg elements in conjunction with the
+ factory-method attribute.
+
+ Setter Injection can be used in conjunction with a factory method.
+ Method Injection cannot, as the factory method returns an instance,
+ which will be used when the container creates the bean.
+-->
+<!ATTLIST bean factory-method CDATA #IMPLIED>
+
+<!--
+ Alternative to class attribute for factory-method usage.
+ If this is specified, no class attribute should be used.
+ This should be set to the name of a bean in the current or
+ ancestor factories that contains the relevant factory method.
+ This allows the factory itself to be configured using Dependency
+ Injection, and an instance (rather than static) method to be used.
+-->
+<!ATTLIST bean factory-bean CDATA #IMPLIED>
+
+
+<!--
+ Bean definitions can specify zero or more constructor arguments.
+ This is an alternative to "autowire constructor".
+ Arguments correspond to either a specific index of the constructor argument
+ list or are supposed to be matched generically by type.
+
+ Note: A single generic argument value will just be used once, rather than
+ potentially matched multiple times (as of Spring 1.1).
+
+ constructor-arg elements are also used in conjunction with the factory-method
+ element to construct beans using static or instance factory methods.
+-->
+<!ELEMENT constructor-arg (
+ description?,
+ (bean | ref | idref | value | null | list | set | map | props)?
+)>
+
+<!--
+ The constructor-arg tag can have an optional index attribute,
+ to specify the exact index in the constructor argument list. Only needed
+ to avoid ambiguities, e.g. in case of 2 arguments of the same type.
+-->
+<!ATTLIST constructor-arg index CDATA #IMPLIED>
+
+<!--
+ The constructor-arg tag can have an optional type attribute,
+ to specify the exact type of the constructor argument. Only needed
+ to avoid ambiguities, e.g. in case of 2 single argument constructors
+ that can both be converted from a String.
+-->
+<!ATTLIST constructor-arg type CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "ref bean=".
+-->
+<!ATTLIST constructor-arg ref CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "value".
+-->
+<!ATTLIST constructor-arg value CDATA #IMPLIED>
+
+
+<!--
+ Bean definitions can have zero or more properties.
+ Property elements correspond to JavaBean setter methods exposed
+ by the bean classes. Spring supports primitives, references to other
+ beans in the same or related factories, lists, maps and properties.
+-->
+<!ELEMENT property (
+ description?,
+ (bean | ref | idref | value | null | list | set | map | props)?
+)>
+
+<!--
+ The property name attribute is the name of the JavaBean property.
+ This follows JavaBean conventions: a name of "age" would correspond
+ to setAge()/optional getAge() methods.
+-->
+<!ATTLIST property name CDATA #REQUIRED>
+
+<!--
+ A short-cut alternative to a child element "ref bean=".
+-->
+<!ATTLIST property ref CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "value".
+-->
+<!ATTLIST property value CDATA #IMPLIED>
+
+
+<!--
+ A lookup method causes the IoC container to override the given method and return
+ the bean with the name given in the bean attribute. This is a form of Method Injection.
+ It's particularly useful as an alternative to implementing the BeanFactoryAware
+ interface, in order to be able to make getBean() calls for non-singleton instances
+ at runtime. In this case, Method Injection is a less invasive alternative.
+-->
+<!ELEMENT lookup-method EMPTY>
+
+<!--
+ Name of a lookup method. This method should take no arguments.
+-->
+<!ATTLIST lookup-method name CDATA #IMPLIED>
+
+<!--
+ Name of the bean in the current or ancestor factories that the lookup method
+ should resolve to. Often this bean will be a prototype, in which case the
+ lookup method will return a distinct instance on every invocation. This
+ is useful for single-threaded objects.
+-->
+<!ATTLIST lookup-method bean CDATA #IMPLIED>
+
+
+<!--
+ Similar to the lookup method mechanism, the replaced-method element is used to control
+ IoC container method overriding: Method Injection. This mechanism allows the overriding
+ of a method with arbitrary code.
+-->
+<!ELEMENT replaced-method (
+ (arg-type)*
+)>
+
+<!--
+ Name of the method whose implementation should be replaced by the IoC container.
+ If this method is not overloaded, there's no need to use arg-type subelements.
+ If this method is overloaded, arg-type subelements must be used for all
+ override definitions for the method.
+-->
+<!ATTLIST replaced-method name CDATA #IMPLIED>
+
+<!--
+ Bean name of an implementation of the MethodReplacer interface
+ in the current or ancestor factories. This may be a singleton or prototype
+ bean. If it's a prototype, a new instance will be used for each method replacement.
+ Singleton usage is the norm.
+-->
+<!ATTLIST replaced-method replacer CDATA #IMPLIED>
+
+<!--
+ Subelement of replaced-method identifying an argument for a replaced method
+ in the event of method overloading.
+-->
+<!ELEMENT arg-type (#PCDATA)>
+
+<!--
+ Specification of the type of an overloaded method argument as a String.
+ For convenience, this may be a substring of the FQN. E.g. all the
+ following would match "java.lang.String":
+ - java.lang.String
+ - String
+ - Str
+
+ As the number of arguments will be checked also, this convenience can often
+ be used to save typing.
+-->
+<!ATTLIST arg-type match CDATA #IMPLIED>
+
+
+<!--
+ Defines a reference to another bean in this factory or an external
+ factory (parent or included factory).
+-->
+<!ELEMENT ref EMPTY>
+
+<!--
+ References must specify a name of the target bean.
+ The "bean" attribute can reference any name from any bean in the context,
+ to be checked at runtime.
+ Local references, using the "local" attribute, have to use bean ids;
+ they can be checked by this DTD, thus should be preferred for references
+ within the same bean factory XML file.
+-->
+<!ATTLIST ref bean CDATA #IMPLIED>
+<!ATTLIST ref local IDREF #IMPLIED>
+<!ATTLIST ref parent CDATA #IMPLIED>
+
+
+<!--
+ Defines a string property value, which must also be the id of another
+ bean in this factory or an external factory (parent or included factory).
+ While a regular 'value' element could instead be used for the same effect,
+ using idref in this case allows validation of local bean ids by the xml
+ parser, and name completion by helper tools.
+-->
+<!ELEMENT idref EMPTY>
+
+<!--
+ ID refs must specify a name of the target bean.
+ The "bean" attribute can reference any name from any bean in the context,
+ potentially to be checked at runtime by bean factory implementations.
+ Local references, using the "local" attribute, have to use bean ids;
+ they can be checked by this DTD, thus should be preferred for references
+ within the same bean factory XML file.
+-->
+<!ATTLIST idref bean CDATA #IMPLIED>
+<!ATTLIST idref local IDREF #IMPLIED>
+
+
+<!--
+ Contains a string representation of a property value.
+ The property may be a string, or may be converted to the
+ required type using the JavaBeans PropertyEditor
+ machinery. This makes it possible for application developers
+ to write custom PropertyEditor implementations that can
+ convert strings to objects.
+
+ Note that this is recommended for simple objects only.
+ Configure more complex objects by populating JavaBean
+ properties with references to other beans.
+-->
+<!ELEMENT value (#PCDATA)>
+
+<!--
+ The value tag can have an optional type attribute, to specify the
+ exact type that the value should be converted to. Only needed
+ if the type of the target property or constructor argument is
+ too generic: for example, in case of a collection element.
+-->
+<!ATTLIST value type CDATA #IMPLIED>
+
+<!--
+ Denotes a Java null value. Necessary because an empty "value" tag
+ will resolve to an empty String, which will not be resolved to a
+ null value unless a special PropertyEditor does so.
+-->
+<!ELEMENT null (#PCDATA)>
+
+
+<!--
+ A list can contain multiple inner bean, ref, collection, or value elements.
+ Java lists are untyped, pending generics support in Java 1.5,
+ although references will be strongly typed.
+ A list can also map to an array type. The necessary conversion
+ is automatically performed by the BeanFactory.
+-->
+<!ELEMENT list (
+ (bean | ref | idref | value | null | list | set | map | props)*
+)>
+
+<!--
+ A set can contain multiple inner bean, ref, collection, or value elements.
+ Java sets are untyped, pending generics support in Java 1.5,
+ although references will be strongly typed.
+-->
+<!ELEMENT set (
+ (bean | ref | idref | value | null | list | set | map | props)*
+)>
+
+
+<!--
+ A Spring map is a mapping from a string key to object.
+ Maps may be empty.
+-->
+<!ELEMENT map (
+ (entry)*
+)>
+
+<!--
+ A map entry can be an inner bean, ref, value, or collection.
+ The key of the entry is given by the "key" attribute or child element.
+-->
+<!ELEMENT entry (
+ key?,
+ (bean | ref | idref | value | null | list | set | map | props)?
+)>
+
+<!--
+ Each map element must specify its key as attribute or as child element.
+ A key attribute is always a String value.
+-->
+<!ATTLIST entry key CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a "key" element with a "ref bean=" child element.
+-->
+<!ATTLIST entry key-ref CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "value".
+-->
+<!ATTLIST entry value CDATA #IMPLIED>
+
+<!--
+ A short-cut alternative to a child element "ref bean=".
+-->
+<!ATTLIST entry value-ref CDATA #IMPLIED>
+
+<!--
+ A key element can contain an inner bean, ref, value, or collection.
+-->
+<!ELEMENT key (
+ (bean | ref | idref | value | null | list | set | map | props)
+)>
+
+
+<!--
+ Props elements differ from map elements in that values must be strings.
+ Props may be empty.
+-->
+<!ELEMENT props (
+ (prop)*
+)>
+
+<!--
+ Element content is the string value of the property.
+ Note that whitespace is trimmed off to avoid unwanted whitespace
+ caused by typical XML formatting.
+-->
+<!ELEMENT prop (#PCDATA)>
+
+<!--
+ Each property element must specify its key.
+-->
+<!ATTLIST prop key CDATA #REQUIRED>
\ No newline at end of file
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-context-2.5.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-context-2.5.xsd
new file mode 100644
index 000000000..995bb01b6
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-context-2.5.xsd
@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/context"
+ 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://www.springframework.org/schema/context"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the configuration elements for the Spring Framework's application
+ context support. Effects the activation of various configuration styles
+ for the containing Spring ApplicationContext.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="property-placeholder">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Activates replacement of ${...} placeholders, resolved against the specified properties file
+ (as a Spring resource location: a URL, a "classpath:" pseudo URL, or a relative file path).
+ Alternatively, define a parameterized PropertyPlaceholderConfigurer bean in the context.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="location" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="annotation-config">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Activates various annotations to be detected in bean classes: Spring's @Required and
+ @Autowired, as well as JSR 250's @PostConstruct, @PreDestroy and @Resource (if available)
+ and JPA's @PersistenceContext and @PersistenceUnit (if available). Alternatively,
+ you can choose to activate the individual BeanPostProcessors for those annotations.
+
+ Note: This tag does not activate processing of Spring's @Transactional annotation.
+ Consider the use of the <tx:annotation-driven> tag for that purpose.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="component-scan">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Scans the classpath for annotated components that will be auto-registered as
+ Spring beans. By default, the Spring-provided @Component, @Repository,
+ @Service, and @Controller stereotypes will be detected.
+
+ Note: This tag implies the effects of the 'annotation-config' tag, activating @Required,
+ @Autowired, @PostConstruct, @PreDestroy, @Resource, @PersistenceContext and @PersistenceUnit
+ annotations in the component classes, which is usually desired for autodetected components
+ (without external configuration). Turn off the 'annotation-config' attribute to deactivate
+ this default behavior, for example in order to use custom BeanPostProcessor definitions
+ for handling those annotations.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="include-filter" type="filterType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="exclude-filter" type="filterType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="base-package" type="xsd:string" use="required"/>
+ <xsd:attribute name="resource-pattern" type="xsd:string"/>
+ <xsd:attribute name="use-default-filters" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="annotation-config" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="name-generator" type="xsd:string"/>
+ <xsd:attribute name="scope-resolver" type="xsd:string"/>
+ <xsd:attribute name="scoped-proxy">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="no"/>
+ <xsd:enumeration value="interfaces"/>
+ <xsd:enumeration value="targetClass"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="load-time-weaver">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Activates a Spring LoadTimeWeaver for this application context, available as
+ a bean with the name "loadTimeWeaver". Any bean that implements the
+ LoadTimeWeaverAware interface will then receive the LoadTimeWeaver reference
+ automatically; for example, Spring's JPA bootstrap support.
+
+ The default weaver is determined automatically. As of Spring 2.5: detecting
+ Sun's GlassFish, Oracle's OC4J, Spring's VM agent and any ClassLoader
+ supported by Spring's ReflectiveLoadTimeWeaver (for example, the
+ TomcatInstrumentableClassLoader).
+
+ The activation of AspectJ load-time weaving is specified via a simple flag
+ (the 'aspectj-weaving' attribute), with the AspectJ class transformer
+ registered through Spring's LoadTimeWeaver. AspectJ weaving will be activated
+ by default if a "META-INF/aop.xml" resource is present in the classpath.
+
+ This also activates the current application context for applying dependency
+ injection to non-managed classes that are instantiated outside of the Spring
+ bean factory (typically classes annotated with the @Configurable annotation).
+ This will only happen if the AnnotationBeanConfigurerAspect is on the classpath
+ (i.e. spring-aspects.jar), effectively activating "spring-configured" by default.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.instrument.classloading.LoadTimeWeaver"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="weaver-class" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The fully-qualified classname of the LoadTimeWeaver that is to be activated.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:expected-type type="java.lang.Class"/>
+ <tool:assignable-to type="org.springframework.instrument.classloading.LoadTimeWeaver"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="aspectj-weaving" default="autodetect">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="on">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Switches Spring-based AspectJ load-time weaving on.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="off">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Switches Spring-based AspectJ load-time weaving off.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="autodetect">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Switches AspectJ load-time weaving on if a "META-INF/aop.xml" resource
+ is present in the classpath. If there is no such resource, then AspectJ
+ load-time weaving will be switched off.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="spring-configured">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect"><![CDATA[
+ Signals the current application context to apply dependency injection
+ to non-managed classes that are instantiated outside of the Spring bean
+ factory (typically classes annotated with the @Configurable annotation).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ </xsd:element>
+
+ <xsd:element name="mbean-export">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.jmx.export.annotation.AnnotationMBeanExporter"><![CDATA[
+ Activates default exporting of MBeans by detecting standard MBeans in the Spring
+ context as well as @ManagedResource annotations on Spring-defined beans.
+
+ The resulting MBeanExporter bean is defined under the name "mbeanExporter".
+ Alternatively, consider defining a custom AnnotationMBeanExporter bean explicitly.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.jmx.export.annotation.MBeanExporter"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="default-domain" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The default domain to use when generating JMX ObjectNames.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="server" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The bean name of the MBeanServer to which MBeans should be exported.
+ Default is to use the platform's default MBeanServer
+ (autodetecting WebLogic 9+, WebSphere 5.1+ and the JDK 1.5+ platform MBeanServer).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="mbean-server">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.jmx.support.MBeanServerFactoryBean"><![CDATA[
+ Exposes a default MBeanServer for the current platform.
+ Autodetects WebLogic 9+, WebSphere 5.1+ and the JDK 1.5+ platform MBeanServer.
+
+ The default bean name for the exposed MBeanServer is "mbeanServer".
+ This may be customized through specifying the "id" attribute.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="javax.management.MBeanServer"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:attribute name="agent-id" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The agent id of the target MBeanServer, if any.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="filterType">
+ <xsd:attribute name="type" use="required">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="annotation"/>
+ <xsd:enumeration value="aspectj"/>
+ <xsd:enumeration value="assignable"/>
+ <xsd:enumeration value="regex"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="expression" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-jee-2.0.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-jee-2.0.xsd
new file mode 100644
index 000000000..299b67c76
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-jee-2.0.xsd
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/jee"
+ 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://www.springframework.org/schema/jee"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the elements used to configure various Java EE (J2EE) related
+ technologies such as JNDI lookups and EJBs.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="jndi-lookup">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.jndi.JndiObjectFactoryBean"><![CDATA[
+ Exposes an object reference via a JNDI lookup.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="jndiLocatingType">
+ <xsd:attribute name="cache" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether the object returned from the JNDI lookup is cached
+ after the first lookup.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="expected-type" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The type that the located JNDI object is supposed to be assignable
+ to, if indeed any.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="lookup-on-startup" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether the JNDI lookup is performed immediately on startup
+ (if true, the default), or on first access (if false).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="proxy-interface" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The proxy interface to use for the JNDI object.
+
+ Needs to be specified because the actual JNDI object type is not
+ known in advance in case of a lazy lookup.
+
+ Typically used in conjunction with "lookupOnStartup"=false and/or
+ "cache"=false.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:expected-type type="java.lang.Class"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="local-slsb" type="ejbType">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.ejb.access.LocalStatelessSessionProxyFactoryBean"><![CDATA[
+ Exposes a reference to a local EJB Stateless SessionBean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="remote-slsb">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean"><![CDATA[
+ Exposes a reference to a remote EJB Stateless SessionBean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="ejbType">
+ <xsd:attribute name="home-interface" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The home interface that will be narrowed to before performing
+ the parameterless SLSB create() call that returns the actual
+ SLSB proxy.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="refresh-home-on-connect-failure" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether to refresh the EJB home on connect failure.
+
+ Can be turned on to allow for hot restart of the EJB server.
+ If a cached EJB home throws an RMI exception that indicates a
+ remote connect failure, a fresh home will be fetched and the
+ invocation will be retried.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <!-- base types -->
+ <xsd:complexType name="jndiLocatingType" abstract="true">
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence>
+ <xsd:element name="environment" minOccurs="0" maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The newline-separated, key-value pairs for the JNDI environment
+ (in standard Properties format, namely 'key=value' pairs)
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="jndi-name" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The JNDI name to look up.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="resource-ref" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether the lookup occurs in a J2EE container, i.e. if the
+ prefix "java:comp/env/" needs to be added if the JNDI name doesn't
+ already contain it.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="environment-ref" type="environmentRefType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to JNDI environment properties.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="ejbType">
+ <xsd:complexContent>
+ <xsd:extension base="jndiLocatingType">
+ <xsd:attribute name="lookup-home-on-startup" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether the lookup of the EJB home object is performed
+ immediately on startup (if true, the default), or on first access
+ (if false).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="cache-home" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether the EJB home object is cached once it has been located.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="business-interface" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The business interface of the EJB being proxied.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="environmentRefType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="java.util.Properties"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:union memberTypes="xsd:string"/>
+ </xsd:simpleType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-jee-2.5.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-jee-2.5.xsd
new file mode 100644
index 000000000..1d5375e58
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-jee-2.5.xsd
@@ -0,0 +1,240 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/jee"
+ 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://www.springframework.org/schema/jee"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the elements used to configure various Java EE (J2EE) related
+ technologies such as JNDI lookups and EJBs.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="jndi-lookup">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.jndi.JndiObjectFactoryBean"><![CDATA[
+ Exposes an object reference via a JNDI lookup.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="jndiLocatingType">
+ <xsd:attribute name="cache" type="xsd:boolean" default="true">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether the object returned from the JNDI lookup is cached
+ after the first lookup.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="expected-type" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The type that the located JNDI object is supposed to be assignable
+ to, if indeed any.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="lookup-on-startup" type="xsd:boolean" default="true">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether the JNDI lookup is performed immediately on startup
+ (if true, the default), or on first access (if false).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="proxy-interface" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The proxy interface to use for the JNDI object.
+
+ Needs to be specified because the actual JNDI object type is not
+ known in advance in case of a lazy lookup.
+
+ Typically used in conjunction with "lookupOnStartup"=false and/or
+ "cache"=false.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:expected-type type="java.lang.Class"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="default-value" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Specify a default literal value to fall back to if the JNDI lookup fails.
+ This is typically used for literal values in scenarios where the JNDI environment
+ might define specific config settings but those are not required to be present.
+
+ Default is none. Note: This is only supported for lookup on startup.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="default-ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Specify a default bean reference to fall back to if the JNDI lookup fails.
+ This might for example point to a local fallback DataSource.
+
+ Default is none. Note: This is only supported for lookup on startup.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="local-slsb" type="ejbType">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.ejb.access.LocalStatelessSessionProxyFactoryBean"><![CDATA[
+ Exposes a reference to a local EJB Stateless SessionBean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="remote-slsb">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean"><![CDATA[
+ Exposes a reference to a remote EJB Stateless SessionBean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="ejbType">
+ <xsd:attribute name="home-interface" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The home interface that will be narrowed to before performing
+ the parameterless SLSB create() call that returns the actual
+ SLSB proxy.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="refresh-home-on-connect-failure" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether to refresh the EJB home on connect failure.
+
+ Can be turned on to allow for hot restart of the EJB server.
+ If a cached EJB home throws an RMI exception that indicates a
+ remote connect failure, a fresh home will be fetched and the
+ invocation will be retried.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <!-- base types -->
+ <xsd:complexType name="jndiLocatingType" abstract="true">
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence>
+ <xsd:element name="environment" minOccurs="0" maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The newline-separated, key-value pairs for the JNDI environment
+ (in standard Properties format, namely 'key=value' pairs)
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="jndi-name" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The JNDI name to look up.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="resource-ref" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether the lookup occurs in a J2EE container, i.e. if the
+ prefix "java:comp/env/" needs to be added if the JNDI name doesn't
+ already contain it.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="environment-ref" type="environmentRefType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to JNDI environment properties.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="ejbType">
+ <xsd:complexContent>
+ <xsd:extension base="jndiLocatingType">
+ <xsd:attribute name="lookup-home-on-startup" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether the lookup of the EJB home object is performed
+ immediately on startup (if true, the default), or on first access
+ (if false).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="cache-home" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Controls whether the EJB home object is cached once it has been located.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="business-interface" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The business interface of the EJB being proxied.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="environmentRefType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="java.util.Properties"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:union memberTypes="xsd:string"/>
+ </xsd:simpleType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-jms-2.5.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-jms-2.5.xsd
new file mode 100644
index 000000000..2dbef6a1d
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-jms-2.5.xsd
@@ -0,0 +1,404 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/jms"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:tool="http://www.springframework.org/schema/tool"
+ targetNamespace="http://www.springframework.org/schema/jms"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the configuration elements for the Spring Framework's JMS support.
+ Allows for configuring JMS listener containers in XML 'shortcut' style.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="listener-container">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Each listener child element will be hosted by a container whose configuration
+ is determined by this parent element. This variant builds standard JMS
+ listener containers, operating against a specified JMS ConnectionFactory.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.jms.listener.AbstractMessageListenerContainer"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="listener" type="listenerType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="container-type" default="default">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The type of this listener container: "default" or "simple", choosing
+ between DefaultMessageListenerContainer and SimpleMessageListenerContainer.
+ The "102" suffix adapts to a JMS provider that implements JMS 1.0.2 only.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="default102"/>
+ <xsd:enumeration value="simple"/>
+ <xsd:enumeration value="simple102"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="connection-factory" type="xsd:string" default="connectionFactory">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to the JMS ConnectionFactory bean.
+ Default is "connectionFactory".
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="javax.jms.ConnectionFactory"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="task-executor" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to the Spring TaskExecutor for the JMS listener invokers.
+ Default is a SimpleAsyncTaskExecutor, using internally managed threads.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.core.task.TaskExecutor"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="destination-resolver" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to the DestinationResolver strategy for resolving destination names.
+ Default is a DynamicDestinationResolver, using the JMS provider's queue/topic
+ name resolution. Alternatively, specify a reference to a JndiDestinationResolver
+ (typically in a J2EE environment).
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.jms.support.destination.DestinationResolver"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="message-converter" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to the MessageConverter strategy for converting JMS Messages to
+ listener method arguments. Default is a SimpleMessageConverter.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.jms.support.converter.MessageConverter"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="destination-type" default="queue">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The JMS destination type for this listener: "queue", "topic" or "durableTopic".
+ Default is "queue".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="queue"/>
+ <xsd:enumeration value="topic"/>
+ <xsd:enumeration value="durableTopic"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="client-id" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The JMS client id for this listener container.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="acknowledge" default="auto">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The native JMS acknowledge mode: "auto", "client", "dups-ok" or "transacted".
+ The latter effectively activates a locally transacted Session; as alternative,
+ specify an external "transaction-manager" via the corresponding attribute.
+ Default is "auto".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="client"/>
+ <xsd:enumeration value="dups-ok"/>
+ <xsd:enumeration value="transacted"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="transaction-manager" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to an external PlatformTransactionManager (typically an
+ XA-based transaction coordinator, e.g. Spring's JtaTransactionManager).
+ If not specified, native acknowledging will be used (see "acknowledge" attribute).
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.transaction.PlatformTransactionManager"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="concurrency" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The maximum number of concurrent sessions/consumers to start for each listener.
+ Default is 1.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="prefetch" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The maximum number of messages to load into a single session.
+ Note that raising this number might lead to starvation of concurrent consumers!
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="jca-listener-container">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Each listener child element will be hosted by a container whose configuration
+ is determined by this parent element. This variant builds standard JCA-based
+ listener containers, operating against a specified JCA ResourceAdapter
+ (which needs to be provided by the JMS message broker, e.g. ActiveMQ).
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.jms.listener.endpoint.JmsMessageEndpointManager"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="listener" type="listenerType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="resource-adapter" type="xsd:string" default="resourceAdapter">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to the JCA ResourceAdapter bean for the JMS provider.
+ Default is "resourceAdapter".
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="javax.resource.spi.ResourceAdapter"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="activation-spec-factory" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to the JmsActivationSpecFactory.
+ Default is to autodetect the JMS provider and its ActivationSpec class
+ (see DefaultJmsActivationSpecFactory).
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.jms.listener.endpoint.JmsActivationSpecFactory"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="destination-resolver" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to the DestinationResolver strategy for resolving destination names.
+ Default is to pass in the destination name Strings into the JCA ActivationSpec as-is.
+ Alternatively, specify a reference to a JndiDestinationResolver (typically in a J2EE
+ environment, in particular if the server insists on receiving Destination objects).
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.jms.support.destination.DestinationResolver"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="message-converter" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to the MessageConverter strategy for converting JMS Messages to
+ listener method arguments. Default is a SimpleMessageConverter.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.jms.support.converter.MessageConverter"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="destination-type" default="queue">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The JMS destination type for this listener: "queue", "topic" or "durableTopic".
+ Default is "queue".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="queue"/>
+ <xsd:enumeration value="topic"/>
+ <xsd:enumeration value="durableTopic"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="client-id" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The JMS client id for this listener container.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="acknowledge" default="auto">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The native JMS acknowledge mode: "auto", "client", "dups-ok" or "transacted".
+ The latter effectively activates a locally transacted Session; as alternative,
+ specify an external "transaction-manager" via the corresponding attribute.
+ Default is "auto".
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="client"/>
+ <xsd:enumeration value="dups-ok"/>
+ <xsd:enumeration value="transacted"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="transaction-manager" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A reference to the Spring JtaTransactionManager or [javax.transaction.TransactionManager],
+ for kicking off an XA transaction for each incoming message.
+ If not specified, native acknowledging will be used (see "acknowledge" attribute).
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="concurrency" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The maximum number of concurrent sessions to activate for each listener.
+ Default is 1.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="prefetch" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The maximum number of messages to load into a single session.
+ Note that raising this number might lead to starvation of concurrent consumers!
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="listenerType">
+ <xsd:attribute name="id" type="xsd:ID">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The unique identifier for a listener.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="destination" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The destination name for this listener, resolved through the
+ container-wide DestinationResolver strategy (if any). Required.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="subscription" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name for the durable subscription, if any.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="selector" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The JMS message selector for this listener.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="ref" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The bean name of the listener object, implementing
+ the MessageListener/SessionAwareMessageListener interface
+ or defining the specified listener method. Required.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the listener method to invoke. If not specified,
+ the target bean is supposed to implement the MessageListener
+ or SessionAwareMessageListener interface.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="response-destination" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of the default response destination to send response messages to.
+ This will be applied in case of a request message that does not carry
+ a "JMSReplyTo" field. The type of this destination will be determined
+ by the listener-container's "destination-type" attribute.
+ Note: This only applies to a listener method with a return value,
+ for which each result object will be converted into a response message.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-lang-2.0.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-lang-2.0.xsd
new file mode 100644
index 000000000..f8ace32ff
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-lang-2.0.xsd
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/lang"
+ 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://www.springframework.org/schema/lang"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the elements used in the Spring Framework's dynamic language
+ support, which allows bean definitions that are backed by classes
+ written in a language other than Java.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:element name="groovy" type="customizableScriptType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A Spring bean backed by a Groovy class definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="jruby" type="dynamicScriptType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A Spring bean backed by a JRuby class definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="bsh" type="dynamicScriptType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A Spring bean backed by a BeanShell script.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- Script Types -->
+ <xsd:complexType name="simpleScriptType">
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence>
+ <xsd:element name="inline-script" minOccurs="0" maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The source code for the dynamic language-backed bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="property" type="beans:propertyType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Dynamic language-backed bean definitions can have zero or more properties.
+ Property elements correspond to JavaBean setter methods exposed
+ by the bean classes. Spring supports primitives, references to other
+ beans in the same or related factories, lists, maps and properties.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="refresh-check-delay" type="xsd:long">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The delay (in milliseconds) between checks for updated sources when
+ using the refreshable beans feature.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="script-source" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.core.io.Resource"><![CDATA[
+ The resource containing the script for the dynamic language-backed bean.
+
+ Examples might be '/WEB-INF/scripts/Anais.groovy', 'classpath:Nin.bsh', etc.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="scope" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The scope of this scripted bean: typically "singleton" (one shared instance,
+ which will be returned by all calls to getBean with the given id), or
+ "prototype" (independent instance resulting from each call to getBean).
+ Default is "singleton".
+
+ Singletons are most commonly used, and are ideal for multi-threaded
+ service objects. Further scopes, such as "request" or "session", might
+ be supported by extended bean factories (e.g. in a web environment).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="init-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of an initialization method defined on the scripted bean.
+ Analogous to the 'init-method' attribute on a standard bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="destroy-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of a destruction method defined on the scripted bean.
+ Analogous to the 'destroy-method' attribute on a standard bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="dynamicScriptType">
+ <xsd:complexContent>
+ <xsd:extension base="simpleScriptType">
+ <xsd:attribute name="script-interfaces">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The Java interfaces that the dynamic language-backed object is to expose; comma-delimited.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="customizableScriptType">
+ <xsd:complexContent>
+ <xsd:extension base="simpleScriptType">
+ <xsd:attribute name="customizer-ref">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Reference to a GroovyObjectCustomizer or similar customizer bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-lang-2.5.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-lang-2.5.xsd
new file mode 100644
index 000000000..3d7112e62
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-lang-2.5.xsd
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/lang"
+ 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://www.springframework.org/schema/lang"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the elements used in the Spring Framework's dynamic language
+ support, which allows bean definitions that are backed by classes
+ written in a language other than Java.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:element name="defaults">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Default settings for any scripted beans registered within this context.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attributeGroup ref="defaultableAttributes"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="groovy" type="customizableScriptType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A Spring bean backed by a Groovy class definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="jruby" type="dynamicScriptType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A Spring bean backed by a JRuby class definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="bsh" type="dynamicScriptType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ A Spring bean backed by a BeanShell script.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- Script Types -->
+ <xsd:complexType name="simpleScriptType">
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence>
+ <xsd:element name="inline-script" minOccurs="0" maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The source code for the dynamic language-backed bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="property" type="beans:propertyType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Dynamic language-backed bean definitions can have zero or more properties.
+ Property elements correspond to JavaBean setter methods exposed
+ by the bean classes. Spring supports primitives, references to other
+ beans in the same or related factories, lists, maps and properties.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="defaultableAttributes"/>
+ <xsd:attribute name="script-source" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.core.io.Resource"><![CDATA[
+ The resource containing the script for the dynamic language-backed bean.
+
+ Examples might be '/WEB-INF/scripts/Anais.groovy', 'classpath:Nin.bsh', etc.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="scope" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The scope of this scripted bean: typically "singleton" (one shared instance,
+ which will be returned by all calls to getBean with the given id), or
+ "prototype" (independent instance resulting from each call to getBean).
+ Default is "singleton".
+
+ Singletons are most commonly used, and are ideal for multi-threaded
+ service objects. Further scopes, such as "request" or "session", might
+ be supported by extended bean factories (e.g. in a web environment).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="autowire" default="default">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The autowire mode for the scripted bean.
+ Analogous to the 'autowire' attribute on a standard bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="no"/>
+ <xsd:enumeration value="byName"/>
+ <xsd:enumeration value="byType"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="dependency-check" default="default">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The dependency check setting for the scripted bean.
+ Analogous to the 'dependency-check' attribute on a standard bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="simple"/>
+ <xsd:enumeration value="objects"/>
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="init-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of an initialization method defined on the scripted bean.
+ Analogous to the 'init-method' attribute on a standard bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="destroy-method" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The name of a destruction method defined on the scripted bean.
+ Analogous to the 'destroy-method' attribute on a standard bean definition.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="dynamicScriptType">
+ <xsd:complexContent>
+ <xsd:extension base="simpleScriptType">
+ <xsd:attribute name="script-interfaces">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.lang.Class"><![CDATA[
+ The Java interfaces that the dynamic language-backed object is to expose; comma-delimited.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="customizableScriptType">
+ <xsd:complexContent>
+ <xsd:extension base="simpleScriptType">
+ <xsd:attribute name="customizer-ref">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Reference to a GroovyObjectCustomizer or similar customizer bean.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:attributeGroup name="defaultableAttributes">
+ <xsd:attribute name="refresh-check-delay" type="xsd:long">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The delay (in milliseconds) between checks for updated sources when
+ using the refreshable beans feature.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:attributeGroup>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-osgi.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-osgi.xsd
new file mode 100644
index 000000000..c50073fd6
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-osgi.xsd
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/osgi"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:beans="http://www.springframework.org/schema/beans"
+ targetNamespace="http://www.springframework.org/schema/osgi"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:annotation>
+ <xsd:documentation>
+ Defines the configuration elements for Spring OSGi support.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <!-- reference -->
+ <xsd:element name="reference" type="Treference">
+ <xsd:annotation>
+ <xsd:documentation>
+ Reference to a single OSGi service.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="Treference">
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="property" type="beans:mapType" minOccurs="0"/>
+ <xsd:element name="listener" type="Tlistener" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="interface" use="required" type="xsd:string"/>
+ <xsd:attribute name="filter" use="optional" type="xsd:string"/>
+ <xsd:attribute name="timeout" use="optional" type="xsd:int"/>
+ <xsd:attribute name="mandatory" use="optional" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="depends-on" type="xsd:string" use="optional"/>
+ <xsd:attribute name="bean-name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="context-classloader" type="TreferenceClassLoaderOptions" default="client"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="TreferenceClassLoaderOptions">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="client"/>
+ <xsd:enumeration value="service-provider"/>
+ <xsd:enumeration value="unmanaged"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="Tlistener">
+ <xsd:sequence minOccurs="0" maxOccurs="1">
+ <!-- nested bean declaration -->
+ <xsd:any namespace="##other" minOccurs="1" maxOccurs="1" processContents="skip"/>
+ </xsd:sequence>
+
+ <!-- shortcut for bean references -->
+ <xsd:attribute name="ref" type="xsd:string" use="optional"/>
+ <xsd:attribute name="bind-method" type="xsd:string" use="optional"/>
+ <xsd:attribute name="unbind-method" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+
+ <!-- reference collections -->
+
+ <xsd:complexType name="Tcomparator">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <!-- nested bean declaration -->
+ <xsd:any namespace="##other" minOccurs="1" maxOccurs="1" processContents="skip"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="TreferenceCollection">
+ <xsd:complexContent>
+ <xsd:extension base="Treference">
+ <xsd:sequence minOccurs="0" maxOccurs="1">
+ <xsd:element name="comparator" type="Tcomparator">
+ <xsd:annotation>
+ <xsd:documentation source="java:java.util.Comparator"/>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="comparator-ref" type="xsd:string" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="collection" type="Treference">
+ <xsd:annotation>
+ <!-- TODO: recopy this description around somehow; maybe includes would help -->
+ <xsd:documentation source="java:org.springframework.osgi.collection.OsgiServiceCollection">
+ Collection of OSGi services. The collection will automatically pick up the OSGi services that match the criteria. The dynamic nature is understood
+ by the collection which will grow or shrink in size, as matching services come and go. The collection offers 'consistent' iterators so that clients
+ can safely travers the services, at a certain point in time, without having to worry about the dynamics.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="list" type="TreferenceCollection">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.osgi.collection.OsgiServiceList"/>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="sorted-list" type="TreferenceCollection">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.osgi.collection.OsgiServiceSortedList"/>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="set" type="TreferenceCollection">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.osgi.collection.OsgiServiceSet"/>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="sorted-set" type="TreferenceCollection">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.osgi.collection.OsgiServiceSortedSet"/>
+ </xsd:annotation>
+ </xsd:element>
+
+
+ <!-- service -->
+ <xsd:element name="service" type="Tservice"/>
+
+ <xsd:complexType name="TmapOrPropsType">
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="props" type="beans:propsType"/>
+ </xsd:sequence>
+
+ <xsd:sequence>
+ <xsd:element name="map" type="beans:mapType"/>
+ </xsd:sequence>
+
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:complexType name="Tservice">
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence minOccurs="0" maxOccurs="1">
+ <xsd:element name="interfaces" type="beans:listOrSetType" minOccurs="0"/>
+ <xsd:element name="service-properties" minOccurs="0">
+ <!-- This is a little bit of a hack to support both entry and prop, full validation occurs in the code -->
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:any namespace="http://www.springframework.org/schema/beans" processContents="strict"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <!-- nested bean declaration -->
+ <xsd:any namespace="##other" minOccurs="0" maxOccurs="1" processContents="skip"/>
+ </xsd:sequence>
+ <xsd:attribute name="interface" type="xsd:string" use="optional"/>
+ <xsd:attribute name="ref" type="xsd:string" use="optional"/>
+ <xsd:attribute name="lazy-init" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="depends-on" type="xsd:string" use="optional"/>
+ <xsd:attribute name="context-classloader" type="TserviceClassLoaderOptions" default="unmanaged"/>
+ <xsd:attribute name="auto-export" type="TautoExportModes" default="disabled"/>
+ <xsd:attribute name="ranking" type="xsd:int" default="0"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="TserviceClassLoaderOptions">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="service-provider"/>
+ <xsd:enumeration value="unmanaged"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="TautoExportModes">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="disabled"/>
+ <xsd:enumeration value="interfaces"/>
+ <xsd:enumeration value="class-hierarchy"/>
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- property placeholder -->
+ <xsd:element name="property-placeholder" type="TpropertyPlaceholder"/>
+
+ <xsd:complexType name="TpropertyPlaceholder">
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence minOccurs="0" maxOccurs="1">
+ <!-- nested properties declaration -->
+ <xsd:element name="default-properties" type="beans:propsType" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="persistent-id" type="xsd:string" use="required"/>
+ <xsd:attribute name="placeholder-prefix" type="xsd:string" use="optional" default="${"/>
+ <xsd:attribute name="placeholder-suffix" type="xsd:string" use="optional" default="}"/>
+ <xsd:attribute name="defaults-ref" type="xsd:string" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <!-- config object -->
+ <xsd:element name="config" type="Tconfig"/>
+
+ <xsd:complexType name="Tconfig">
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="config-listener" type="TconfigListener"/>
+ </xsd:sequence>
+ <xsd:attribute name="persistent-id" type="xsd:string" use="required"/>
+ <xsd:attribute name="factory" type="xsd:boolean" default="false"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="TconfigListener">
+ <xsd:attribute name="ref" type="xsd:string" use="required"/>
+ <xsd:attribute name="update-method" type="xsd:string" use="required"/>
+ <xsd:attribute name="deleted-method" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+
+ <!-- bundle -->
+ <xsd:element name="bundle" type="Tbundle"/>
+
+ <xsd:complexType name="Tbundle">
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:attribute name="symbolic-name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="depends-on" type="xsd:string" use="optional"/>
+ <xsd:attribute name="location" type="xsd:string" use="optional"/>
+ <xsd:attribute name="state" type="Tstate" use="optional"/>
+ <xsd:attribute name="start-level" type="xsd:int" use="optional" default="0"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="Tstate">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="start"/>
+ <xsd:enumeration value="stop"/>
+ <xsd:enumeration value="install"/>
+ <xsd:enumeration value="uninstall"/>
+ <xsd:enumeration value="update"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+</xsd:schema>
\ No newline at end of file
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tool-2.0.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tool-2.0.xsd
new file mode 100644
index 000000000..cdd71d0da
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tool-2.0.xsd
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/tool"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.springframework.org/schema/tool"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the tool support annotations for Spring's configuration namespaces.
+ Used in other namespace XSD files; not intended for direct use in config files.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="annotation">
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="expected-type" type="typedParameterType" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="assignable-to" type="typedParameterType" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="exports" type="exportsType" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="kind" default="direct">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ref"/>
+ <xsd:enumeration value="direct"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="typedParameterType">
+ <xsd:attribute name="type" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="exportsType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Indicates that an annotated type exports an application visible component.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="type" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The type of the exported component. May be null if the type is not known until runtime.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="identifier" type="xsd:string" default="@id">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines an XPath query that can be executed against the node annotated with this
+ type to determine the identifier of any exported component.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tool-2.5.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tool-2.5.xsd
new file mode 100644
index 000000000..8a9986f44
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tool-2.5.xsd
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/tool"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.springframework.org/schema/tool"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the tool support annotations for Spring's configuration namespaces.
+ Used in other namespace XSD files; not intended for direct use in config files.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="annotation">
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="expected-type" type="typedParameterType" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="assignable-to" type="typedParameterType" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="exports" type="exportsType" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="registers-scope" type="registersScopeType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="kind" default="direct">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ref"/>
+ <xsd:enumeration value="direct"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="typedParameterType">
+ <xsd:attribute name="type" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="exportsType">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Indicates that an annotated type exports an application visible component.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="type" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The type of the exported component. May be null if the type is not known until runtime.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="identifier" type="xsd:string" default="@id">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines an XPath query that can be executed against the node annotated with this
+ type to determine the identifier of any exported component.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="registersScopeType">
+ <xsd:attribute name="name" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the name of a custom bean scope that the annotated type registers, e.g. "conversation".
+ Such a scope will be available in addition to the standard "singleton" and "prototype" scopes
+ (plus "request", "session" and "globalSession" in a web application environment).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tx-2.0.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tx-2.0.xsd
new file mode 100644
index 000000000..62692b9aa
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tx-2.0.xsd
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/tx"
+ 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://www.springframework.org/schema/tx"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the elements used in the Spring Framework's declarative
+ transaction management infrastructure.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="advice">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.interceptor.TransactionInterceptor"><![CDATA[
+ Defines the transactional semantics of the AOP advice that is to be
+ executed.
+
+ That is, this advice element is where the transactional semantics of
+ any number of methods are defined (where transactional semantics
+ includes the propagation settings, the isolation level, the rollback
+ rules, and suchlike).
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.transaction.interceptor.TransactionInterceptor"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence>
+ <xsd:element name="attributes" type="attributesType" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="transaction-manager" type="xsd:string" default="transactionManager">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.PlatformTransactionManager"><![CDATA[
+ The bean name of the PlatformTransactionManager that is to be used
+ to drive transactions.
+
+ This attribute is not required, and only needs to be specified
+ explicitly if the bean name of the desired PlatformTransactionManager
+ is not 'transactionManager'.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.transaction.PlatformTransactionManager"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="annotation-driven">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"><![CDATA[
+ Indicates that transaction configuration is defined by Java5
+ annotations on bean classes, and that proxies are automatically
+ to be created for the relevant annotated beans.
+
+ Transaction semantics such as propagation settings, the isolation
+ level, the rollback rules, etc are all defined in the annotation
+ metadata.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="transaction-manager" type="xsd:string" default="transactionManager">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.PlatformTransactionManager"><![CDATA[
+ The bean name of the PlatformTransactionManager that is to be used
+ to drive transactions.
+
+ This attribute is not required, and only needs to be specified
+ explicitly if the bean name of the desired PlatformTransactionManager
+ is not 'transactionManager'.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.transaction.PlatformTransactionManager"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Are class-based (CGLIB) proxies to be created? By default, standard
+ Java interface-based proxies are created.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="order" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
+ Controls the ordering of the execution of the transaction advisor
+ when multiple advice executes at a specific joinpoint.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="attributesType">
+ <xsd:sequence>
+ <xsd:element name="method" minOccurs="1" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:attribute name="name" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The method name(s) with which the transaction attributes are to be
+ associated. The wildcard (*) character can be used to associate the
+ same transaction attribute settings with a number of methods; for
+ example, 'get*', 'handle*', '*Order', etc.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="propagation" default="REQUIRED">
+ <xsd:simpleType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.annotation.Propagation"><![CDATA[
+ The transaction propagation behavior.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="REQUIRED"/>
+ <xsd:enumeration value="SUPPORTS"/>
+ <xsd:enumeration value="MANDATORY"/>
+ <xsd:enumeration value="REQUIRES_NEW"/>
+ <xsd:enumeration value="NOT_SUPPORTED"/>
+ <xsd:enumeration value="NEVER"/>
+ <xsd:enumeration value="NESTED"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="isolation" default="DEFAULT">
+ <xsd:simpleType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.annotation.Isolation"><![CDATA[
+ The transaction isolation level.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="DEFAULT"/>
+ <xsd:enumeration value="READ_UNCOMMITTED"/>
+ <xsd:enumeration value="READ_COMMITTED"/>
+ <xsd:enumeration value="REPEATABLE_READ"/>
+ <xsd:enumeration value="SERIALIZABLE"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="timeout" type="xsd:integer" default="-1">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The transaction timeout value (in seconds).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="read-only" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Is this transaction read-only?
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="rollback-for" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The Exception(s) that will trigger rollback; comma-delimited.
+ For example, 'com.foo.MyBusinessException,ServletException'
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="no-rollback-for" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The Exception(s) that will *not* trigger rollback; comma-delimited.
+ For example, 'com.foo.MyBusinessException,ServletException'
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tx-2.1.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tx-2.1.xsd
new file mode 100644
index 000000000..540d956cf
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tx-2.1.xsd
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/tx"
+ 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://www.springframework.org/schema/tx"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the elements used in the Spring Framework's declarative
+ transaction management infrastructure.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="advice">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.interceptor.TransactionInterceptor"><![CDATA[
+ Defines the transactional semantics of the AOP advice that is to be
+ executed.
+
+ That is, this advice element is where the transactional semantics of
+ any number of methods are defined (where transactional semantics
+ includes the propagation settings, the isolation level, the rollback
+ rules, and suchlike).
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.transaction.interceptor.TransactionInterceptor"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence>
+ <xsd:element name="attributes" type="attributesType" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="transaction-manager" type="xsd:string" default="transactionManager">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.PlatformTransactionManager"><![CDATA[
+ The bean name of the PlatformTransactionManager that is to be used
+ to drive transactions.
+
+ This attribute is not required, and only needs to be specified
+ explicitly if the bean name of the desired PlatformTransactionManager
+ is not 'transactionManager'.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.transaction.PlatformTransactionManager"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="annotation-driven">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"><![CDATA[
+ Indicates that transaction configuration is defined by Java5
+ annotations on bean classes, and that proxies are automatically
+ to be created for the relevant annotated beans.
+
+ Transaction semantics such as propagation settings, the isolation
+ level, the rollback rules, etc are all defined in the annotation
+ metadata.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="transaction-manager" type="xsd:string" default="transactionManager">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.PlatformTransactionManager"><![CDATA[
+ The bean name of the PlatformTransactionManager that is to be used
+ to drive transactions.
+
+ This attribute is not required, and only needs to be specified
+ explicitly if the bean name of the desired PlatformTransactionManager
+ is not 'transactionManager'.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.transaction.PlatformTransactionManager"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="mode" default="proxy">
+ <xsd:simpleType>
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Should annotated beans be proxied using Spring's AOP framework,
+ or should they rather be weaved with an AspectJ transaction aspect?
+
+ AspectJ weaving requires spring-aspects.jar on the classpath,
+ as well as load-time weaving (or compile-time weaving) enabled.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="proxy"/>
+ <xsd:enumeration value="aspectj"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Are class-based (CGLIB) proxies to be created? By default, standard
+ Java interface-based proxies are created.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="order" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
+ Controls the ordering of the execution of the transaction advisor
+ when multiple advice executes at a specific joinpoint.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="attributesType">
+ <xsd:sequence>
+ <xsd:element name="method" minOccurs="1" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:attribute name="name" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The method name(s) with which the transaction attributes are to be
+ associated. The wildcard (*) character can be used to associate the
+ same transaction attribute settings with a number of methods; for
+ example, 'get*', 'handle*', '*Order', 'on*Event', etc.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="propagation" default="REQUIRED">
+ <xsd:simpleType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.annotation.Propagation"><![CDATA[
+ The transaction propagation behavior.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="REQUIRED"/>
+ <xsd:enumeration value="SUPPORTS"/>
+ <xsd:enumeration value="MANDATORY"/>
+ <xsd:enumeration value="REQUIRES_NEW"/>
+ <xsd:enumeration value="NOT_SUPPORTED"/>
+ <xsd:enumeration value="NEVER"/>
+ <xsd:enumeration value="NESTED"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="isolation" default="DEFAULT">
+ <xsd:simpleType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.annotation.Isolation"><![CDATA[
+ The transaction isolation level.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="DEFAULT"/>
+ <xsd:enumeration value="READ_UNCOMMITTED"/>
+ <xsd:enumeration value="READ_COMMITTED"/>
+ <xsd:enumeration value="REPEATABLE_READ"/>
+ <xsd:enumeration value="SERIALIZABLE"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="timeout" type="xsd:integer" default="-1">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The transaction timeout value (in seconds).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="read-only" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Is this transaction read-only?
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="rollback-for" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The Exception(s) that will trigger rollback; comma-delimited.
+ For example, 'com.foo.MyBusinessException,ServletException'
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="no-rollback-for" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The Exception(s) that will *not* trigger rollback; comma-delimited.
+ For example, 'com.foo.MyBusinessException,ServletException'
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tx-2.5.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tx-2.5.xsd
new file mode 100644
index 000000000..76477d617
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-tx-2.5.xsd
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/tx"
+ 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://www.springframework.org/schema/tx"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Defines the elements used in the Spring Framework's declarative
+ transaction management infrastructure.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="advice">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.interceptor.TransactionInterceptor"><![CDATA[
+ Defines the transactional semantics of the AOP advice that is to be
+ executed.
+
+ That is, this advice element is where the transactional semantics of
+ any number of methods are defined (where transactional semantics
+ includes the propagation settings, the isolation level, the rollback
+ rules, and suchlike).
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.transaction.interceptor.TransactionInterceptor"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence>
+ <xsd:element name="attributes" type="attributesType" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="transaction-manager" type="xsd:string" default="transactionManager">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.PlatformTransactionManager"><![CDATA[
+ The bean name of the PlatformTransactionManager that is to be used
+ to drive transactions.
+
+ This attribute is not required, and only needs to be specified
+ explicitly if the bean name of the desired PlatformTransactionManager
+ is not 'transactionManager'.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.transaction.PlatformTransactionManager"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="annotation-driven">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"><![CDATA[
+ Indicates that transaction configuration is defined by Java5
+ annotations on bean classes, and that proxies are automatically
+ to be created for the relevant annotated beans.
+
+ Transaction semantics such as propagation settings, the isolation
+ level, the rollback rules, etc are all defined in the annotation
+ metadata.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="transaction-manager" type="xsd:string" default="transactionManager">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.PlatformTransactionManager"><![CDATA[
+ The bean name of the PlatformTransactionManager that is to be used
+ to drive transactions.
+
+ This attribute is not required, and only needs to be specified
+ explicitly if the bean name of the desired PlatformTransactionManager
+ is not 'transactionManager'.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation kind="ref">
+ <tool:expected-type type="org.springframework.transaction.PlatformTransactionManager"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="mode" default="proxy">
+ <xsd:simpleType>
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Should annotated beans be proxied using Spring's AOP framework,
+ or should they rather be weaved with an AspectJ transaction aspect?
+
+ AspectJ weaving requires spring-aspects.jar on the classpath,
+ as well as load-time weaving (or compile-time weaving) enabled.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="proxy"/>
+ <xsd:enumeration value="aspectj"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Are class-based (CGLIB) proxies to be created? By default, standard
+ Java interface-based proxies are created.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="order" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
+ Controls the ordering of the execution of the transaction advisor
+ when multiple advice executes at a specific joinpoint.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="jta-transaction-manager">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Creates a default JtaTransactionManager bean with name "transactionManager",
+ matching the default bean name expected by the "annotation-driven" tag.
+ Automatically detects WebLogic, WebSphere an OC4J, creating a WebLogicJtaTransactionManager,
+ WebSphereUowTransactionManager or OC4JJtaTransactionManager, respectively.
+
+ For customization needs, consider defining a JtaTransactionManager bean as a regular
+ Spring bean definition with name "transactionManager", replacing this element.
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="org.springframework.transaction.jta.JtaTransactionManager"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="attributesType">
+ <xsd:sequence>
+ <xsd:element name="method" minOccurs="1" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:attribute name="name" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The method name(s) with which the transaction attributes are to be
+ associated. The wildcard (*) character can be used to associate the
+ same transaction attribute settings with a number of methods; for
+ example, 'get*', 'handle*', '*Order', 'on*Event', etc.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="propagation" default="REQUIRED">
+ <xsd:simpleType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.annotation.Propagation"><![CDATA[
+ The transaction propagation behavior.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="REQUIRED"/>
+ <xsd:enumeration value="SUPPORTS"/>
+ <xsd:enumeration value="MANDATORY"/>
+ <xsd:enumeration value="REQUIRES_NEW"/>
+ <xsd:enumeration value="NOT_SUPPORTED"/>
+ <xsd:enumeration value="NEVER"/>
+ <xsd:enumeration value="NESTED"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="isolation" default="DEFAULT">
+ <xsd:simpleType>
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.transaction.annotation.Isolation"><![CDATA[
+ The transaction isolation level.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="DEFAULT"/>
+ <xsd:enumeration value="READ_UNCOMMITTED"/>
+ <xsd:enumeration value="READ_COMMITTED"/>
+ <xsd:enumeration value="REPEATABLE_READ"/>
+ <xsd:enumeration value="SERIALIZABLE"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="timeout" type="xsd:integer" default="-1">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The transaction timeout value (in seconds).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="read-only" type="xsd:boolean" default="false">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Is this transaction read-only?
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="rollback-for" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The Exception(s) that will trigger rollback; comma-delimited.
+ For example, 'com.foo.MyBusinessException,ServletException'
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="no-rollback-for" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The Exception(s) that will *not* trigger rollback; comma-delimited.
+ For example, 'com.foo.MyBusinessException,ServletException'
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-util-2.0.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-util-2.0.xsd
new file mode 100644
index 000000000..6bf63149c
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-util-2.0.xsd
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/util"
+ 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://www.springframework.org/schema/util"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:element name="constant">
+ <xsd:annotation>
+ <xsd:documentation>
+ Reference a public, static field on a type and expose its value as
+ a bean. For example <code><util:constant static-field="java.lang.Integer.MAX_VALUE"/></code>.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="static-field" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="property-path">
+ <xsd:annotation>
+ <xsd:documentation>
+ Reference a property on a bean (or as a nested value) and expose its values as
+ a bean. For example <util:property-path path="order.customer.name"/>.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="path" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="list">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="beans:listOrSetType">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.config.ListFactoryBean">
+ Builds a List instance of the specified type, populated with the specified content.
+ </xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="java.util.List"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="list-class" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:expected-type type="java.lang.Class"/>
+ <tool:assignable-to type="java.util.List"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="scope" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The scope of this collection bean: typically "singleton" (one shared instance,
+ which will be returned by all calls to getBean with the given id), or
+ "prototype" (independent instance resulting from each call to getBean).
+ Default is "singleton". Further scopes, such as "request" or "session",
+ might be supported by extended bean factories (e.g. in a web environment).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="set">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="beans:listOrSetType">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.config.SetFactoryBean">
+ Builds a Set instance of the specified type, populated with the specified content.
+ </xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="java.util.Set"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="set-class" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:expected-type type="java.lang.Class"/>
+ <tool:assignable-to type="java.util.Set"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="scope" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The scope of this collection bean: typically "singleton" (one shared instance,
+ which will be returned by all calls to getBean with the given id), or
+ "prototype" (independent instance resulting from each call to getBean).
+ Default is "singleton". Further scopes, such as "request" or "session",
+ might be supported by extended bean factories (e.g. in a web environment).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="map">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="beans:mapType">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.config.MapFactoryBean">
+ Builds a Map instance of the specified type, populated with the specified content.
+ </xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="java.util.Map"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="map-class" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:expected-type type="java.lang.Class"/>
+ <tool:assignable-to type="java.util.Map"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="scope" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The scope of this collection bean: typically "singleton" (one shared instance,
+ which will be returned by all calls to getBean with the given id), or
+ "prototype" (independent instance resulting from each call to getBean).
+ Default is "singleton". Further scopes, such as "request" or "session",
+ might be supported by extended bean factories (e.g. in a web environment).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="properties">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.config.PropertiesFactoryBean">
+ Loads a Properties instance from the resource location specified by the '<code>location</code>' attribute.
+ </xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="java.util.Properties"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="beans:propsType">
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="location" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:expected-type type="org.springframework.core.io.Resource"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="scope" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The scope of this collection bean: typically "singleton" (one shared instance,
+ which will be returned by all calls to getBean with the given id), or
+ "prototype" (independent instance resulting from each call to getBean).
+ Default is "singleton". Further scopes, such as "request" or "session",
+ might be supported by extended bean factories (e.g. in a web environment).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-util-2.5.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-util-2.5.xsd
new file mode 100644
index 000000000..1637d9dde
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-util-2.5.xsd
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema xmlns="http://www.springframework.org/schema/util"
+ 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://www.springframework.org/schema/util"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"/>
+ <xsd:import namespace="http://www.springframework.org/schema/tool"/>
+
+ <xsd:element name="constant">
+ <xsd:annotation>
+ <xsd:documentation>
+ Reference a public, static field on a type and expose its value as
+ a bean. For example <code><util:constant static-field="java.lang.Integer.MAX_VALUE"/></code>.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="static-field" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="property-path">
+ <xsd:annotation>
+ <xsd:documentation>
+ Reference a property on a bean (or as a nested value) and expose its values as
+ a bean. For example <util:property-path path="order.customer.name"/>.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="path" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="list">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="beans:listOrSetType">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.config.ListFactoryBean">
+ Builds a List instance of the specified type, populated with the specified content.
+ </xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="java.util.List"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="list-class" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:expected-type type="java.lang.Class"/>
+ <tool:assignable-to type="java.util.List"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="scope" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The scope of this collection bean: typically "singleton" (one shared instance,
+ which will be returned by all calls to getBean with the given id), or
+ "prototype" (independent instance resulting from each call to getBean).
+ Default is "singleton". Further scopes, such as "request" or "session",
+ might be supported by extended bean factories (e.g. in a web environment).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="set">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="beans:listOrSetType">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.config.SetFactoryBean">
+ Builds a Set instance of the specified type, populated with the specified content.
+ </xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="java.util.Set"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="set-class" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:expected-type type="java.lang.Class"/>
+ <tool:assignable-to type="java.util.Set"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="scope" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The scope of this collection bean: typically "singleton" (one shared instance,
+ which will be returned by all calls to getBean with the given id), or
+ "prototype" (independent instance resulting from each call to getBean).
+ Default is "singleton". Further scopes, such as "request" or "session",
+ might be supported by extended bean factories (e.g. in a web environment).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="map">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="beans:mapType">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.config.MapFactoryBean">
+ Builds a Map instance of the specified type, populated with the specified content.
+ </xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="java.util.Map"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="map-class" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:expected-type type="java.lang.Class"/>
+ <tool:assignable-to type="java.util.Map"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="scope" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The scope of this collection bean: typically "singleton" (one shared instance,
+ which will be returned by all calls to getBean with the given id), or
+ "prototype" (independent instance resulting from each call to getBean).
+ Default is "singleton". Further scopes, such as "request" or "session",
+ might be supported by extended bean factories (e.g. in a web environment).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="properties">
+ <xsd:annotation>
+ <xsd:documentation source="java:org.springframework.beans.factory.config.PropertiesFactoryBean">
+ Loads a Properties instance from the resource location specified by the '<code>location</code>' attribute.
+ </xsd:documentation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:exports type="java.util.Properties"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="beans:propsType">
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="location" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <tool:annotation>
+ <tool:expected-type type="org.springframework.core.io.Resource"/>
+ </tool:annotation>
+ </xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="local-override" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Specifies whether local properties override properties from files.
+ Default is "false": properties from files override local defaults.
+ If set to "true", local properties will override defaults from files.
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="scope" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The scope of this collection bean: typically "singleton" (one shared instance,
+ which will be returned by all calls to getBean with the given id), or
+ "prototype" (independent instance resulting from each call to getBean).
+ Default is "singleton". Further scopes, such as "request" or "session",
+ might be supported by extended bean factories (e.g. in a web environment).
+ ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+</xsd:schema>
diff --git a/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-webflow-config-1.0.xsd b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-webflow-config-1.0.xsd
new file mode 100644
index 000000000..399274700
--- /dev/null
+++ b/spring.beans/src/org/netbeans/modules/spring/beans/catalog/resources/spring-webflow-config-1.0.xsd
@@ -0,0 +1,360 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Copyright 2007 the original author or authors.
+
+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.
+-->
+<xsd:schema
+ xmlns="http://www.springframework.org/schema/webflow-config"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:beans="http://www.springframework.org/schema/beans"
+ targetNamespace="http://www.springframework.org/schema/webflow-config"
+ elementFormDefault="qualified" attributeFormDefault="unqualified"
+ version="1.0.1">
+
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+Spring Web Flow Configuration Schema
+Authors: Keith Donald, Ben Hale
+<br>
+Provides an easy way to configure a flow executor and an XML flow definition registry.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:import namespace="http://www.springframework.org/schema/beans"
+ schemaLocation="http://www.springframework.org/schema/beans/spring-beans-2.0.xsd" />
+
+ <xsd:element name="registry">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+Deploys a flow definition registy. A flow definition registry contains a set of flow definitions.
+A flow definition is typically built from externalized resource location such as a .xml file.
+<br>
+Each flow definition registered in this registry is assigned a unique identifier. By default,
+this identifier is the name of the externalized resource minus its file extension. For example,
+a registry containing flow definitions built from the files "orderitem-flow.xml" and "shipping-flow.xml"
+would index those definitions by "orderitem-flow" and "shipping-flow" by default.
+<br>
+A flow registry is used by a flow executor at runtime to launch new executions of flow definitions.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence>
+ <xsd:element name="location" type="locationType" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+Specifies a path to a externalized flow definition resource. The flow definition built from this
+resource will be registered in this registry.
+<br>
+Individual paths such as:
+<pre>
+ /WEB-INF/flows/orderitem-flow.xml
+</pre>
+... are supported as well as wildcard paths such as:
+<pre>
+ /WEB-INF/flows/**/*-flow.xml
+</pre>
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="locationType">
+ <xsd:attribute name="path" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The path to the externalized flow definition resource. May be a path to a single resource or
+a ANT-style path expression that matches multiple resources.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:element name="executor">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+Deploys a flow executor. A flow executor executes flow definitions. More specifically, an executor
+is responsible for launching new flow executions as well as resuming paused flow executions.
+A flow execution that spans more than one request is said to have 'paused' and is stored in
+an execution repository.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence>
+ <xsd:element name="repository" type="repositoryType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+Explicit repository configuration for this executor. This element is used if configuration needs
+to be more fine grained than the repositoryType attribute on executor.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="execution-attributes" type="execution-attributesType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+Execution attributes to associate with new flow executions launched by this executor.
+These attributes may influence execution behavior.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="execution-listeners" type="execution-listenersType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The listeners eligible for observing the lifecycle of executions launched by this executor.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="repository-type" type="repositoryTypeAttribute">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The type of execution repository to use. The repository is responsible for managing flow execution
+persistence between requests.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="registry-ref" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The idref to the registry this executor will use to locate flow definitions for execution.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:simpleType name="repositoryTypeAttribute">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="continuation">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The continuation repository type. Use this to snapshot flow execution state server-side to support use
+of the browser back button.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="simple">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The simple repository type. Use of this strategy incurs minimal storage overhead but explicitly prevents
+resubmits using the browser back button.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="client">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The client continuation repository type. Use this to snapshot flow execution state client-side to support use of the browser
+back button in a stateless server environment.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ <xsd:enumeration value="singlekey">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The "single key" repository type. Use of this strategy assigns a single key per flow execution that remains
+constant throughout the life of the execution.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="repositoryType">
+ <xsd:attribute name="type" type="repositoryTypeAttribute" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The type of flow execution repository to use. The repository is responsible for managing flow execution
+persistence between requests.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="max-conversations" type="xsd:integer">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The maximum number of concurrent conversations allowed by this repository. It is illegal to set this
+attribute if you are also setting the 'conversation-manager-ref' attribute.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="max-continuations" type="xsd:integer">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The maximum number of flow execution continuations (snapshots) allowed by this repository per conversation.
+This attribute is only relevant when the repository type is 'continuation'.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="conversation-manager-ref" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The idref of the conversation manager this repository should use. Setting this attribute
+allows full control over the conversation manager implementation and configuration.
+When used, any value for the 'max-conversations' attribute is ignored.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="execution-listenersType">
+ <xsd:sequence>
+ <xsd:element name="listener" type="listenerType" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+Deploys a single flow execution listener that will observe the execution lifecycle of one or more
+flow definitions. The flow definitions this listener applies to may be restricted by specifying criteria.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="listenerType">
+ <xsd:attribute name="ref" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The idref to your flow execution listener.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="criteria" type="xsd:string" default="*">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The flow definitions your listener should apply to, delimited by commas or '*' for "all".
+Example: 'flow1,flow2,flow3'.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="execution-attributesType">
+ <xsd:sequence>
+ <xsd:element name="alwaysRedirectOnPause" type="alwaysRedirectOnPauseType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+Sets the 'alwaysRedirectOnPause' execution attribute value. 'alwaysRedirectOnPause' allows
+control over whether each time a flow execution pauses a browser redirect is performed. If
+not specified the default value is 'true' unless explicitly set otherwise.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="attribute" type="attributeType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+A single attribute describing an element. Attributes have string keys and object values.
+An attribute's type may be specified using the 'type' attribute.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="alwaysRedirectOnPauseType">
+ <xsd:attribute name="value" type="xsd:boolean" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+true = always redirect on pause; false = do not, only redirect when explicitly instructed by the flow definition.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="attributeType">
+ <xsd:attribute name="name" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The name of the attribute.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="type" type="xsd:string" use="optional">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The attribute's type, used to perform a from-string type conversion if specified.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="value" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+The attribute value, subject to type conversion if the 'type' attribute is defined.
+]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
+
+</xsd:schema>
\ No newline at end of file
diff --git a/xml.jaxb/src/org/netbeans/modules/xml/jaxb/resources/eclipselink_oxm_2_3.xsd b/xml.jaxb/src/org/netbeans/modules/xml/jaxb/resources/eclipselink_oxm_2_3.xsd
new file mode 100644
index 000000000..a470964f2
--- /dev/null
+++ b/xml.jaxb/src/org/netbeans/modules/xml/jaxb/resources/eclipselink_oxm_2_3.xsd
@@ -0,0 +1,589 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+******************************************************************************
+ Copyright (c) 1998, 2010 Oracle. All rights reserved.
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
+ which accompanies this distribution.
+ The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ and the Eclipse Distribution License is available at
+ http://www.eclipse.org/org/documents/edl-v10.php.
+
+ Contributors:
+ dmccann - December 22/2010 - 2.3 - Initial implementation
+*****************************************************************************/
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
+ targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="2.3">
+
+ <xs:element name="xml-bindings">
+ <xs:complexType>
+ <xs:all>
+ <xs:element ref="xml-schema" minOccurs="0"/>
+ <xs:element ref="xml-schema-type" minOccurs="0"/>
+ <xs:element ref="xml-schema-types" minOccurs="0"/>
+ <xs:element ref="xml-java-type-adapters" minOccurs="0"/>
+ <xs:element name="xml-registries" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="xml-registry" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-enums" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="xml-enum" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="java-types" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="java-type" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:all>
+ <xs:attribute name="xml-accessor-type" type="xml-access-type" default="PUBLIC_MEMBER" />
+ <xs:attribute name="xml-accessor-order" type="xml-access-order" default="UNDEFINED" />
+ <xs:attribute name="xml-mapping-metadata-complete" type="xs:boolean" default="false" />
+ <xs:attribute name="package-name" type="xs:string" default="##default" />
+ <xs:attribute name="xml-name-transformer" type="xs:string" />
+ <xs:attribute name="version" type="supported-versions" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-registry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="xml-element-decl" maxOccurs="unbounded" >
+ <xs:complexType>
+ <xs:attribute name="java-method" type="xs:string" />
+ <xs:attribute name="name" type="xs:string" use="required" />
+ <xs:attribute name="defaultValue" type="xs:string" default="\u0000" />
+ <xs:attribute name="namespace" type="xs:string" default="##default" />
+ <xs:attribute name="scope" type="xs:string" default="javax.xml.bind.annotation.XmlElementDecl.GLOBAL" />
+ <xs:attribute name="substitutionHeadName" type="xs:string" default="" />
+ <xs:attribute name="substitutionHeadNamespace" type="xs:string" default="##default" />
+ <xs:attribute name="type" type="xs:string" default="##default" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="java-type">
+ <xs:complexType>
+ <xs:all>
+ <xs:element ref="xml-type" minOccurs="0"/>
+ <xs:element ref="xml-root-element" minOccurs="0"/>
+ <xs:element ref="xml-virtual-access-methods" minOccurs="0"/>
+ <xs:element ref="xml-see-also" minOccurs="0"/>
+ <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
+ <xs:element ref="xml-class-extractor" minOccurs="0"/>
+ <xs:element ref="xml-properties" minOccurs="0" />
+ <xs:element name="java-attributes" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="java-attribute" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:all>
+ <xs:attribute name="name" type="xs:string" />
+ <xs:attribute name="super-type" type="xs:string" default="##default" />
+ <xs:attribute name="xml-accessor-order" type="xml-access-order" default="UNDEFINED" />
+ <xs:attribute name="xml-accessor-type" type="xml-access-type" default="PUBLIC_MEMBER" />
+ <xs:attribute name="xml-customizer" type="xs:string" />
+ <xs:attribute name="xml-discriminator-node" type="xs:string" />
+ <xs:attribute name="xml-discriminator-value" type="xs:string" />
+ <xs:attribute name="xml-inline-binary-data" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-transient" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-name-transformer" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="java-attribute" type="java-attribute" />
+ <xs:complexType name="java-attribute" abstract="true">
+ <xs:attribute name="java-attribute" type="xs:string" />
+ </xs:complexType>
+ <xs:element name="xml-access-methods" type="xml-access-methods" />
+ <xs:complexType name="xml-access-methods">
+ <xs:attribute name="get-method" type="xs:string" />
+ <xs:attribute name="set-method" type="xs:string" />
+ </xs:complexType>
+ <xs:element name="xml-class-extractor" type="xml-class-extractor" />
+ <xs:complexType name="xml-class-extractor">
+ <xs:attribute name="class" type="xs:string" use="required"/>
+ </xs:complexType>
+ <xs:element name="xml-properties" type="xml-properties" />
+ <xs:complexType name="xml-properties">
+ <xs:sequence>
+ <xs:element name="xml-property" minOccurs="0" maxOccurs="unbounded" >
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required" />
+ <xs:attribute name="value" type="xs:string" use="required" />
+ <xs:attribute name="value-type" type="xs:string" default="java.lang.String" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <!-- Enums -->
+ <xs:simpleType name="xml-access-order">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="ALPHABETICAL" />
+ <xs:enumeration value="UNDEFINED" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="xml-access-type">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="FIELD" />
+ <xs:enumeration value="NONE" />
+ <xs:enumeration value="PROPERTY" />
+ <xs:enumeration value="PUBLIC_MEMBER" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="xml-ns-form">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="UNQUALIFIED" />
+ <xs:enumeration value="QUALIFIED" />
+ <xs:enumeration value="UNSET" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="xml-marshal-null-representation">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="XSI_NIL" />
+ <xs:enumeration value="ABSENT_NODE" />
+ <xs:enumeration value="EMPTY_NODE" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="supported-versions">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="2.0"/>
+ <xs:enumeration value="2.1"/>
+ <xs:enumeration value="2.2"/>
+ <xs:enumeration value="2.3"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- @Target(value=PACKAGE) -->
+ <xs:element name="xml-schema">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="xml-ns" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="namespace-uri" type="xs:string" />
+ <xs:attribute name="prefix" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="attribute-form-default" type="xml-ns-form" default="UNSET" />
+ <xs:attribute name="element-form-default" type="xml-ns-form" default="UNSET" />
+ <xs:attribute name="location" type="xs:string" />
+ <xs:attribute name="namespace" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-schema-types">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="xml-schema-type" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-java-type-adapters">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="xml-java-type-adapter" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- @Target(value={FIELD,METHOD,PACKAGE}) -->
+ <xs:element name="xml-schema-type">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required" />
+ <xs:attribute name="namespace" type="xs:string" default="http://www.w3.org/2001/XMLSchema" />
+ <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.XmlSchemaType.DEFAULT" />
+ </xs:complexType>
+ </xs:element>
+
+ <!-- @Target(value={PACKAGE,FIELD,METHOD,TYPE,PARAMETER}) -->
+ <xs:element name="xml-java-type-adapter" substitutionGroup="java-attribute">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="java-attribute">
+ <xs:attribute name="value" type="xs:string" use="required" />
+ <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter.DEFAULT" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- @Target(value={FIELD,METHOD,TYPE}) -->
+ <xs:element name="xml-transient" substitutionGroup="java-attribute">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="java-attribute" />
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- @Target(value=TYPE) -->
+ <xs:element name="xml-enum">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="xml-enum-value" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute name="java-enum" type="xs:string" use="required" />
+ <xs:attribute name="value" type="xs:string" default="java.lang.String" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-type">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" default="##default" />
+ <xs:attribute name="namespace" type="xs:string" default="##default" />
+ <xs:attribute name="factory-class" type="xs:string" default="javax.xml.bind.annotation.XmlType.DEFAULT" />
+ <xs:attribute name="factory-method" type="xs:string" />
+ <xs:attribute name="prop-order">
+ <xs:simpleType>
+ <xs:list itemType="xs:string" />
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-root-element">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" default="##default" />
+ <xs:attribute name="namespace" type="xs:string" default="##default" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-see-also">
+ <xs:simpleType>
+ <xs:list itemType="xs:string" />
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="xml-virtual-access-methods">
+ <xs:complexType>
+ <xs:attribute name="get-method" type="xs:string" default="get" />
+ <xs:attribute name="set-method" type="xs:string" default="set" />
+ <xs:attribute name="schema" type="xml-virtual-access-methods-schema" default="NODES" />
+ </xs:complexType>
+ </xs:element>
+ <xs:simpleType name="xml-virtual-access-methods-schema">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="NODES" />
+ <xs:enumeration value="ANY" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- @Target(value={FIELD}) -->
+ <xs:element name="xml-enum-value">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="java-enum-value" type="xs:string" use="required" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- @Target(value={FIELD,METHOD}) -->
+ <xs:element name="xml-any-attribute" substitutionGroup="java-attribute">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="java-attribute">
+ <xs:all>
+ <xs:element ref="xml-access-methods" minOccurs="0" />
+ <xs:element ref="xml-properties" minOccurs="0" />
+ </xs:all>
+ <xs:attribute name="read-only" type="xs:boolean" default="false" />
+ <xs:attribute name="write-only" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-path" type="xs:string" />
+ <xs:attribute name="container-type" type="xs:string" default="##default" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-attribute" substitutionGroup="java-attribute">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="java-attribute">
+ <xs:all>
+ <xs:element ref="xml-abstract-null-policy" minOccurs="0" />
+ <xs:element ref="xml-access-methods" minOccurs="0" />
+ <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
+ <xs:element ref="xml-properties" minOccurs="0" />
+ <xs:element ref="xml-schema-type" minOccurs="0"/>
+ </xs:all>
+ <xs:attribute name="name" type="xs:string" default="##default" />
+ <xs:attribute name="namespace" type="xs:string" default="##default" />
+ <xs:attribute name="required" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-id" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-key" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-list" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-inline-binary-data" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-attachment-ref" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-mime-type" type="xs:string" />
+ <xs:attribute name="read-only" type="xs:boolean" default="false" />
+ <xs:attribute name="write-only" type="xs:boolean" default="false" />
+ <xs:attribute name="container-type" type="xs:string" default="##default" />
+ <xs:attribute name="type" type="xs:string" default="##default" />
+ <xs:attribute name="xml-path" type="xs:string" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-any-element" substitutionGroup="java-attribute">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="java-attribute">
+ <xs:all>
+ <xs:element ref="xml-access-methods" minOccurs="0" />
+ <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
+ <xs:element ref="xml-properties" minOccurs="0" />
+ <xs:element ref="xml-element-refs" minOccurs="0" />
+ </xs:all>
+ <xs:attribute name="xml-mixed" type="xs:boolean" default="false" />
+ <xs:attribute name="lax" type="xs:boolean" default="false" />
+ <xs:attribute name="dom-handler" type="xs:string" default="javax.xml.bind.annotation.W3CDomHandler" />
+ <xs:attribute name="read-only" type="xs:boolean" default="false" />
+ <xs:attribute name="write-only" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-path" type="xs:string" />
+ <xs:attribute name="container-type" type="xs:string" default="##default" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-element" substitutionGroup="java-attribute">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="java-attribute">
+ <xs:all>
+ <xs:element ref="xml-abstract-null-policy" minOccurs="0" />
+ <xs:element ref="xml-access-methods" minOccurs="0" />
+ <xs:element ref="xml-element-wrapper" minOccurs="0"/>
+ <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
+ <xs:element ref="xml-map" minOccurs="0"/>
+ <xs:element ref="xml-properties" minOccurs="0" />
+ <xs:element ref="xml-schema-type" minOccurs="0" />
+ </xs:all>
+ <xs:attribute name="name" type="xs:string" default="##default" />
+ <xs:attribute name="namespace" type="xs:string" default="##default" />
+ <xs:attribute name="default-value" type="xs:string" />
+ <xs:attribute name="nillable" type="xs:boolean" default="false" />
+ <xs:attribute name="required" type="xs:boolean" default="false" />
+ <xs:attribute name="container-type" type="xs:string" default="##default" />
+ <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.XmlElement.DEFAULT" />
+ <xs:attribute name="xml-id" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-key" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-list" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-inline-binary-data" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-attachment-ref" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-mime-type" type="xs:string" />
+ <xs:attribute name="read-only" type="xs:boolean" default="false" />
+ <xs:attribute name="write-only" type="xs:boolean" default="false" />
+ <xs:attribute name="cdata" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-path" type="xs:string" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-elements" substitutionGroup="java-attribute">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="java-attribute">
+ <xs:sequence>
+ <xs:element ref="xml-access-methods" minOccurs="0" />
+ <xs:element ref="xml-element" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="xml-element-wrapper" minOccurs="0"/>
+ <xs:element ref="xml-properties" minOccurs="0" />
+ <xs:element ref="xml-join-nodes" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
+ <xs:attribute name="xml-list" type="xs:boolean" default="false" />
+ <xs:attribute name="read-only" type="xs:boolean" default="false" />
+ <xs:attribute name="write-only" type="xs:boolean" default="false" />
+ <xs:attribute name="container-type" type="xs:string" default="##default" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-element-ref" substitutionGroup="java-attribute">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="java-attribute">
+ <xs:all>
+ <xs:element name="xml-access-methods" type="xml-access-methods" minOccurs="0"/>
+ <xs:element ref="xml-element-wrapper" minOccurs="0"/>
+ <xs:element ref="xml-properties" minOccurs="0" />
+ <xs:element ref="xml-java-type-adapter" minOccurs="0" />
+ </xs:all>
+ <xs:attribute name="name" type="xs:string" default="##default" />
+ <xs:attribute name="namespace" type="xs:string" />
+ <xs:attribute name="container-type" type="xs:string" default="##default" />
+ <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.XmlElementRef.DEFAULT" />
+ <xs:attribute name="xml-mixed" type="xs:boolean" default="false" />
+ <xs:attribute name="read-only" type="xs:boolean" default="false" />
+ <xs:attribute name="write-only" type="xs:boolean" default="false" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-element-refs" substitutionGroup="java-attribute">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="java-attribute">
+ <xs:sequence>
+ <xs:element name="xml-access-methods" type="xml-access-methods" minOccurs="0"/>
+ <xs:element ref="xml-element-ref" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="xml-element-wrapper" minOccurs="0" />
+ <xs:element ref="xml-properties" minOccurs="0" />
+ <xs:element ref="xml-java-type-adapter" minOccurs="0" />
+ </xs:sequence>
+ <xs:attribute name="xml-mixed" type="xs:boolean" default="false" />
+ <xs:attribute name="read-only" type="xs:boolean" default="false" />
+ <xs:attribute name="write-only" type="xs:boolean" default="false" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-inverse-reference" substitutionGroup="java-attribute">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="java-attribute">
+ <xs:all>
+ <xs:element ref="xml-access-methods" minOccurs="0" />
+ <xs:element ref="xml-properties" minOccurs="0" />
+ </xs:all>
+ <xs:attribute name="mapped-by" type="xs:string" use="required" />
+ <xs:attribute name="container-type" type="xs:string" default="##default" />
+ <xs:attribute name="type" type="xs:string" default="##default" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-element-wrapper">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" default="##default" />
+ <xs:attribute name="namespace" type="xs:string" default="##default" />
+ <xs:attribute name="nillable" type="xs:boolean" default="false" />
+ <xs:attribute name="required" type="xs:boolean" default="false" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-value" substitutionGroup="java-attribute">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="java-attribute">
+ <xs:all>
+ <xs:element ref="xml-abstract-null-policy" minOccurs="0" />
+ <xs:element ref="xml-access-methods" minOccurs="0" />
+ <xs:element ref="xml-properties" minOccurs="0" />
+ <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
+ </xs:all>
+ <xs:attribute name="cdata" type="xs:boolean" default="false" />
+ <xs:attribute name="read-only" type="xs:boolean" default="false" />
+ <xs:attribute name="type" type="xs:string" default="##default" />
+ <xs:attribute name="write-only" type="xs:boolean" default="false" />
+ <xs:attribute name="container-type" type="xs:string" default="##default" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-map">
+ <xs:complexType>
+ <xs:all>
+ <xs:element name="key" minOccurs="0">
+ <xs:complexType>
+ <xs:attribute name="type" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="value" minOccurs="0">
+ <xs:complexType>
+ <xs:attribute name="type" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ </xs:all>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-abstract-null-policy" type="xml-abstract-null-policy" />
+ <xs:complexType name="xml-abstract-null-policy" abstract="true">
+ <xs:attribute name="xsi-nil-represents-null" type="xs:boolean" default="false" />
+ <xs:attribute name="empty-node-represents-null" type="xs:boolean" default="false" />
+ <xs:attribute name="null-representation-for-xml" type="xml-marshal-null-representation" default="ABSENT_NODE" />
+ </xs:complexType>
+ <xs:element name="xml-null-policy" substitutionGroup="xml-abstract-null-policy">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="xml-abstract-null-policy">
+ <xs:attribute name="is-set-performed-for-absent-node" type="xs:boolean" default="true" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-is-set-null-policy" substitutionGroup="xml-abstract-null-policy">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="xml-abstract-null-policy">
+ <xs:sequence>
+ <xs:element name="is-set-parameter" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="value" type="xs:string" use="required" />
+ <xs:attribute name="type" type="xs:string" use="required" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="is-set-method-name" type="xs:string" use="required" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-transformation" substitutionGroup="java-attribute">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="java-attribute">
+ <xs:sequence>
+ <xs:element name="xml-access-methods" type="xml-access-methods" minOccurs="0"/>
+ <xs:element ref="xml-properties" minOccurs="0"/>
+ <xs:element name="xml-read-transformer">
+ <xs:complexType>
+ <xs:attribute name="method" type="xs:string" />
+ <xs:attribute name="transformer-class" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-write-transformer" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="method" type="xs:string" />
+ <xs:attribute name="xml-path" type="xs:string" use="required" />
+ <xs:attribute name="transformer-class" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="optional" type="xs:boolean" default="true"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="xml-join-nodes" substitutionGroup="java-attribute" >
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="java-attribute">
+ <xs:sequence>
+ <xs:element name="xml-join-node" minOccurs="1" maxOccurs="unbounded" >
+ <xs:complexType>
+ <xs:attribute name="xml-path" type="xs:string" use="required" />
+ <xs:attribute name="referenced-xml-path" type="xs:string" use="required" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="container-type" type="xs:string" default="##default" />
+ <xs:attribute name="type" type="xs:string" default="##default" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
\ No newline at end of file
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists