1:--- struts-config_1_2.dtd 2006-09-28 13:02:03.583147300 -0700
2:+++ struts-config_1_3.dtd 2006-09-28 13:01:57.348532900 -0700
3:@@ -5,8 +5,8 @@
4: DOCTYPE element at the beginning (after the "xml" declaration):
5:
6: <!DOCTYPE struts-config PUBLIC
7:- "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
8:- "http://struts.apache.org/dtds/struts-config_1_2.dtd">
9:+ "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
10:+ "http://struts.apache.org/dtds/struts-config_1_3.dtd">
11:
12: $Id$
13: -->
14:@@ -82,53 +82,9 @@
15: hierarchy, and contains nested elements for all of the other
16: configuration settings.
17: -->
18:-<!ELEMENT struts-config (display-name?, description?, data-sources?, form-beans?, global-exceptions?, global-forwards?, action-mappings?, controller?, message-resources*, plug-in*)>
19:+<!ELEMENT struts-config (display-name?, description?, form-beans?, global-exceptions?, global-forwards?, action-mappings?, controller?, message-resources*, plug-in*)>
20: <!ATTLIST struts-config id ID #IMPLIED>
21:
22:-
23:-<!-- The "data-sources" element describes a set of DataSource objects [JDBC 2.0
24:- Standard Extension]. The individual DataSource objects are configured through
25:- nested <data-source> elements.
26:--->
27:-<!ELEMENT data-sources (data-source*)>
28:-<!ATTLIST data-sources id ID #IMPLIED>
29:-
30:-
31:-<!-- The "data-source" element describes a DataSource object [JDBC 2.0 Standard
32:- Extension] that will be instantiated, configured, and made available as a
33:- servlet context attribute (or "application-scope bean"). Any object can be
34:- specified so long as it implements [javax.sql.DataSource] and can be
35:- configured entirely from JavaBean properties. The following attributes
36:- are required:
37:-
38:- className The configuration bean for this DataSource object. If
39:- specified, the object must be a subclass of the default
40:- configuration bean.
41:- ["org.apache.struts.config.DataSourceConfig"]
42:-
43:- key Servlet context attribute key under which this data source
44:- will be stored. Default is the value specified by string
45:- constant defined by Globals.DATA_SOURCE_KEY. The application
46:- module prefix (if any) is appended to the key
47:- (${key}$prefix}).
48:- [org.apache.struts.Globals.DATA_SOURCE_KEY]
49:-
50:- NOTE: The application module prefix includes the leading
51:- slash, so the default datasource for a module named "foo" is
52:- stored under "org.apache.struts.action.DATA_SOURCE/foo".
53:-
54:- type Fully qualified Java class name for this data source object.
55:- The class must implement DataSource [javax.sql.DataSource],
56:- and the object must be configurable entirely from JavaBean
57:- properties.
58:--->
59:-<!ELEMENT data-source (set-property*)>
60:-<!ATTLIST data-source id ID #IMPLIED>
61:-<!ATTLIST data-source className %ClassName; #IMPLIED>
62:-<!ATTLIST data-source key %AttributeName; #IMPLIED>
63:-<!ATTLIST data-source type %ClassName; #REQUIRED>
64:-
65:-
66: <!-- The "form-beans" element describes the set of form bean descriptors for this
67: module. The following attributes are defined:
68:
69:@@ -160,19 +116,25 @@
70: configuration bean.
71: ["org.apache.struts.config.FormBeanConfig"]
72:
73:+ extends The name of the form bean that this bean will
74:+ inherit configuration information from.
75:+
76: name The unique identifier for this form bean. Referenced by the
77: <action> element to specify which form bean to use with its
78: request.
79:-
80:+
81: type Fully qualified Java class name of the ActionForm subclass
82: to use with this form bean.
83:+
84:+ enhanced Reserved for future use.
85: -->
86: <!ELEMENT form-bean (icon?, display-name?, description?, set-property*, form-property*)>
87: <!ATTLIST form-bean id ID #IMPLIED>
88: <!ATTLIST form-bean className %ClassName; #IMPLIED>
89:-<!ATTLIST form-bean dynamic %Boolean; #IMPLIED>
90:+<!ATTLIST form-bean enhanced %Boolean; #IMPLIED>
91:+<!ATTLIST form-bean extends %BeanName; #IMPLIED>
92: <!ATTLIST form-bean name %BeanName; #REQUIRED>
93:-<!ATTLIST form-bean type %ClassName; #REQUIRED>
94:+<!ATTLIST form-bean type %ClassName; #IMPLIED>
95:
96:
97: <!-- The "form-property" element describes a JavaBean property that can be used to
98:@@ -192,9 +154,18 @@
99: objects initialized to the zero-argument instantiation of that
100: object class. For example, Strings will be initialized to ""
101:
102:-
103: name The name of the JavaBean property described by this element.
104:
105:+ reset The flag that indicates when this property should be reset
106:+ to its "initial" value when the form's "reset()" method is
107:+ called. If this is set to "true", the property is always
108:+ reset when "reset()" is called. This can also be set to
109:+ one or more HTTP methods, such as GET or POST. In such a
110:+ case, the property will be reset only when the HTTP method
111:+ used for the request being processed is included in this
112:+ attribute's value(s). Multiple HTTP methods can be
113:+ specified by separating them with whitespace or commas.
114:+
115: size The number of array elements to create if the value of the
116: "type" attribute specifies an array, but there is no value
117: specified for the "initial" attribute.
118:@@ -207,6 +178,7 @@
119: <!ATTLIST form-property className %ClassName; #IMPLIED>
120: <!ATTLIST form-property initial CDATA #IMPLIED>
121: <!ATTLIST form-property name %PropName; #REQUIRED>
122:+<!ATTLIST form-property reset %Boolean; #IMPLIED>
123: <!ATTLIST form-property size %Integer; #IMPLIED>
124: <!ATTLIST form-property type %ClassName; #REQUIRED>
125:
126:@@ -235,6 +207,9 @@
127: configuration bean
128: ["org.apache.struts.config.ExceptionConfig"]
129:
130:+ extends The name of the exception handler that this
131:+ will inherit configuration information from.
132:+
133: handler Fully qualified Java class name for this exception handler.
134: ["org.apache.struts.action.ExceptionHandler"]
135:
136:@@ -246,8 +221,9 @@
137: the request/response if this exception occurs.
138:
139: scope The context ("request" or "session") that is used to access
140:- the ActionError object [org.apache.struts.action.ActionError]
141:- for this exception.
142:+ the ActionMessage object
143:+ [org.apache.struts.action.ActionMessage] for this
144:+ exception.
145:
146: type Fully qualified Java class name of the exception type to
147: register with this handler.
148:@@ -256,8 +232,9 @@
149: <!ATTLIST exception id ID #IMPLIED>
150: <!ATTLIST exception bundle %AttributeName; #IMPLIED>
151: <!ATTLIST exception className %ClassName; #IMPLIED>
152:+<!ATTLIST exception extends %ClassName; #IMPLIED>
153: <!ATTLIST exception handler %ClassName; #IMPLIED>
154:-<!ATTLIST exception key CDATA #REQUIRED>
155:+<!ATTLIST exception key CDATA #IMPLIED>
156: <!ATTLIST exception path %RequestPath; #IMPLIED>
157: <!ATTLIST exception scope CDATA #IMPLIED>
158: <!ATTLIST exception type %ClassName; #REQUIRED>
159:@@ -291,16 +268,19 @@
160: nested within an <action> element and only available to an Action object
161: when it is invoked through that ActionMapping.
162:
163:+ catalog The name of a commons-chain catalog in which to look up
164:+ a command to be executed as part of servicing this request.
165:+ Only meaningful if "command" is also specified.
166:+
167: className Fully qualified Java class name of ActionForward
168: subclass to use for this object.
169: ["org.apache.struts.action.ActionForward"]
170:
171:- contextRelative Set this to "true" if, in a modular application, the path
172:- attribute starts with a slash "/" and should be considered
173:- relative to the entire web application rather than the module.
174:- Since Struts 1.1.
175:- DEPRECATED.
176:- [false]
177:+ command The name of a commons-chain command which should be looked up
178:+ and executed as part of servicing this request.
179:+
180:+ extends The name of the forward configuration that this
181:+ will inherit configuration information from.
182:
183: module The module prefix to use with this path. This value should
184: begin with a slash ("/").
185:@@ -309,12 +289,9 @@
186: Action object at runtime to select - by its logical name -
187: the resource that should complete the request/response.
188:
189:- path The module-relative or context-relative path to the resources
190:- that is encapsulated by the logical name of this ActionForward.
191:- If the path is to be considered context-relative when used in
192:- a modular application, then the contextRelative attribute
193:- should be set to "true". This value should begin with a slash
194:- ("/") character.
195:+ path The module-relative path to the resources that is
196:+ encapsulated by the logical name of this ActionForward.
197:+ This value should begin with a slash ("/") character.
198:
199: redirect Set to "true" if a redirect instruction should be issued to
200: the user-agent so that a new request is issued for this
201:@@ -324,11 +301,13 @@
202: -->
203: <!ELEMENT forward (icon?, display-name?, description?, set-property*)>
204: <!ATTLIST forward id ID #IMPLIED>
205:+<!ATTLIST forward catalog CDATA #IMPLIED>
206: <!ATTLIST forward className %ClassName; #IMPLIED>
207:-<!ATTLIST forward contextRelative %Boolean; #IMPLIED>
208:+<!ATTLIST forward command CDATA #IMPLIED>
209:+<!ATTLIST forward extends CDATA #IMPLIED>
210: <!ATTLIST forward module %RequestPath; #IMPLIED>
211: <!ATTLIST forward name CDATA #REQUIRED>
212:-<!ATTLIST forward path %RequestPath; #REQUIRED>
213:+<!ATTLIST forward path %RequestPath; #IMPLIED>
214: <!ATTLIST forward redirect %Boolean; #IMPLIED>
215:
216:
217:@@ -361,6 +340,17 @@
218: the bean's specified "name". Optional if "name" is specified,
219: else not valid.
220:
221:+ cancellable Set to "true" if the Action can be cancelled. By default,
222:+ when an Action is cancelled, validation is bypassed
223:+ and the Action should not execute the business operation.
224:+ If a request tries to cancel an Action when cancellable
225:+ is not set, a "InvalidCancelException" is thrown.
226:+ [false]
227:+
228:+ catalog The name of a commons-chain catalog in which to look up
229:+ a command to be executed as part of servicing this request.
230:+ Only meaningful if "command" is also specified.
231:+
232: className The fully qualified Java class name of the ActionMapping
233: subclass to use for this action mapping object. Defaults to
234: the type specified by the enclosing <action-mappings>
235:@@ -368,6 +358,12 @@
236: not specified.
237: ["org.apache.struts.action.ActionMapping"]
238:
239:+ command The name of a commons-chain command which should be looked up
240:+ and executed as part of servicing this request.
241:+
242:+ extends The path of the action mapping configuration that this
243:+ will inherit configuration information from.
244:+
245: forward Module-relative path of the servlet or other resource that
246: will process this request, instead of the Action class
247: specified by "type". The path WILL NOT be processed
248:@@ -394,6 +390,10 @@
249: name Name of the form bean, if any, that is associated with this
250: action mapping.
251:
252:+ parameter General-purpose configuration parameter that can be used to
253:+ pass extra information to the Action object selected by
254:+ this action mapping.
255:+
256: path The module-relative path of the submitted request, starting
257: with a "/" character, and without the filename extension if
258: extension mapping is used.
259:@@ -402,10 +402,6 @@
260: because it will look like a filename extension and
261: cause your Action to not be located.
262:
263:- parameter General-purpose configuration parameter that can be used to
264:- pass extra information to the Action object selected by
265:- this action mapping.
266:-
267: prefix Prefix used to match request parameter names to ActionForm
268: property names, if any. Optional if "name" is specified,
269: else not allowed.
270:@@ -443,7 +439,11 @@
271: <!ELEMENT action (icon?, display-name?, description?, set-property*, exception*, forward*)>
272: <!ATTLIST action id ID #IMPLIED>
273: <!ATTLIST action attribute %BeanName; #IMPLIED>
274:+<!ATTLIST action cancellable %Boolean; #IMPLIED>
275:+<!ATTLIST action catalog CDATA #IMPLIED>
276: <!ATTLIST action className %ClassName; #IMPLIED>
277:+<!ATTLIST action command CDATA #IMPLIED>
278:+<!ATTLIST action extends %RequestPath; #IMPLIED>
279: <!ATTLIST action forward %RequestPath; #IMPLIED>
280: <!ATTLIST action include %RequestPath; #IMPLIED>
281: <!ATTLIST action input %RequestPath; #IMPLIED>
282:@@ -468,12 +468,19 @@
283: file uploads.
284: [4096]
285:
286:+ catalog Name of the catalog to use when processing requests
287:+ for this module.
288:+ [struts]
289:+
290: className Fully qualified Java class name of the
291: ControllerConfig subclass for this controller object.
292: If specified, the object must be a subclass of the
293: default class.
294: ["org.apache.struts.config.ControllerConfig"]
295:
296:+ command Name of the command to execute to process a request.
297:+ [servlet-standard]
298:+
299: contentType Default content type (and optional character encoding) to
300: be set on each response. May be overridden by the Action,
301: JSP, or other resource to which the request is forwarded.
302:@@ -545,16 +552,19 @@
303:
304: processorClass The fully qualified Java class name of the
305: RequestProcessor subclass to be used with this module.
306:- ["org.apache.struts.action.RequestProcessor"]
307:+ ["org.apache.struts.chain.ComposableRequestProcessor"]
308:
309: tempDir Temporary working directory to use when processing
310: file uploads.
311: [{Directory provided by servlet container}]
312:+
313: -->
314: <!ELEMENT controller (set-property*)>
315: <!ATTLIST controller id ID #IMPLIED>
316: <!ATTLIST controller bufferSize %Integer; #IMPLIED>
317:+<!ATTLIST controller catalog CDATA #IMPLIED>
318: <!ATTLIST controller className %ClassName; #IMPLIED>
319:+<!ATTLIST controller command CDATA #IMPLIED>
320: <!ATTLIST controller contentType CDATA #IMPLIED>
321: <!ATTLIST controller forwardPattern CDATA #IMPLIED>
322: <!ATTLIST controller inputForward %Boolean; #IMPLIED>
323:@@ -661,19 +671,32 @@
324: the surrounding element is instantiated, the accessor for the indicated
325: property is called and passed the indicated value. The "set-property"
326: element is especially useful when a custom subclass is used with
327:- <data-source>, <forward>, <action>, or <plug-in> elements. The subclass
328:+ <forward>, <action>, or <plug-in> elements. The subclass
329: can be passed whatever other properties may be required to configure the
330: object without changing how the struts-config is parsed.
331:
332:+ Since Struts 1.3, an alternate syntax is supported. By using
333:+ the "key" attribute instead of the "property" attribute, you can set
334:+ arbitrary string properties on the Config object which is populated
335:+ based on the containing element. NOTE: the "key" attribute is NOT
336:+ supported for <set-property> inside a <plug-in> element.
337:+
338: property Name of the JavaBeans property whose setter method
339:- will be called.
340:+ will be called. Exactly one of
341:+ "property" or "key" must be specified.
342:+
343:+ key Where supported, the key which will be used to store
344:+ the specified value in the given config object. Exactly one of
345:+ "property" or "key" must be specified.
346:
347: value String representation of the value to which this
348: property will be set, after suitable type conversion
349:+
350: -->
351: <!ELEMENT set-property EMPTY>
352: <!ATTLIST set-property id ID #IMPLIED>
353:-<!ATTLIST set-property property %PropName; #REQUIRED>
354:+<!ATTLIST set-property property %PropName; #IMPLIED>
355:+<!ATTLIST set-property key CDATA #IMPLIED>
356: <!ATTLIST set-property value CDATA #REQUIRED>
357:
358: