You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/09/16 22:30:17 UTC
svn commit: r289648 [3/6] - in /beehive/trunk/netui: src/compiler-core/
src/compiler-core/org/apache/beehive/netui/compiler/
src/compiler-core/org/apache/beehive/netui/compiler/genmodel/
src/compiler-core/org/apache/beehive/netui/compiler/grammar/ src/...
Modified: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/model/validation/ValidationModel.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/model/validation/ValidationModel.java?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/model/validation/ValidationModel.java (original)
+++ beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/model/validation/ValidationModel.java Fri Sep 16 13:27:57 2005
@@ -17,16 +17,13 @@
*/
package org.apache.beehive.netui.compiler.model.validation;
-import org.apache.beehive.netui.compiler.model.schema.validator11.FormsetDocument;
-import org.apache.beehive.netui.compiler.model.schema.validator11.FormValidationDocument;
+import org.apache.beehive.netui.compiler.model.XmlElementSupport;
+import org.apache.beehive.netui.compiler.model.XmlModelWriter;
+import org.apache.beehive.netui.compiler.model.XmlModelWriterException;
import org.apache.beehive.netui.compiler.JpfLanguageConstants;
import org.apache.beehive.netui.compiler.FatalCompileTimeException;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlDocumentProperties;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlOptions;
+import org.w3c.dom.Element;
-import java.io.PrintStream;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
@@ -39,6 +36,7 @@
import java.util.Iterator;
public abstract class ValidationModel
+ extends XmlElementSupport
implements JpfLanguageConstants
{
private Map _localeSets = new HashMap();
@@ -206,8 +204,8 @@
ValidatableField field = entity.getField( fieldName );
if ( field == null )
{
- field = ValidatableFieldFactory.getInstance( fieldName, ruleInfo.getFieldDisplayName(),
- ruleInfo.getFieldDisplayNameKey(), getValidatorVersion() );
+ field = new ValidatableField( fieldName, ruleInfo.getFieldDisplayName(), ruleInfo.getFieldDisplayNameKey(),
+ ! getValidatorVersion().equals(ValidatorVersion.oneZero) );
entity.addField( field );
}
@@ -217,8 +215,9 @@
if ( rule != null ) { field.addRule( rule ); }
}
+
public void writeXml( PrintWriter writer, File mergeFile )
- throws XmlException, IOException, FatalCompileTimeException
+ throws IOException, FatalCompileTimeException, XmlModelWriterException
{
//
// First, if we haven't written the all-locale rules to each locale, do so now.
@@ -248,81 +247,33 @@
_rulesToAddForAllLocales = null;
}
+ String publicID;
+ String systemID;
- //
- // Create and initialize the document, or parse the given one (with which we'll merge).
- //
- FormValidationDocument doc;
-
- if ( mergeFile != null && mergeFile.canRead() )
+ if ( _validatorVersion.equals( ValidatorVersion.oneZero ) )
{
- doc = FormValidationDocument.Factory.parse( mergeFile );
+ publicID = "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN";
+ systemID = "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd";
}
else
{
- doc = FormValidationDocument.Factory.newInstance();
+ publicID = "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN";
+ systemID = "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd";
}
- XmlDocumentProperties dp = doc.documentProperties();
-
- if ( dp.getDoctypeName() == null )
- {
- dp.setDoctypeName( "form-validation" ); // NOI18N
- }
-
- if ( dp.getDoctypePublicId() == null )
- {
- if ( _validatorVersion.equals( ValidatorVersion.oneZero ) )
- {
- dp.setDoctypePublicId( "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN" );
- }
- else
- {
- dp.setDoctypePublicId( "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" );
- }
- }
-
- if ( dp.getDoctypeSystemId() == null )
- {
- if ( _validatorVersion.equals( ValidatorVersion.oneZero ) )
- {
- dp.setDoctypeSystemId( "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd" );
- }
- else
- {
- dp.setDoctypeSystemId( "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd" );
- }
- }
-
-
- FormValidationDocument.FormValidation formValidationElement = doc.getFormValidation();
-
- if ( formValidationElement == null )
- {
- formValidationElement = doc.addNewFormValidation();
- }
-
-
- //
- // Write the "generated by" comment.
- //
- XmlCursor curs = formValidationElement.newCursor();
- String headerComment = getHeaderComment( mergeFile );
- if ( headerComment != null ) curs.insertComment( headerComment );
-
-
+ String comment = getHeaderComment(mergeFile);
+ XmlModelWriter xw = new XmlModelWriter( mergeFile, "form-validation", publicID, systemID, comment);
+ writeXML(xw, xw.getRootElement());
+ xw.simpleFastWrite(writer);
+ }
+
+ protected void writeToElement(XmlModelWriter xw, Element element)
+ {
//
// Now write out all the LocaleSets, which contain the forms/fields/rules.
//
- writeLocaleSets( formValidationElement );
- writeLocaleSet( _defaultLocaleSet, formValidationElement );
-
- //
- // Write the file.
- //
- XmlOptions options = new XmlOptions();
- options.setSavePrettyPrint();
- doc.save( writer, options );
+ writeLocaleSets(xw, element);
+ writeLocaleSet(xw, element, _defaultLocaleSet);
}
protected String getHeaderComment( File mergeFile )
@@ -331,7 +282,7 @@
return null;
}
- private void writeLocaleSets( FormValidationDocument.FormValidation formValidationElement )
+ private void writeLocaleSets(XmlModelWriter xw, Element element)
{
//
// Commons Validator behavior is to build a key from the locale of a FormSet
@@ -370,57 +321,48 @@
}
}
- writeLocaleSets( langCountryVariant, formValidationElement );
- writeLocaleSets( langCountry, formValidationElement );
- writeLocaleSets( lang, formValidationElement );
+ writeLocaleSets(xw, element, langCountryVariant);
+ writeLocaleSets(xw, element, langCountry);
+ writeLocaleSets(xw, element, lang);
}
- private void writeLocaleSets( Collection locales, FormValidationDocument.FormValidation formValidationElement )
+ private void writeLocaleSets(XmlModelWriter xw, Element element, Collection locales)
{
for ( java.util.Iterator ii = locales.iterator(); ii.hasNext(); )
{
Locale locale = ( Locale ) ii.next();
LocaleSet localeSet = ( LocaleSet ) _localeSets.get( locale );
- writeLocaleSet( localeSet, formValidationElement );
+ writeLocaleSet(xw, element, localeSet);
}
}
- private void writeLocaleSet( LocaleSet localeSet, FormValidationDocument.FormValidation formValidationElement )
+ private void writeLocaleSet(XmlModelWriter xw, Element element, LocaleSet localeSet)
{
- FormsetDocument.Formset[] existingFormSetElements = formValidationElement.getFormsetArray();
- FormsetDocument.Formset formSetElementToUse = null;
Locale locale = localeSet.getLocale();
+ Element formSetElement = null;
- for ( int i = 0; i < existingFormSetElements.length; i++ )
- {
- FormsetDocument.Formset existingFormSetElement = existingFormSetElements[i];
-
- if ( locale == null && existingFormSetElement.getLanguage() == null )
- {
- formSetElementToUse = existingFormSetElement;
- break;
- }
- else if ( locale != null && locale.getLanguage().equals( existingFormSetElement.getLanguage() ) )
- {
- if ( ( locale.getCountry().length() == 0 && existingFormSetElement.getCountry() == null )
- || locale.getCountry().equals( existingFormSetElement.getCountry() ) )
- {
- if ( ( locale.getVariant().length() == 0 && existingFormSetElement.getVariant() == null )
- || locale.getVariant().equals( existingFormSetElement.getVariant() ) )
- {
- formSetElementToUse = existingFormSetElement;
- break;
- }
+ if (locale == null) {
+ formSetElement = findChildElement(xw, element, "formset", "language", null, false);
+ } else {
+ Element possibleMatch = findChildElement(xw, element, "formset", "language", locale.getLanguage(), false);
+ if (possibleMatch != null) {
+ String country = getElementAttribute(possibleMatch, "country");
+ String variant = getElementAttribute(possibleMatch, "variant");
+ String localeCountry = locale.getCountry();
+ String localeVariant = locale.getVariant();
+
+ if (((localeCountry.length() == 0 && country == null) || localeCountry.equals(country))
+ && ((localeVariant.length() == 0 && variant == null) || localeVariant.equals(variant))) {
+ formSetElement = possibleMatch;
}
}
}
- if ( formSetElementToUse == null )
- {
- formSetElementToUse = formValidationElement.addNewFormset();
+ if (formSetElement == null) {
+ formSetElement = xw.addElement(element, "formset");
}
- localeSet.writeToXMLBean( formSetElementToUse );
+ localeSet.writeXML(xw, formSetElement);
}
public boolean isEmpty()
Added: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-config_1_1.dtd
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-config_1_1.dtd?rev=289648&view=auto
==============================================================================
--- beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-config_1_1.dtd (added)
+++ beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-config_1_1.dtd Fri Sep 16 13:27:57 2005
@@ -0,0 +1,695 @@
+<!--
+ DTD for the Struts Application Configuration File, Version 1.1
+
+ To support validation of your configuration file, include the following
+ DOCTYPE element at the beginning (after the "xml" declaration):
+
+ <!DOCTYPE struts-config PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
+ "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
+
+ $Id: struts-config_1_1.dtd 51429 2004-02-17 05:51:48Z martinc $
+-->
+
+
+<!-- ========== Defined Types ============================================= -->
+
+
+<!-- An "AttributeName" is the identifier of a page, request, session, or
+ application scope attribute.
+-->
+<!ENTITY % AttributeName "CDATA">
+
+
+<!-- A "BeanName" is the identifier of a JavaBean, such as a form bean,
+ and also serves as the name of the corresponding scripting variable
+ and the name of the JSP attribute under which the bean is accessed.
+ Therefore, it must conform to the rules for a Java identifier.
+-->
+<!ENTITY % BeanName "CDATA">
+
+
+<!-- A "Boolean" is the string representation of a boolean (true or false)
+ variable.
+-->
+<!ENTITY % Boolean "(true|false|yes|no)">
+
+
+<!-- A "ClassName" is the fully qualified name of a Java class that is
+ instantiated to provide the functionality of the enclosing element.
+-->
+<!ENTITY % ClassName "CDATA">
+
+
+<!-- An "Integer" is a character string consisting solely of numeric digits,
+ optionally preceeded by a minus sign, that can be converted to a
+ 32-bit integer.
+-->
+<!ENTITY % Integer "CDATA">
+
+
+<!-- A "Location" is a relative path, delimited by "/" characters, that
+ defines the location of a resource relative to the location of the
+ Struts configuration file itself.
+-->
+<!ENTITY % Location "#PCDATA">
+
+
+<!-- A "PropName" is the name of a JavaBeans property, and must begin with
+ a lower case letter and contain only characters that are legal in a
+ Java identifier.
+-->
+<!ENTITY % PropName "CDATA">
+
+
+<!-- A "RequestPath" is an module-relative URI path, beginning with a
+ slash, that identifies a mapped resource (such as a JSP page or a servlet)
+ within this web application.
+-->
+<!ENTITY % RequestPath "CDATA">
+
+
+<!-- The name of a JSP bean scope within which such a form bean may be
+ accessed.
+-->
+<!ENTITY % RequestScope "(request|session)">
+
+
+<!-- ========== Top Level Elements ======================================== -->
+
+
+<!-- The "struts-config" element is the root of the configuration file
+ hierarchy, and contains nested elements for all of the other
+ configuration settings.
+-->
+<!ELEMENT struts-config (data-sources?, form-beans?, global-exceptions?, global-forwards?, action-mappings?, controller?, message-resources*, plug-in*)>
+<!ATTLIST struts-config id ID #IMPLIED>
+
+
+<!-- The "data-sources" element describes a set of DataSource objects [JDBC 2.0
+ Standard Extension]. The individual DataSource objects are configured through
+ nested <data-source> elements.
+-->
+<!ELEMENT data-sources (data-source*)>
+<!ATTLIST data-sources id ID #IMPLIED>
+
+
+<!-- The "data-source" element describes a DataSource object [JDBC 2.0 Standard
+ Extension] that will be instantiated, configured, and made available as a
+ servlet context attribute (or "application-scope bean"). Any object can be
+ specified so long as it implements [javax.sql.DataSource] and can be
+ configured entirely from JavaBean properties. The following attributes
+ are required:
+
+ className The configuration bean for this DataSource object. If
+ specified, the object must be a subclass of the default
+ configuration bean.
+ ["org.apache.struts.config.DataSourceConfig"]
+
+ key Servlet context attribute key under which this data source
+ will be stored. Default is the value specified by string
+ constant defined by Globals.DATA_SOURCE_KEY. The application
+ module prefix (if any) is appended to the key
+ (${key}$prefix}).
+ [org.apache.struts.Globals.DATA_SOURCE_KEY]
+
+ NOTE: The application module prefix includes the leading
+ slash, so the default datasource for a module named "foo" is
+ stored under "org.apache.struts.action.DATA_SOURCE/foo".
+
+ type Fully qualified Java class name for this data source object.
+ The class must implement DataSource [javax.sql.DataSource],
+ and the object must be configurable entirely from JavaBean
+ properties.
+-->
+<!ELEMENT data-source (set-property*)>
+<!ATTLIST data-source id ID #IMPLIED>
+<!ATTLIST data-source className %ClassName; #IMPLIED>
+<!ATTLIST data-source key %AttributeName; #IMPLIED>
+<!ATTLIST data-source type %ClassName; #IMPLIED>
+
+
+<!-- The "form-beans" element describes the set of form bean descriptors for this
+ module. The following attributes are defined:
+
+ type Fully qualified Java class to use when instantiating
+ ActionFormBean objects. If specified, the object must be a
+ subclass of the default class type.
+
+ WARNING: For Struts 1.0, this value is ignored. You
+ can set the default implementation class name with the
+ "formBean" initialization parameter to the Struts
+ controller servlet.
+-->
+<!ELEMENT form-beans (form-bean*)>
+<!ATTLIST form-beans id ID #IMPLIED>
+<!ATTLIST form-beans type %ClassName; #IMPLIED>
+
+
+<!-- The "form-bean" element describes an ActionForm subclass
+ [org.apache.struts.action.ActionForm] that can be referenced by an "action"
+ element.
+
+
+The "form-bean" element describes a particular form bean, which is a
+ JavaBean that implements the org.apache.struts.action.ActionForm
+ class. The following attributes are defined:
+
+ className The configuration bean for this form bean object. If
+ specified, the object must be a subclass of the default
+ configuration bean.
+ ["org.apache.struts.config.FormBeanConfig"]
+
+ dynamic If the form bean type is a DynaActionForm subclass (that you
+ created), then (and only then) set this attribute to "true".
+ If the type is set to the default DynaActionForm or any
+ conventional ActionForm subclass, then this attribute can be
+ omitted.
+ [true] if type is "org.apache.struts.action.DynaActionForm"
+ [false] otherwise DEPRECATED - THIS IS NOW DETERMINED
+ DYNAMICALLY BASED ON THE SPECIFIED IMPLEMENTATION CLASS.
+
+ name The unique identifier for this form bean. Referenced by the
+ <action> element to specify which form bean to use with its
+ request.
+
+ type Fully qualified Java class name of the ActionForm subclass
+ to use with this form bean.
+-->
+<!ELEMENT form-bean (icon?, display-name?, description?, set-property*, form-property*)>
+<!ATTLIST form-bean id ID #IMPLIED>
+<!ATTLIST form-bean className %ClassName; #IMPLIED>
+<!ATTLIST form-bean dynamic %Boolean; #IMPLIED>
+<!ATTLIST form-bean name %BeanName; #REQUIRED>
+<!ATTLIST form-bean type %ClassName; #REQUIRED>
+
+
+<!-- The "form-property" element describes a JavaBean property that can be used to
+ configure an instance of a DynaActionForm or a subclass thereof. This element
+ is only utilized when the "type" attribute of the enclosing "form-bean" element
+ is [org.apache.struts.action.DynaActionForm] or a subclass of DynaActionForm. If
+ a custom DynaActionForm subclass is used, then the "dynamic" attribute of the
+ enclosing <form-bean> element must be set to "true". Since Struts 1.1.
+
+ className The configuration bean for this form property object. If
+ specified, the object must be a subclass of the default
+ configuration bean.
+ ["org.apache.struts.config.FormPropertyConfig"]
+
+ initial String representation of the initial value for this property.
+ If not specified, primitives will be initialized to zero and
+ objects initialized to the zero-argument instantiation of that
+ object class. For example, Strings will be initialized to ""
+
+
+ name The name of the JavaBean property described by this element.
+
+ size The number of array elements to create if the value of the
+ "type" attribute specifies an array, but there is no value
+ specified for the "initial" attribute.
+
+ type Fully qualified Java class name of the field underlying this
+ property, optionally followed by "[]" to indicate that the
+ field is indexed.
+-->
+<!ELEMENT form-property (set-property*)>
+<!ATTLIST form-property className %ClassName; #IMPLIED>
+<!ATTLIST form-property initial CDATA #IMPLIED>
+<!ATTLIST form-property name %PropName; #REQUIRED>
+<!ATTLIST form-property size %Integer; #IMPLIED>
+<!ATTLIST form-property type %ClassName; #REQUIRED>
+
+
+<!-- The "global-exceptions" element describes a set of exceptions that might be
+ thrown by an Action object. The handling of individual exception types is
+ configured through nested exception elements. An <action> element may
+ override a global exception handler by registering a local exception handler
+ for the same exception type. Since Struts 1.1.
+-->
+<!ELEMENT global-exceptions (exception*)>
+<!ATTLIST global-exceptions id ID #IMPLIED>
+
+
+<!-- The "exception" element registers an ExceptionHandler for an exception type.
+ The following attributes are defined:
+
+ bundle Servlet context attribute for the message resources bundle
+ associated with this handler. The default attribute is the
+ value specified by the string constant declared at
+ Globals.MESSAGES_KEY.
+ [org.apache.struts.Globals.MESSAGES_KEY]
+
+ className The configuration bean for this ExceptionHandler object.
+ If specified, className must be a subclass of the default
+ configuration bean
+ ["org.apache.struts.config.ExceptionConfig"]
+
+ handler Fully qualified Java class name for this exception handler.
+ ["org.apache.struts.action.ExceptionHandler"]
+
+ key The key to use with this handler's message resource bundle
+ that will retrieve the error message template for this
+ exception.
+
+ path The module-relative URI to the resource that will complete
+ the request/response if this exception occurs.
+
+ scope The context ("request" or "session") that is used to access
+ the ActionError object [org.apache.struts.action.ActionError]
+ for this exception.
+
+ type Fully qualified Java class name of the exception type to
+ register with this handler.
+-->
+<!ELEMENT exception (icon?, display-name?, description?, set-property*)>
+<!ATTLIST exception id ID #IMPLIED>
+<!ATTLIST exception bundle %AttributeName; #IMPLIED>
+<!ATTLIST exception className %ClassName; #IMPLIED>
+<!ATTLIST exception handler %ClassName; #IMPLIED>
+<!ATTLIST exception key CDATA #REQUIRED>
+<!ATTLIST exception path %RequestPath; #IMPLIED>
+<!ATTLIST exception scope CDATA #IMPLIED>
+<!ATTLIST exception type %ClassName; #REQUIRED>
+
+
+<!-- The "global-forwards" element describes a set of ActionForward objects
+ [org.apache.struts.action.ActionForward] that are available to all Action
+ objects as a return value. The individual ActionForwards are configured
+ through nested <forward> elements. An <action> element may override a global
+ forward by defining a local <forward> of the same name.
+
+ type Fully qualified Java class to use when instantiating
+ ActionForward objects. If specified, the object must be a
+ subclass of the default class type.
+
+ WARNING: For Struts 1.0, this value is ignored. You
+ can set the default implementation class name with the
+ "forward" initialization parameter to the Struts
+ controller servlet.
+-->
+<!ELEMENT global-forwards (forward*)>
+<!ATTLIST global-forwards id ID #IMPLIED>
+<!ATTLIST global-forwards type %ClassName; #IMPLIED>
+
+
+<!-- The "forward" element describes an ActionForward that is to be made
+ available to an Action as a return value. An ActionForward is referenced by
+ a logical name and encapsulates a URI. A "forward" element may be used to
+ describe both global and local ActionForwards. Global forwards are available
+ to all the Action objects in the module. Local forwards can be
+ nested within an <action> element and only available to an Action object
+ when it is invoked through that ActionMapping.
+
+ className Fully qualified Java class name of ActionForward
+ subclass to use for this object.
+ ["org.apache.struts.action.ActionForward"]
+
+ contextRelative Set this to "true" if, in a modular application, the path
+ attribute starts with a slash "/" and should be considered
+ relative to the entire web application rather than the module.
+ Since Struts 1.1.
+ [false]
+
+ name The unique identifier for this forward. Referenced by the
+ Action object at runtime to select - by its logical name -
+ the resource that should complete the request/response.
+
+ path The module-relative or context-relative path to the resources
+ that is encapsulated by the logical name of this ActionForward.
+ If the path is to be considered context-relative when used in
+ a modular application, then the contextRelative attribute
+ should be set to "true". This value should begin with a slash
+ ("/") character.
+
+ redirect Set to "true" if a redirect instruction should be issued to
+ the user-agent so that a new request is issued for this
+ forward's resource. If true, RequestDispatcher.Redirect is
+ called. If "false", RequestDispatcher.forward is called instead.
+ [false]
+-->
+<!ELEMENT forward (icon?, display-name?, description?, set-property*)>
+<!ATTLIST forward id ID #IMPLIED>
+<!ATTLIST forward className %ClassName; #IMPLIED>
+<!ATTLIST forward contextRelative %Boolean; #IMPLIED>
+<!ATTLIST forward name CDATA #REQUIRED>
+<!ATTLIST forward path %RequestPath; #REQUIRED>
+<!ATTLIST forward redirect %Boolean; #IMPLIED>
+
+
+<!-- The "action-mappings" element describes a set of ActionMapping objects
+ [org.apache.struts.action.ActionMapping] that are available to process
+ requests matching the url-pattern our ActionServlet registered with the
+ container. The individual ActionMappings are configured through nested
+ <action> elements. The following attributes are defined:
+
+ type Fully qualified Java class to use when instantiating
+ ActionMapping objects. If specified, the object must be a
+ subclass of the default class type.
+
+ WARNING: For Struts 1.0, this value is ignored. You
+ can set the default implementation class name with the
+ "mapping" initialization parameter to the Struts
+ controller servlet.
+-->
+<!ELEMENT action-mappings (action*)>
+<!ATTLIST action-mappings id ID #IMPLIED>
+<!ATTLIST action-mappings type %ClassName; #IMPLIED>
+
+
+<!-- The "action" element describes an ActionMapping object that is to be used
+ to process a request for a specific module-relative URI. The following
+ attributes are defined:
+
+ attribute Name of the request-scope or session-scope attribute that
+ is used to access our ActionForm bean, if it is other than
+ the bean's specified "name". Optional if "name" is specified,
+ else not valid.
+
+ className The fully qualified Java class name of the ActionMapping
+ subclass to use for this action mapping object. Defaults to
+ the type specified by the enclosing <action-mappings>
+ element or to "org.apache.struts.action.ActionMapping" if
+ not specified.
+ ["org.apache.struts.action.ActionMapping"]
+
+ forward Module-relative path of the servlet or other resource that
+ will process this request, instead of the Action class
+ specified by "type". The path WILL NOT be processed
+ through the "forwardPattern" attribute that is configured
+ on the "controller" element for this module.
+ Exactly one of "forward", "include", or "type" must be
+ specified.
+
+ include Module-relative path of the servlet or other resource that
+ will process this request, instead of the Action class
+ specified by "type". The path WILL NOT be processed
+ through the "forwardPattern" attribute that is configured
+ on the "controller" element for this module.
+ Exactly one of "forward", "include", or "type" must be
+ specified.
+
+ input Module-relative path of the action or other resource to
+ which control should be returned if a validation error is
+ encountered. Valid only when "name" is specified. Required
+ if "name" is specified and the input bean returns
+ validation errors. Optional if "name" is specified and the
+ input bean does not return validation errors.
+
+ name Name of the form bean, if any, that is associated with this
+ action mapping.
+
+ path The module-relative path of the submitted request, starting
+ with a "/" character, and without the filename extension if
+ extension mapping is used.
+
+ NOTE: Do *not* include a period in your path name,
+ because it will look like a filename extension and
+ cause your Action to not be located.
+
+ parameter General-purpose configuration parameter that can be used to
+ pass extra information to the Action object selected by
+ this action mapping.
+
+ prefix Prefix used to match request parameter names to ActionForm
+ property names, if any. Optional if "name" is specified,
+ else not allowed.
+
+ roles Comma-delimited list of security role names that are allowed
+ access to this ActionMapping object. Since Struts 1.1.
+
+ scope The context ("request" or "session") that is used to
+ access our ActionForm bean, if any. Optional if "name" is
+ specified, else not valid.
+
+ suffix Suffix used to match request parameter names to ActionForm
+ bean property names, if any. Optional if "name" is
+ specified, else not valid.
+
+ type Fully qualified Java class name of the Action subclass
+ [org.apache.struts.action.Action] that will process requests
+ for this action mapping. Not valid if either the "forward"
+ or "include" attribute is specified. Exactly one of
+ "forward", "include", or "type" must be specified.
+
+ unknown Set to "true" if this object should be configured as the
+ default action mapping for this module. If a request does not
+ match another object, it will be passed to the ActionMapping
+ object with unknown set to "true". Only one ActionMapping
+ can be marked as "unknown" within a module.
+ [false]
+
+ validate Set to "true" if the validate method of the ActionForm bean
+ should be called prior to calling the Action object for this
+ action mapping, or set to "false" if you do not want the
+ validate method called.
+ [true]
+-->
+<!ELEMENT action (icon?, display-name?, description?, set-property*, exception*, forward*)>
+<!ATTLIST action id ID #IMPLIED>
+<!ATTLIST action attribute %BeanName; #IMPLIED>
+<!ATTLIST action className %ClassName; #IMPLIED>
+<!ATTLIST action forward %RequestPath; #IMPLIED>
+<!ATTLIST action include %RequestPath; #IMPLIED>
+<!ATTLIST action input %RequestPath; #IMPLIED>
+<!ATTLIST action name %BeanName; #IMPLIED>
+<!ATTLIST action parameter CDATA #IMPLIED>
+<!ATTLIST action path %RequestPath; #REQUIRED>
+<!ATTLIST action prefix CDATA #IMPLIED>
+<!ATTLIST action roles CDATA #IMPLIED>
+<!ATTLIST action scope %RequestScope; #IMPLIED>
+<!ATTLIST action suffix CDATA #IMPLIED>
+<!ATTLIST action type %ClassName; #IMPLIED>
+<!ATTLIST action unknown %Boolean; #IMPLIED>
+<!ATTLIST action validate %Boolean; #IMPLIED>
+
+
+<!-- The "controller" element describes the ControllerConfig bean
+ [org.apache.struts.config.ControllerConfig] that encapsulates
+ a module's runtime configuration. The following
+ attributes are defined:
+
+ bufferSize The size of the input buffer used when processing
+ file uploads.
+ [4096]
+
+ className Fully qualified Java class name of the
+ ControllerConfig subclass for this controller object.
+ If specified, the object must be a subclass of the
+ default class.
+ ["org.apache.struts.config.ControllerConfig"]
+
+ contentType Default content type (and optional character encoding) to
+ be set on each response. May be overridden by the Action,
+ JSP, or other resource to which the request is forwarded.
+ ["text/html"]
+
+ debug Debugging detail level for this module. [0]
+ DEPRECATED - configure the logging detail level
+ in your underlying logging implementation.
+
+ forwardPattern Replacement pattern defining how the "path" attribute of a
+ <forward> element is mapped to a context-relative URL when
+ it starts with a slash (and when the contextRelative
+ property is false). This value may consist of any
+ combination of the following:
+ - "$M" - Replaced by the module prefix of this module
+ - "$P" - Replaced by the "path" attribute of the selected
+ "forward" element
+ - "$$" - Causes a literal dollar sign to be rendered
+ - "$x" - (Where "x" is any character not defined above)
+ Silently swallowed, reserved for future use
+ If not specified, the default forwardPattern is "$M$P",
+ which is consistent with the previous behavior of
+ forwards. Since Struts 1.1. ["$M$P"]
+
+ inputForward Set to "true" if you want the "input" attribute of
+ <action> elements to be the name of a local or global
+ ActionForward, which will then be used to calculate the
+ ultimate URL. Set to "false" (the default) to treat the
+ "input" parameter of <action> elements as a
+ module-relative path to the resource
+ to be used as the input form. Since Struts 1.1.
+ [false]
+
+ locale Set to "true" if you want a Locale object stored in the
+ user's session if not already present.
+ [true]
+
+ maxFileSize The maximum size (in bytes) of a file to be accepted as a
+ file upload. Can be expressed as a number followed by a
+ "K", "M", or "G", which are interpreted to mean kilobytes,
+ megabytes, or gigabytes, respectively.
+ ["250M"]
+
+ memFileSize The maximum size (in bytes) of a file whose contents will
+ be retained in memory after uploading. Files larger than
+ this threshold will be written to some alternative storage
+ medium, typically a hard disk. Can be expressed as a number
+ followed by a "K", "M", or "G", which are interpreted to
+ mean kilobytes, megabytes, or gigabytes, respectively.
+ ["256K"]
+
+ multipartClass The fully qualified Java class name of the multipart
+ request handler class to be used with this module.
+ ["org.apache.struts.upload.CommonsMultipartRequestHandler"]
+
+ nocache Set to "true" if you want the controller to add HTTP
+ headers for defeating caching to every response from
+ this module. [false]
+
+ pagePattern Replacement pattern defining how the "page" attribute of
+ custom tags using it is mapped to a context-relative URL
+ of the corresponding resource. This value may consist of
+ any combination of the following:
+ - "$M" - Replaced by the module prefix of this module
+ - "$P" - Replaced by the value of the "page" attribute
+ - "$$" - Causes a literal dollar sign to be rendered
+ - "$x" - (Where "x" is any character not defined above)
+ Silently swallowed, reserved for future use
+ If not specified, the default forwardPattern is
+ "$M$P", which is consistent with previous hard coded
+ behavior of URL evaluation for "page" attributes.
+ ["$M$P"]
+
+ processorClass The fully qualified Java class name of the
+ RequestProcessor subclass to be used with this module.
+ ["org.apache.struts.action.RequestProcessor"]
+
+ tempDir Temporary working directory to use when processing
+ file uploads.
+ [{Directory provided by servlet container}]
+-->
+<!ELEMENT controller (set-property*)>
+<!ATTLIST controller id ID #IMPLIED>
+<!ATTLIST controller bufferSize %Integer; #IMPLIED>
+<!ATTLIST controller className %ClassName; #IMPLIED>
+<!ATTLIST controller contentType CDATA #IMPLIED>
+<!ATTLIST controller debug %Integer; #IMPLIED>
+<!ATTLIST controller forwardPattern CDATA #IMPLIED>
+<!ATTLIST controller inputForward %Boolean; #IMPLIED>
+<!ATTLIST controller locale %Boolean; #IMPLIED>
+<!ATTLIST controller maxFileSize CDATA #IMPLIED>
+<!ATTLIST controller memFileSize CDATA #IMPLIED>
+<!ATTLIST controller multipartClass %ClassName; #IMPLIED>
+<!ATTLIST controller nocache %Boolean; #IMPLIED>
+<!ATTLIST controller pagePattern CDATA #IMPLIED>
+<!ATTLIST controller processorClass %ClassName; #IMPLIED>
+<!ATTLIST controller tempDir CDATA #IMPLIED>
+
+
+<!-- The "message-resources" element describes a MessageResources object with
+ message templates for this module. The following attributes are defined:
+
+ className The configuration bean for this message resources object.
+ If specified, the object must be a subclass of the default
+ configuration bean.
+ ["org.apache.struts.config.MessageResourcesConfig"]
+
+ factory Fully qualified Java class name of the
+ MessageResourcesFactory subclass to use for this message
+ resources object.
+ ["org.apache.struts.util.PropertyMessageResourcesFactory"]
+
+ key Servlet context attribute under which this message
+ resources bundle will be stored. The default attribute is
+ the value specified by the string constant at
+ [Globals.MESSAGES_KEY]. The module prefix (if
+ any) is appended to the key (${key}${prefix}).
+ [org.apache.struts.Globals.MESSAGES_KEY]
+
+ NOTE: The module prefix includes the leading
+ slash, so the default message resource bundle for a module
+ named "foo" is stored under
+ "org.apache.struts.action.MESSAGE/foo".
+
+ null Set to "true" if you want our message resources to return a
+ null string for unknown message keys, or "false" to return a
+ message with the bad key value.
+
+ parameter Configuration parameter to be passed to the createResources
+ method of our factory object.
+-->
+<!ELEMENT message-resources (set-property*)>
+<!ATTLIST message-resources id ID #IMPLIED>
+<!ATTLIST message-resources className %ClassName; #IMPLIED>
+<!ATTLIST message-resources factory %ClassName; #IMPLIED>
+<!ATTLIST message-resources key %AttributeName; #IMPLIED>
+<!ATTLIST message-resources null %Boolean; #IMPLIED>
+<!ATTLIST message-resources parameter CDATA #REQUIRED>
+
+
+<!-- The "plug-in" element specifies the fully qualified class name of a
+ general-purpose application plug-in module that receives notification of
+ application startup and shutdown events. An instance of the specified class
+ is created for each element, and can be configured with nested <set-property>
+ elements. The following attributes are supported:
+
+ className Fully qualified Java class name of the plug-in class; must
+ implement [org.apache.struts.action.PlugIn].
+-->
+<!ELEMENT plug-in (set-property*)>
+<!ATTLIST plug-in id ID #IMPLIED>
+<!ATTLIST plug-in className %ClassName; #REQUIRED>
+
+
+<!-- ========== Subordinate Elements ====================================== -->
+
+
+<!-- The "description" element contains descriptive (paragraph length) text
+ about the surrounding element, suitable for use in GUI tools.
+-->
+<!ELEMENT description (#PCDATA)>
+<!ATTLIST description id ID #IMPLIED>
+
+
+<!-- The "display-name" element contains a short (one line) description of
+ the surrounding element, suitable for use in GUI tools.
+-->
+<!ELEMENT display-name (#PCDATA)>
+<!ATTLIST display-name id ID #IMPLIED>
+
+
+<!-- The "icon" element contains a small-icon and large-icon element which
+ specify the location, relative to the Struts configuration file, for small
+ and large images used to represent the surrounding element in GUI tools.
+-->
+<!ELEMENT icon (small-icon?, large-icon?)>
+<!ATTLIST icon id ID #IMPLIED>
+
+
+<!-- The "large-icon" element specifies the location, relative to the Struts
+ configuration file, of a resource containing a large (32x32 pixel)
+ icon image.
+-->
+<!ELEMENT large-icon (%Location;)>
+<!ATTLIST large-icon id ID #IMPLIED>
+
+
+<!-- The "set-property" element specifies the method name and initial value of
+ an additional JavaBean configuration property. When the object representing
+ the surrounding element is instantiated, the accessor for the indicated
+ property is called and passed the indicated value. The "set-property"
+ element is especially useful when a custom subclass is used with
+ <data-source>, <forward>, <action>, or <plug-in> elements. The subclass
+ can be passed whatever other properties may be required to configure the
+ object without changing how the struts-config is parsed.
+
+ property Name of the JavaBeans property whose setter method
+ will be called.
+
+ value String representation of the value to which this
+ property will be set, after suitable type conversion
+-->
+<!ELEMENT set-property EMPTY>
+<!ATTLIST set-property id ID #IMPLIED>
+<!ATTLIST set-property property %PropName; #REQUIRED>
+<!ATTLIST set-property value CDATA #REQUIRED>
+
+
+<!-- The "small-icon" element specifies the location, relative to the Struts
+ configuration file, of a resource containing a small (16x16 pixel)
+ icon image.
+-->
+<!ELEMENT small-icon (%Location;)>
+<!ATTLIST small-icon id ID #IMPLIED>
+
Propchange: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-config_1_1.dtd
------------------------------------------------------------------------------
svn:eol-style = native
Added: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-config_1_1.xsd
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-config_1_1.xsd?rev=289648&view=auto
==============================================================================
--- beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-config_1_1.xsd (added)
+++ beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-config_1_1.xsd Fri Sep 16 13:27:57 2005
@@ -0,0 +1,346 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="action">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="icon" minOccurs="0"/>
+ <xs:element ref="display-name" minOccurs="0"/>
+ <xs:element ref="description" minOccurs="0"/>
+ <xs:element ref="set-property" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="exception" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="forward" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="attribute" type="xs:string"/>
+ <xs:attribute name="className" type="xs:string"/>
+ <xs:attribute name="forward" type="xs:string"/>
+ <xs:attribute name="include" type="xs:string"/>
+ <xs:attribute name="input" type="xs:string"/>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="parameter" type="xs:string"/>
+ <xs:attribute name="path" type="xs:string" use="required"/>
+ <xs:attribute name="prefix" type="xs:string"/>
+ <xs:attribute name="roles" type="xs:string"/>
+ <xs:attribute name="scope">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="request"/>
+ <xs:enumeration value="session"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="suffix" type="xs:string"/>
+ <xs:attribute name="type" type="xs:string"/>
+ <xs:attribute name="unknown">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="yes"/>
+ <xs:enumeration value="no"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="validate">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="yes"/>
+ <xs:enumeration value="no"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="action-mappings">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="action" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="type" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="controller">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="set-property" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="bufferSize" type="xs:string"/>
+ <xs:attribute name="className" type="xs:string"/>
+ <xs:attribute name="contentType" type="xs:string"/>
+ <xs:attribute name="debug" type="xs:string"/>
+ <xs:attribute name="forwardPattern" type="xs:string"/>
+ <xs:attribute name="inputForward">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="yes"/>
+ <xs:enumeration value="no"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="locale">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="yes"/>
+ <xs:enumeration value="no"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="maxFileSize" type="xs:string"/>
+ <xs:attribute name="memFileSize" type="xs:string"/>
+ <xs:attribute name="multipartClass" type="xs:string"/>
+ <xs:attribute name="nocache">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="yes"/>
+ <xs:enumeration value="no"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="pagePattern" type="xs:string"/>
+ <xs:attribute name="processorClass" type="xs:string"/>
+ <xs:attribute name="tempDir" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="data-source">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="set-property" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="className" type="xs:string"/>
+ <xs:attribute name="key" type="xs:string"/>
+ <xs:attribute name="type" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="data-sources">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="data-source" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="description">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="id" type="xs:ID"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="display-name">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="id" type="xs:ID"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="exception">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="icon" minOccurs="0"/>
+ <xs:element ref="display-name" minOccurs="0"/>
+ <xs:element ref="description" minOccurs="0"/>
+ <xs:element ref="set-property" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="bundle" type="xs:string"/>
+ <xs:attribute name="className" type="xs:string"/>
+ <xs:attribute name="handler" type="xs:string"/>
+ <xs:attribute name="key" type="xs:string" use="required"/>
+ <xs:attribute name="path" type="xs:string"/>
+ <xs:attribute name="scope" type="xs:string"/>
+ <xs:attribute name="type" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="form-bean">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="icon" minOccurs="0"/>
+ <xs:element ref="display-name" minOccurs="0"/>
+ <xs:element ref="description" minOccurs="0"/>
+ <xs:element ref="set-property" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="form-property" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="className" type="xs:string"/>
+ <xs:attribute name="dynamic">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="yes"/>
+ <xs:enumeration value="no"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="type" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="form-beans">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="form-bean" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="type" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="form-property">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="set-property" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="className" type="xs:string"/>
+ <xs:attribute name="initial" type="xs:string"/>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="size" type="xs:string"/>
+ <xs:attribute name="type" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="forward">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="icon" minOccurs="0"/>
+ <xs:element ref="display-name" minOccurs="0"/>
+ <xs:element ref="description" minOccurs="0"/>
+ <xs:element ref="set-property" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="className" type="xs:string"/>
+ <xs:attribute name="contextRelative">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="yes"/>
+ <xs:enumeration value="no"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="path" type="xs:string" use="required"/>
+ <xs:attribute name="redirect">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="yes"/>
+ <xs:enumeration value="no"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="global-exceptions">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="exception" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="global-forwards">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="forward" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="type" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="icon">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="small-icon" minOccurs="0"/>
+ <xs:element ref="large-icon" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="large-icon">
+ <xs:complexType mixed="true">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="id" type="xs:ID"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="message-resources">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="set-property" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="className" type="xs:string"/>
+ <xs:attribute name="factory" type="xs:string"/>
+ <xs:attribute name="key" type="xs:string"/>
+ <xs:attribute name="null">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="yes"/>
+ <xs:enumeration value="no"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="parameter" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="plug-in">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="set-property" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="className" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="set-property">
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="property" type="xs:string" use="required"/>
+ <xs:attribute name="value" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="small-icon">
+ <xs:complexType mixed="true">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="id" type="xs:ID"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="struts-config">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="data-sources" minOccurs="0"/>
+ <xs:element ref="form-beans" minOccurs="0"/>
+ <xs:element ref="global-exceptions" minOccurs="0"/>
+ <xs:element ref="global-forwards" minOccurs="0"/>
+ <xs:element ref="action-mappings" minOccurs="0"/>
+ <xs:element ref="controller" minOccurs="0"/>
+ <xs:element ref="message-resources" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="plug-in" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
Propchange: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-config_1_1.xsd
------------------------------------------------------------------------------
svn:eol-style = native
Added: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-validator_1_1.xsd
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-validator_1_1.xsd?rev=289648&view=auto
==============================================================================
--- beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-validator_1_1.xsd (added)
+++ beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-validator_1_1.xsd Fri Sep 16 13:27:57 2005
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="arg">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="key" type="xs:string"/>
+ <xs:attribute name="bundle" type="xs:string"/>
+ <xs:attribute name="position" type="xs:string"/>
+ <xs:attribute name="resource" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="arg0">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="key" type="xs:string"/>
+ <xs:attribute name="resource" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="arg1">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="key" type="xs:string"/>
+ <xs:attribute name="resource" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="arg2">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="key" type="xs:string"/>
+ <xs:attribute name="resource" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="arg3">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="key" type="xs:string"/>
+ <xs:attribute name="resource" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="constant">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="constant-name"/>
+ <xs:element ref="constant-value"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="constant-name" type="xs:string"/>
+ <xs:element name="constant-value" type="xs:string"/>
+ <xs:element name="field">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="msg"/>
+ <xs:element ref="arg"/>
+ <xs:element ref="arg0"/>
+ <xs:element ref="arg1"/>
+ <xs:element ref="arg2"/>
+ <xs:element ref="arg3"/>
+ <xs:element ref="var"/>
+ </xs:choice>
+ <xs:attribute name="property" type="xs:string" use="required"/>
+ <xs:attribute name="depends" type="xs:string"/>
+ <xs:attribute name="page" type="xs:string"/>
+ <xs:attribute name="indexedListProperty" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="form">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="field" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="form-validation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="global" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="formset" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="formset">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="constant" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="form" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="language" type="xs:string"/>
+ <xs:attribute name="country" type="xs:string"/>
+ <xs:attribute name="variant" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="global">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="validator" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="constant" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="javascript" type="xs:string"/>
+ <xs:element name="msg">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="key" type="xs:string"/>
+ <xs:attribute name="bundle" type="xs:string"/>
+ <xs:attribute name="resource" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="validator">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="javascript" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="classname" type="xs:string" use="required"/>
+ <xs:attribute name="method" type="xs:string" use="required"/>
+ <xs:attribute name="methodParams" type="xs:string" use="required"/>
+ <xs:attribute name="msg" type="xs:string" use="required"/>
+ <xs:attribute name="depends" type="xs:string"/>
+ <xs:attribute name="jsFunctionName" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="var">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="var-name"/>
+ <xs:element ref="var-value"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="var-name" type="xs:string"/>
+ <xs:element name="var-value" type="xs:string"/>
+</xs:schema>
Propchange: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/struts-validator_1_1.xsd
------------------------------------------------------------------------------
svn:eol-style = native
Added: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/validator_1_0.dtd
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/validator_1_0.dtd?rev=289648&view=auto
==============================================================================
--- beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/validator_1_0.dtd (added)
+++ beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/validator_1_0.dtd Fri Sep 16 13:27:57 2005
@@ -0,0 +1,246 @@
+<!--
+ DTD for the Validator Rules Configuration File, Version 1.0
+
+ To allow for XML validation of your rules configuration
+ file, include the following DOCTYPE element at the beginning (after
+ the "xml" declaration):
+
+ <!DOCTYPE form-validation PUBLIC
+ "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"
+ "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
+
+ $Id: validator_1_0.dtd,v 1.4 2002/10/23 01:32:01 turner Exp $
+-->
+
+
+<!-- =================================================== Top Level Elements -->
+
+
+<!--
+ The "form-validation" element is the root of the configuration file
+ hierarchy, and contains nested elements for all of the other
+ configuration settings.
+-->
+<!ELEMENT form-validation (global*, formset*)>
+
+
+<!--
+ The elements defined here are all global and must be nested within a
+ "global" element.
+-->
+<!ELEMENT global (validator*, constant*)>
+
+
+<!--
+ The "validator" element defines what validators objects can be used with
+ the fields referenced by the formset elements. The validator element can
+ accept 4 properties: name, classname, method, methodparams, msg, depends,
+ and jsFunctionName.
+-->
+<!ELEMENT validator (javascript?)>
+<!ATTLIST validator name CDATA #REQUIRED
+ classname CDATA #REQUIRED
+ method CDATA #REQUIRED
+ methodParams CDATA #REQUIRED
+ msg CDATA #REQUIRED
+ depends CDATA #IMPLIED
+ jsFunctionName CDATA #IMPLIED >
+
+
+<!--
+ The "javascript" element defines a JavaScript that can be used to perform
+ client-side validators.
+-->
+<!ELEMENT javascript (#PCDATA)>
+
+
+<!--
+ The "constant" element defines a static value that can be used as
+ replacement parameters within "field" elements. The "constant-name" and
+ "constant-value" elements define the constant's reference id and replacement
+ value.
+-->
+<!ELEMENT constant (constant-name, constant-value)>
+<!ELEMENT constant-name (#PCDATA)>
+<!ELEMENT constant-value (#PCDATA)>
+
+
+<!--
+ The "formset" element defines a set of forms for a locale. Formsets for
+ specific locales can override only those fields that change. The
+ localization is properly scoped, so that a formset can override just the
+ language, or just the country, or both.
+-->
+<!ELEMENT formset (constant*, form+)>
+<!ATTLIST formset language CDATA #IMPLIED
+ country CDATA #IMPLIED >
+
+
+<!--
+ The "form" element defines a set of fields to be validated. The name
+ corresponds to the identifer the application assigns to the form.
+-->
+<!ELEMENT form (field+ )>
+<!ATTLIST form name CDATA #REQUIRED>
+
+
+<!--
+ The "field" element defines the properties to be validated. In a
+ web application, a field would also correspond to a control on
+ a HTML form. To validate the properties, the validator works through
+ a JavaBean representation. The field element can accept up to 4
+ attributes:
+
+ property The property on the JavaBean corresponding to this
+ field element.
+
+ depends The comma-delimited list of validators to apply against
+ this field. For the field to succeed, all the
+ validators must succeed.
+
+ page The JavaBean corresponding to this form may include
+ a page property. Only fields with a "page" attribute
+ value that is equal to or less than the page property
+ on the form JavaBean are processed. This is useful when
+ using a "wizard" approach to completing a large form,
+ to ensure that a page is not skipped.
+ [0]
+
+ indexedListProperty
+ The "indexedListProperty" is the method name that will
+ return an array or a Collection used to retrieve the
+ list and then loop through the list performing the
+ validations for this field.
+
+-->
+<!ELEMENT field (msg|arg0|arg1|arg2|arg3|var)*>
+<!ATTLIST field property CDATA #REQUIRED
+ depends CDATA #IMPLIED
+ page CDATA #IMPLIED
+ indexedListProperty CDATA #IMPLIED >
+
+
+<!--
+ The "msg" element defines a custom message key to use when one of the
+ validators for this field fails. Each validator has a default message
+ property that is used when a corresonding field msg is not specified.
+ Each validator applied to a field may have its own msg element.
+ The msg element accepts up to three attributes.
+
+ name The name of the validator corresponding to this msg.
+
+ key The key that will return the message template from a
+ resource bundle.
+
+ resource If set to "false", the key is taken to be a literal
+ value rather than a bundle key.
+ [true]
+-->
+<!ELEMENT msg EMPTY>
+<!ATTLIST msg name CDATA #IMPLIED
+ key CDATA #IMPLIED
+ resource CDATA #IMPLIED >
+
+
+<!--
+ The "arg0" element defines the first replacement value to use with the
+ message template for this validator or this field.
+ The arg0 element accepts up to three attributes.
+
+ name The name of the validator corresponding to this msg.
+
+ key The key that will return the message template from a
+ resource bundle.
+
+ resource If set to "false", the key is taken to be a literal
+ value rather than a bundle key.
+ [true]
+-->
+<!ELEMENT arg0 EMPTY>
+<!ATTLIST arg0 name CDATA #IMPLIED
+ key CDATA #IMPLIED
+ resource CDATA #IMPLIED >
+
+
+<!--
+ The "arg1" element defines the second replacement value to use with the
+ message template for this validator or this field.
+ The arg1 element accepts up to three attributes.
+
+ name The name of the validator corresponding to this msg.
+
+ key The key that will return the message template from a
+ resource bundle.
+
+ resource If set to "false", the key is taken to be a literal
+ value rather than a bundle key.
+ [true]
+-->
+<!ELEMENT arg1 EMPTY>
+<!ATTLIST arg1 name CDATA #IMPLIED
+ key CDATA #IMPLIED
+ resource CDATA #IMPLIED >
+
+
+<!--
+ The "arg2" element defines the third replacement value to use with the
+ message template for this validator or this field.
+ The arg2 element accepts up to three attributes.
+
+ name The name of the validator corresponding to this msg.
+
+ key The key that will return the message template from a
+ resource bundle.
+
+ resource If set to "false", the key is taken to be a literal
+ value rather than a bundle key.
+ [true]
+-->
+<!ELEMENT arg2 EMPTY>
+<!ATTLIST arg2 name CDATA #IMPLIED
+ key CDATA #IMPLIED
+ resource CDATA #IMPLIED >
+
+<!--
+ The "arg3" element defines the fourth replacement value to use with the
+ message template for this validator or this field.
+ The arg0 element accepts up to three attributes.
+
+ name The name of the validator corresponding to this msg.
+
+ key The key that will return the message template from a
+ resource bundle.
+
+ resource If set to "false", the key is taken to be a literal
+ value rather than a bundle key.
+ [true]
+-->
+<!ELEMENT arg3 EMPTY>
+<!ATTLIST arg3 name CDATA #IMPLIED
+ key CDATA #IMPLIED
+ resource CDATA #IMPLIED >
+
+
+<!--
+ The "var" element can set parameters that a field may need to pass to
+ one of its validators, such as the minimum and maximum values in a
+ range validation. These parameters may also be referenced by one of the
+ arg? elements using a shell syntax: ${var:var-name}.
+-->
+<!ELEMENT var (var-name, var-value)>
+
+
+
+<!--
+ The name of the var parameter to provide to a field's validators.
+-->
+<!ELEMENT var-name (#PCDATA)>
+
+
+
+<!--
+ The value of the var parameter to provide to a field's validators.
+-->
+<!ELEMENT var-value (#PCDATA)>
+
+<!-- eof -->
Propchange: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/validator_1_0.dtd
------------------------------------------------------------------------------
svn:eol-style = native
Added: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/validator_1_1.dtd
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/validator_1_1.dtd?rev=289648&view=auto
==============================================================================
--- beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/validator_1_1.dtd (added)
+++ beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/validator_1_1.dtd Fri Sep 16 13:27:57 2005
@@ -0,0 +1,293 @@
+<!--
+ DTD for the Validator Rules Configuration File, Version 1.1
+
+ To allow for XML validation of your rules configuration
+ file, include the following DOCTYPE element at the beginning (after
+ the "xml" declaration):
+
+ <!DOCTYPE form-validation PUBLIC
+ "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN"
+ "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
+
+ $Id: validator_1_1.dtd,v 1.5 2003/08/11 23:50:31 dgraham Exp $
+-->
+
+
+
+<!--
+ The "form-validation" element is the root of the configuration file
+ hierarchy, and contains nested elements for all of the other
+ configuration settings.
+-->
+<!ELEMENT form-validation (global*, formset*)>
+
+
+<!--
+ The elements defined here are all global and must be nested within a
+ "global" element.
+-->
+<!ELEMENT global (validator*, constant*)>
+
+
+<!--
+ The "validator" element defines what validator objects can be used with
+ the fields referenced by the formset elements.
+-->
+<!ELEMENT validator (javascript?)>
+<!ATTLIST validator name CDATA #REQUIRED>
+<!ATTLIST validator classname CDATA #REQUIRED>
+<!ATTLIST validator method CDATA #REQUIRED>
+<!ATTLIST validator methodParams CDATA #REQUIRED>
+<!ATTLIST validator msg CDATA #REQUIRED>
+<!ATTLIST validator depends CDATA #IMPLIED>
+<!ATTLIST validator jsFunctionName CDATA #IMPLIED>
+<!ATTLIST validator jsFunction CDATA #IMPLIED>
+
+
+<!--
+ The "javascript" element defines a JavaScript that can be used to perform
+ client-side validators.
+-->
+<!ELEMENT javascript (#PCDATA)>
+
+
+<!--
+ The "constant" element defines a static value that can be used as
+ replacement parameters within "field" elements. The "constant-name" and
+ "constant-value" elements define the constant's reference id and replacement
+ value.
+-->
+<!ELEMENT constant (constant-name, constant-value)>
+<!ELEMENT constant-name (#PCDATA)>
+<!ELEMENT constant-value (#PCDATA)>
+
+
+<!--
+ The "formset" element defines a set of forms for a locale. Formsets for
+ specific locales can override only those fields that change. The
+ localization is properly scoped, so that a formset can override just the
+ language, or just the country, or both.
+-->
+<!ELEMENT formset (constant*, form+)>
+<!ATTLIST formset language CDATA #IMPLIED>
+<!ATTLIST formset country CDATA #IMPLIED>
+<!ATTLIST formset variant CDATA #IMPLIED>
+
+
+<!--
+ The "form" element defines a set of fields to be validated. The name
+ corresponds to the identifer the application assigns to the form.
+-->
+<!ELEMENT form (field+)>
+<!ATTLIST form name CDATA #REQUIRED>
+
+
+<!--
+ The "field" element defines the properties to be validated. In a
+ web application, a field would also correspond to a control on
+ a HTML form. To validate the properties, the validator works through
+ a JavaBean representation. The field element accepts these
+ attributes:
+
+ property The property on the JavaBean corresponding to this
+ field element.
+
+ depends The comma-delimited list of validators to apply against
+ this field. For the field to succeed, all the
+ validators must succeed.
+
+ page The JavaBean corresponding to this form may include
+ a page property. Only fields with a "page" attribute
+ value that is equal to or less than the page property
+ on the form JavaBean are processed. This is useful when
+ using a "wizard" approach to completing a large form,
+ to ensure that a page is not skipped.
+ [0]
+
+ indexedListProperty
+ The "indexedListProperty" is the method name that will
+ return an array or a Collection used to retrieve the
+ list and then loop through the list performing the
+ validations for this field.
+
+-->
+<!ELEMENT field (msg|arg|arg0|arg1|arg2|arg3|var)*>
+<!ATTLIST field property CDATA #REQUIRED>
+<!ATTLIST field depends CDATA #IMPLIED>
+<!ATTLIST field page CDATA #IMPLIED>
+<!ATTLIST field indexedListProperty CDATA #IMPLIED>
+
+
+<!--
+ The "msg" element defines a custom message key to use when one of the
+ validators for this field fails. Each validator has a default message
+ property that is used when a corresonding field msg is not specified.
+ Each validator applied to a field may have its own msg element.
+ The msg element accepts these attributes.
+
+ name The name of the validator corresponding to this msg.
+
+ bundle The resource bundle name that the key should be resolved in.
+
+ key The key that will return the message template from a
+ resource bundle.
+
+ resource If set to "false", the key is taken to be a literal
+ value rather than a bundle key.
+ [true]
+-->
+<!ELEMENT msg EMPTY>
+<!ATTLIST msg key CDATA #REQUIRED>
+<!ATTLIST msg name CDATA #REQUIRED>
+<!ATTLIST msg bundle CDATA #IMPLIED>
+<!ATTLIST msg resource CDATA #IMPLIED>
+
+
+
+<!--
+ The "arg" element defines a replacement value to use with the
+ message template for this validator or this field.
+ The arg element accepts these attributes.
+
+ name The name of the validator corresponding to this msg.
+ If not supplied, this argument will be used in the given
+ position for every validator.
+
+ bundle The resource bundle name that the key should be resolved in.
+
+ key The key that will return the message template from a
+ resource bundle.
+
+ resource If set to "false", the key is taken to be a literal
+ value rather than a bundle key.
+ [true]
+
+ position The position of this replacement parameter in the message.
+ For example, position="0" will set the first argument.
+ [0]
+-->
+<!ELEMENT arg EMPTY>
+<!ATTLIST arg key CDATA #REQUIRED>
+<!ATTLIST arg bundle CDATA #IMPLIED>
+<!ATTLIST arg name CDATA #IMPLIED>
+<!ATTLIST arg resource CDATA #IMPLIED>
+<!ATTLIST arg position CDATA #IMPLIED>
+
+
+
+<!--
+
+ DEPRECATED Use <arg position="0"/> instead.
+
+ The "arg0" element defines the first replacement value to use with the
+ message template for this validator or this field.
+ The arg0 element accepts these attributes.
+
+ name The name of the validator corresponding to this msg.
+
+ key The key that will return the message template from a
+ resource bundle.
+
+ resource If set to "false", the key is taken to be a literal
+ value rather than a bundle key.
+ [true]
+-->
+<!ELEMENT arg0 EMPTY>
+<!ATTLIST arg0 name CDATA #IMPLIED>
+<!ATTLIST arg0 key CDATA #IMPLIED>
+<!ATTLIST arg0 resource CDATA #IMPLIED>
+
+
+<!--
+
+ DEPRECATED Use <arg position="1"/> instead.
+
+ The "arg1" element defines the second replacement value to use with the
+ message template for this validator or this field.
+ The arg1 element accepts these attributes.
+
+ name The name of the validator corresponding to this msg.
+
+ key The key that will return the message template from a
+ resource bundle.
+
+ resource If set to "false", the key is taken to be a literal
+ value rather than a bundle key.
+ [true]
+-->
+<!ELEMENT arg1 EMPTY>
+<!ATTLIST arg1 name CDATA #IMPLIED>
+<!ATTLIST arg1 key CDATA #IMPLIED>
+<!ATTLIST arg1 resource CDATA #IMPLIED>
+
+
+<!--
+
+ DEPRECATED Use <arg position="2"/> instead.
+
+ The "arg2" element defines the third replacement value to use with the
+ message template for this validator or this field.
+ The arg2 element accepts these attributes.
+
+ name The name of the validator corresponding to this msg.
+
+ key The key that will return the message template from a
+ resource bundle.
+
+ resource If set to "false", the key is taken to be a literal
+ value rather than a bundle key.
+ [true]
+-->
+<!ELEMENT arg2 EMPTY>
+<!ATTLIST arg2 name CDATA #IMPLIED>
+<!ATTLIST arg2 key CDATA #IMPLIED>
+<!ATTLIST arg2 resource CDATA #IMPLIED>
+
+
+<!--
+
+ DEPRECATED Use <arg position="3"/> instead.
+
+ The "arg3" element defines the fourth replacement value to use with the
+ message template for this validator or this field.
+ The arg0 element accepts these attributes.
+
+ name The name of the validator corresponding to this msg.
+
+ key The key that will return the message template from a
+ resource bundle.
+
+ resource If set to "false", the key is taken to be a literal
+ value rather than a bundle key.
+ [true]
+-->
+<!ELEMENT arg3 EMPTY>
+<!ATTLIST arg3 name CDATA #IMPLIED>
+<!ATTLIST arg3 key CDATA #IMPLIED>
+<!ATTLIST arg3 resource CDATA #IMPLIED>
+
+
+<!--
+ The "var" element can set parameters that a field may need to pass to
+ one of its validators, such as the minimum and maximum values in a
+ range validation. These parameters may also be referenced by one of the
+ arg? elements using a shell syntax: ${var:var-name}.
+-->
+<!ELEMENT var (var-name, var-value)>
+
+
+
+<!--
+ The name of the var parameter to provide to a field's validators.
+-->
+<!ELEMENT var-name (#PCDATA)>
+
+
+
+<!--
+ The value of the var parameter to provide to a field's validators.
+-->
+<!ELEMENT var-value (#PCDATA)>
+
+
+
Propchange: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/resources/validator_1_1.dtd
------------------------------------------------------------------------------
svn:eol-style = native
Modified: beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/declaration/AnnotationInstanceImpl.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/declaration/AnnotationInstanceImpl.java?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/declaration/AnnotationInstanceImpl.java (original)
+++ beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/declaration/AnnotationInstanceImpl.java Fri Sep 16 13:27:57 2005
@@ -31,6 +31,7 @@
import xjavadoc.XProgramElement;
import xjavadoc.XTag;
import xjavadoc.XMember;
+import xjavadoc.XType;
import java.util.ArrayList;
import java.util.HashMap;
@@ -129,6 +130,10 @@
public TypeDeclaration getContainingType()
{
+ if (_containingElement instanceof XType)
+ {
+ return WrapperFactory.get().getTypeDeclaration((XType) _containingElement);
+ }
assert _containingElement instanceof XMember : _containingElement.getClass().getName();
MemberDeclaration member = WrapperFactory.get().getMemberDeclaration( ( XMember ) _containingElement );
return CompilerUtils.getOuterClass( member );