caterpillar 1.4.4 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/.gitignore +9 -0
  2. data/ChangeLog +27 -0
  3. data/MIT-LICENSE +0 -4
  4. data/README.rdoc +3 -3
  5. data/Rakefile +6 -22
  6. data/caterpillar.gemspec +28 -0
  7. data/generators/caterpillar/caterpillar_generator.rb +12 -4
  8. data/generators/caterpillar/templates/config/portlets.rb +10 -2
  9. data/generators/caterpillar/templates/stylesheets/portlet_test_bench/main.css +2 -2
  10. data/init.rb +20 -8
  11. data/lib/caterpillar.rb +33 -27
  12. data/lib/caterpillar/config.rb +3 -1
  13. data/lib/caterpillar/helpers/liferay.rb +129 -132
  14. data/lib/caterpillar/helpers/portlet.rb +41 -0
  15. data/lib/caterpillar/liferay.rb +2 -3
  16. data/lib/caterpillar/navigation.rb +2 -4
  17. data/lib/caterpillar/parser.rb +1 -5
  18. data/lib/caterpillar/portlet.rb +20 -19
  19. data/lib/caterpillar/portlet_support.rb +9 -22
  20. data/lib/caterpillar/security.rb +20 -42
  21. data/lib/caterpillar/task.rb +17 -36
  22. data/lib/caterpillar/usage.rb +14 -10
  23. data/lib/caterpillar/util.rb +1 -1
  24. data/lib/java/rails-portlet-0.12.0.jar +0 -0
  25. data/lib/rails_gem_chooser.rb +14 -7
  26. data/lib/web/portlet.rb +1 -1
  27. data/portlet_test_bench/controllers/caterpillar/application.rb +0 -5
  28. data/portlet_test_bench/controllers/caterpillar/junit_controller.rb +30 -9
  29. data/portlet_test_bench/controllers/caterpillar/liferay_controller.rb +13 -3
  30. data/portlet_test_bench/controllers/caterpillar/session_controller.rb +3 -0
  31. data/portlet_test_bench/controllers/caterpillar/xhr_controller.rb +12 -1
  32. data/portlet_test_bench/views/caterpillar/application/_back_to_menu.html.erb +1 -1
  33. data/portlet_test_bench/views/caterpillar/application/index.html.erb +8 -1
  34. data/portlet_test_bench/views/caterpillar/application/portlet_test_bench.html.erb +26 -8
  35. data/portlet_test_bench/views/caterpillar/css/background.html.erb +4 -1
  36. data/portlet_test_bench/views/caterpillar/css/simple.html.erb +13 -9
  37. data/portlet_test_bench/views/caterpillar/liferay/session_variables.html.erb +3 -12
  38. data/portlet_test_bench/views/caterpillar/session/cookies.html.erb +5 -0
  39. data/portlet_test_bench/views/caterpillar/session/namespace.html.erb +14 -0
  40. data/portlet_test_bench/views/caterpillar/xhr/resource.html.erb +15 -0
  41. data/portlet_test_bench/views/caterpillar/xhr/time.html.erb +7 -6
  42. data/spec/app1/config/routes.rb +3 -0
  43. data/spec/app2/config/routes.rb +7 -0
  44. data/spec/app3/config/routes.rb +5 -0
  45. data/spec/caterpillar/helper_spec.rb +69 -0
  46. data/spec/caterpillar/task_spec.rb +192 -0
  47. data/spec/spec.opts +5 -0
  48. data/spec/spec_helper.rb +44 -0
  49. data/test/README +4 -0
  50. data/test/dtd/liferay-display_5_1_0.dtd +44 -44
  51. data/test/dtd/liferay-display_5_2_0.dtd +44 -44
  52. data/test/dtd/liferay-display_6_0_0.dtd +44 -44
  53. data/test/dtd/liferay-portlet-app_5_1_0.dtd +582 -582
  54. data/test/dtd/liferay-portlet-app_5_2_0.dtd +642 -642
  55. data/test/dtd/liferay-portlet-app_6_0_0.dtd +730 -730
  56. data/test/dtd/portlet-app_2_0.xsd +830 -830
  57. data/test/liferay_helpers_test.rb +94 -7
  58. data/test/portlet_support_test.rb +0 -18
  59. data/test/portlets_test.rb +6 -11
  60. data/test/xml_test.rb +4 -14
  61. metadata +53 -31
  62. data/lib/java/rails-portlet-0.10.1.jar +0 -0
@@ -1,830 +1,830 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:portlet="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" xml:lang="en">
3
- <annotation>
4
- <documentation>
5
- This is the XML Schema for the Portlet 2.0 deployment descriptor.
6
- </documentation>
7
- </annotation>
8
- <annotation>
9
- <documentation>
10
- The following conventions apply to all J2EE
11
- deployment descriptor elements unless indicated otherwise.
12
- - In elements that specify a pathname to a file within the
13
- same JAR file, relative filenames (i.e., those not
14
- starting with "/") are considered relative to the root of
15
- the JAR file's namespace. Absolute filenames (i.e., those
16
- starting with "/") also specify names in the root of the
17
- JAR file's namespace. In general, relative names are
18
- preferred. The exception is .war files where absolute
19
- names are preferred for consistency with the Servlet API.
20
- </documentation>
21
- </annotation>
22
- <!-- *********************************************************** -->
23
- <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
24
- <element name="portlet-app" type="portlet:portlet-appType">
25
- <annotation>
26
- <documentation>
27
- The portlet-app element is the root of the deployment descriptor
28
- for a portlet application. This element has a required attribute version
29
- to specify to which version of the schema the deployment descriptor
30
- conforms. In order to be a valid JSR 286 portlet application the version
31
- must have the value "2.0".
32
- </documentation>
33
- </annotation>
34
- <unique name="portlet-name-uniqueness">
35
- <annotation>
36
- <documentation>
37
- The portlet element contains the name of a portlet.
38
- This name must be unique within the portlet application.
39
- </documentation>
40
- </annotation>
41
- <selector xpath="portlet:portlet"/>
42
- <field xpath="portlet:portlet-name"/>
43
- </unique>
44
- <unique name="custom-portlet-mode-uniqueness">
45
- <annotation>
46
- <documentation>
47
- The custom-portlet-mode element contains the portlet-mode.
48
- This portlet mode must be unique within the portlet application.
49
- </documentation>
50
- </annotation>
51
- <selector xpath="portlet:custom-portlet-mode"/>
52
- <field xpath="portlet:portlet-mode"/>
53
- </unique>
54
- <unique name="custom-window-state-uniqueness">
55
- <annotation>
56
- <documentation>
57
- The custom-window-state element contains the window-state.
58
- This window state must be unique within the portlet application.
59
- </documentation>
60
- </annotation>
61
- <selector xpath="portlet:custom-window-state"/>
62
- <field xpath="portlet:window-state"/>
63
- </unique>
64
- <unique name="user-attribute-name-uniqueness">
65
- <annotation>
66
- <documentation>
67
- The user-attribute element contains the name the attribute.
68
- This name must be unique within the portlet application.
69
- </documentation>
70
- </annotation>
71
- <selector xpath="portlet:user-attribute"/>
72
- <field xpath="portlet:name"/>
73
- </unique>
74
- <unique name="filter-name-uniqueness">
75
- <annotation>
76
- <documentation>
77
- The filter element contains the name of a filter.
78
- The name must be unique within the portlet application.
79
- </documentation>
80
- </annotation>
81
- <selector xpath="portlet:filter"/>
82
- <field xpath="portlet:filter-name"/>
83
- </unique>
84
- </element>
85
- <complexType name="portlet-appType">
86
- <sequence>
87
- <element name="portlet" type="portlet:portletType" minOccurs="0" maxOccurs="unbounded">
88
- <unique name="init-param-name-uniqueness">
89
- <annotation>
90
- <documentation>
91
- The init-param element contains the name the attribute.
92
- This name must be unique within the portlet.
93
- </documentation>
94
- </annotation>
95
- <selector xpath="portlet:init-param"/>
96
- <field xpath="portlet:name"/>
97
- </unique>
98
- <unique name="supports-mime-type-uniqueness">
99
- <annotation>
100
- <documentation>
101
- The supports element contains the supported mime-type.
102
- This mime type must be unique within the portlet.
103
- </documentation>
104
- </annotation>
105
- <selector xpath="portlet:supports"/>
106
- <field xpath="mime-type"/>
107
- </unique>
108
- <unique name="preference-name-uniqueness">
109
- <annotation>
110
- <documentation>
111
- The preference element contains the name the preference.
112
- This name must be unique within the portlet.
113
- </documentation>
114
- </annotation>
115
- <selector xpath="portlet:portlet-preferences/portlet:preference"/>
116
- <field xpath="portlet:name"/>
117
- </unique>
118
- <unique name="security-role-ref-name-uniqueness">
119
- <annotation>
120
- <documentation>
121
- The security-role-ref element contains the role-name.
122
- This role name must be unique within the portlet.
123
- </documentation>
124
- </annotation>
125
- <selector xpath="portlet:security-role-ref"/>
126
- <field xpath="portlet:role-name"/>
127
- </unique>
128
- </element>
129
- <element name="custom-portlet-mode" type="portlet:custom-portlet-modeType" minOccurs="0" maxOccurs="unbounded"/>
130
- <element name="custom-window-state" type="portlet:custom-window-stateType" minOccurs="0" maxOccurs="unbounded"/>
131
- <element name="user-attribute" type="portlet:user-attributeType" minOccurs="0" maxOccurs="unbounded"/>
132
- <element name="security-constraint" type="portlet:security-constraintType" minOccurs="0" maxOccurs="unbounded"/>
133
- <element name="resource-bundle" type="portlet:resource-bundleType" minOccurs="0"/>
134
- <element name="filter" type="portlet:filterType" minOccurs="0" maxOccurs="unbounded"/>
135
- <element name="filter-mapping" type="portlet:filter-mappingType" minOccurs="0" maxOccurs="unbounded"/>
136
- <element name="default-namespace" type="xs:anyURI" minOccurs="0"/>
137
- <element name="event-definition" type="portlet:event-definitionType" minOccurs="0" maxOccurs="unbounded"/>
138
- <element name="public-render-parameter" type="portlet:public-render-parameterType" minOccurs="0" maxOccurs="unbounded"/>
139
- <element name="listener" type="portlet:listenerType" minOccurs="0" maxOccurs="unbounded"/>
140
- <element name="container-runtime-option" type="portlet:container-runtime-optionType" minOccurs="0" maxOccurs="unbounded"/>
141
- </sequence>
142
- <attribute name="version" type="portlet:string" use="required"/>
143
- <attribute name="id" type="portlet:string" use="optional"/>
144
- </complexType>
145
- <complexType name="cache-scopeType">
146
- <annotation>
147
- <documentation>
148
- Caching scope, allowed values are "private" indicating that the content should not be shared
149
- across users and "public" indicating that the content may be shared across users.
150
- The default value if not present is "private".
151
- Used in: portlet
152
- </documentation>
153
- </annotation>
154
- <simpleContent>
155
- <extension base="portlet:string"/>
156
- </simpleContent>
157
- </complexType>
158
- <complexType name="custom-portlet-modeType">
159
- <annotation>
160
- <documentation>
161
- A custom portlet mode that one or more portlets in
162
- this portlet application supports.
163
- If the portal does not need to provide some management functionality
164
- for this portlet mode, the portal-managed element needs to be set
165
- to "false", otherwise to "true". Default is "true".
166
- Used in: portlet-app
167
- </documentation>
168
- </annotation>
169
- <sequence>
170
- <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
171
- <element name="portlet-mode" type="portlet:portlet-modeType"/>
172
- <element name="portal-managed" type="portlet:portal-managedType" minOccurs="0"/>
173
- </sequence>
174
- <attribute name="id" type="portlet:string" use="optional"/>
175
- </complexType>
176
- <complexType name="custom-window-stateType">
177
- <annotation>
178
- <documentation>
179
- A custom window state that one or more portlets in this
180
- portlet application supports.
181
- Used in: portlet-app
182
- </documentation>
183
- </annotation>
184
- <sequence>
185
- <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
186
- <element name="window-state" type="portlet:window-stateType"/>
187
- </sequence>
188
- <attribute name="id" type="portlet:string" use="optional"/>
189
- </complexType>
190
- <complexType name="expiration-cacheType">
191
- <annotation>
192
- <documentation>
193
- Expiration-time defines the time in seconds after which the portlet output expires.
194
- -1 indicates that the output never expires.
195
- Used in: portlet
196
- </documentation>
197
- </annotation>
198
- <simpleContent>
199
- <extension base="int"/>
200
- </simpleContent>
201
- </complexType>
202
- <complexType name="init-paramType">
203
- <annotation>
204
- <documentation>
205
- The init-param element contains a name/value pair as an
206
- initialization param of the portlet
207
- Used in:portlet
208
- </documentation>
209
- </annotation>
210
- <sequence>
211
- <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
212
- <element name="name" type="portlet:nameType"/>
213
- <element name="value" type="portlet:valueType"/>
214
- </sequence>
215
- <attribute name="id" type="portlet:string" use="optional"/>
216
- </complexType>
217
- <complexType name="keywordsType">
218
- <annotation>
219
- <documentation>
220
- Locale specific keywords associated with this portlet.
221
- The kewords are separated by commas.
222
- Used in: portlet-info
223
- </documentation>
224
- </annotation>
225
- <simpleContent>
226
- <extension base="portlet:string"/>
227
- </simpleContent>
228
- </complexType>
229
- <complexType name="mime-typeType">
230
- <annotation>
231
- <documentation>
232
- MIME type name, e.g. "text/html".
233
- The MIME type may also contain the wildcard
234
- character '*', like "text/*" or "*/*".
235
- Used in: supports
236
- </documentation>
237
- </annotation>
238
- <simpleContent>
239
- <extension base="portlet:string"/>
240
- </simpleContent>
241
- </complexType>
242
- <complexType name="nameType">
243
- <annotation>
244
- <documentation>
245
- The name element contains the name of a parameter.
246
- Used in: init-param, ...
247
- </documentation>
248
- </annotation>
249
- <simpleContent>
250
- <extension base="portlet:string"/>
251
- </simpleContent>
252
- </complexType>
253
- <complexType name="portletType">
254
- <annotation>
255
- <documentation>
256
- The portlet element contains the declarative data of a portlet.
257
- Used in: portlet-app
258
- </documentation>
259
- </annotation>
260
- <sequence>
261
- <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
262
- <element name="portlet-name" type="portlet:portlet-nameType"/>
263
- <element name="display-name" type="portlet:display-nameType" minOccurs="0" maxOccurs="unbounded"/>
264
- <element name="portlet-class" type="portlet:portlet-classType"/>
265
- <element name="init-param" type="portlet:init-paramType" minOccurs="0" maxOccurs="unbounded"/>
266
- <element name="expiration-cache" type="portlet:expiration-cacheType" minOccurs="0"/>
267
- <element name="cache-scope" type="portlet:cache-scopeType" minOccurs="0"/>
268
- <element name="supports" type="portlet:supportsType" maxOccurs="unbounded"/>
269
- <element name="supported-locale" type="portlet:supported-localeType" minOccurs="0" maxOccurs="unbounded"/>
270
- <element name="resource-bundle" type="portlet:resource-bundleType" minOccurs="0"/>
271
- <element name="portlet-info" type="portlet:portlet-infoType" minOccurs="0"/>
272
- <element name="portlet-preferences" type="portlet:portlet-preferencesType" minOccurs="0"/>
273
- <element name="security-role-ref" type="portlet:security-role-refType" minOccurs="0" maxOccurs="unbounded"/>
274
- <element name="supported-processing-event" type="portlet:event-definition-referenceType" minOccurs="0" maxOccurs="unbounded"/>
275
- <element name="supported-publishing-event" type="portlet:event-definition-referenceType" minOccurs="0" maxOccurs="unbounded"/>
276
- <element name="supported-public-render-parameter" type="portlet:string" minOccurs="0" maxOccurs="unbounded"/>
277
- <element name="container-runtime-option" type="portlet:container-runtime-optionType" minOccurs="0" maxOccurs="unbounded"/>
278
- </sequence>
279
- <attribute name="id" type="portlet:string" use="optional"/>
280
- </complexType>
281
- <simpleType name="portlet-classType">
282
- <annotation>
283
- <documentation>
284
- The portlet-class element contains the fully
285
- qualified class name of the portlet.
286
- Used in: portlet
287
- </documentation>
288
- </annotation>
289
- <restriction base="portlet:fully-qualified-classType"/>
290
- </simpleType>
291
- <complexType name="container-runtime-optionType">
292
- <annotation>
293
- <documentation>
294
- The container-runtime-option element contains settings
295
- for the portlet container that the portlet expects to be honored
296
- at runtime. These settings may re-define default portlet container
297
- behavior, like the javax.portlet.escapeXml setting that disables
298
- XML encoding of URLs produced by the portlet tag library as
299
- default.
300
- Names with the javax.portlet prefix are reserved for the Java
301
- Portlet Specification.
302
- Used in: portlet-app, portlet
303
- </documentation>
304
- </annotation>
305
- <sequence>
306
- <element name="name" type="portlet:nameType"/>
307
- <element name="value" type="portlet:valueType" minOccurs="0" maxOccurs="unbounded"/>
308
- </sequence>
309
- </complexType>
310
- <complexType name="filter-mappingType">
311
- <annotation>
312
- <documentation>
313
- Declaration of the filter mappings in this portlet
314
- application is done by using filter-mappingType.
315
- The container uses the filter-mapping
316
- declarations to decide which filters to apply to a request,
317
- and in what order. To determine which filters to
318
- apply it matches filter-mapping declarations on the
319
- portlet-name and the lifecyle phase defined in the
320
- filter element. The order in which filters are invoked
321
- is the order in which filter-mapping declarations
322
- that match appear in the list of filter-mapping elements.
323
- Used in: portlet-app
324
- </documentation>
325
- </annotation>
326
- <sequence>
327
- <element name="filter-name" type="portlet:filter-nameType"/>
328
- <element name="portlet-name" type="portlet:portlet-nameType" maxOccurs="unbounded"/>
329
- </sequence>
330
- </complexType>
331
- <complexType name="filterType">
332
- <annotation>
333
- <documentation>
334
- The filter element specifies a filter that can transform the
335
- content of portlet requests and portlet responses.
336
- Filters can access the initialization parameters declared in
337
- the deployment descriptor at runtime via the FilterConfig
338
- interface.
339
- A filter can be restricted to one or more lifecycle phases
340
- of the portlet. Valid entries for lifecycle are:
341
- ACTION_PHASE, EVENT_PHASE, RENDER_PHASE,
342
- RESOURCE_PHASE
343
- Used in: portlet-app
344
- </documentation>
345
- </annotation>
346
- <sequence>
347
- <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
348
- <element name="display-name" type="portlet:display-nameType" minOccurs="0" maxOccurs="unbounded"/>
349
- <element name="filter-name" type="portlet:filter-nameType"/>
350
- <element name="filter-class" type="portlet:fully-qualified-classType"/>
351
- <element name="lifecycle" type="portlet:string" maxOccurs="unbounded"/>
352
- <element name="init-param" type="portlet:init-paramType" minOccurs="0" maxOccurs="unbounded"/>
353
- </sequence>
354
- </complexType>
355
- <complexType name="portlet-collectionType">
356
- <annotation>
357
- <documentation>
358
- The portlet-collectionType is used to identify a subset
359
- of portlets within a portlet application to which a
360
- security constraint applies.
361
- Used in: security-constraint
362
- </documentation>
363
- </annotation>
364
- <sequence>
365
- <element name="portlet-name" type="portlet:portlet-nameType" maxOccurs="unbounded"/>
366
- </sequence>
367
- </complexType>
368
- <complexType name="event-definitionType">
369
- <annotation>
370
- <documentation>
371
- The event-definitionType is used to declare events the portlet can either
372
- receive or emit.
373
- The name must be unique and must be the one the
374
- portlet is using in its code for referencing this event.
375
- Used in: portlet-app
376
- </documentation>
377
- </annotation>
378
- <sequence>
379
- <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
380
- <choice>
381
- <element name="qname" type="xs:QName"/>
382
- <element name="name" type="xs:NCName"/>
383
- </choice>
384
- <element name="alias" type="xs:QName" minOccurs="0" maxOccurs="unbounded"/>
385
- <element name="value-type" type="portlet:fully-qualified-classType" minOccurs="0"/>
386
- </sequence>
387
- <attribute name="id" type="portlet:string" use="optional"/>
388
- </complexType>
389
- <complexType name="event-definition-referenceType">
390
- <annotation>
391
- <documentation>
392
- The event-definition-referenceType is used to reference events
393
- declared with the event-definition element at application level.
394
- Used in: portlet
395
- </documentation>
396
- </annotation>
397
- <choice>
398
- <element name="qname" type="xs:QName"/>
399
- <element name="name" type="xs:NCName"/>
400
- </choice>
401
- <attribute name="id" type="portlet:string" use="optional"/>
402
- </complexType>
403
- <complexType name="listenerType">
404
- <annotation>
405
- <documentation>
406
- The listenerType is used to declare listeners for this portlet application.
407
- Used in: portlet-app
408
- </documentation>
409
- </annotation>
410
- <sequence>
411
- <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
412
- <element name="display-name" type="portlet:display-nameType" minOccurs="0" maxOccurs="unbounded"/>
413
- <element name="listener-class" type="portlet:fully-qualified-classType"/>
414
- </sequence>
415
- <attribute name="id" type="portlet:string" use="optional"/>
416
- </complexType>
417
- <complexType name="portlet-infoType">
418
- <sequence>
419
- <element name="title" type="portlet:titleType" minOccurs="0"/>
420
- <element name="short-title" type="portlet:short-titleType" minOccurs="0"/>
421
- <element name="keywords" type="portlet:keywordsType" minOccurs="0"/>
422
- </sequence>
423
- <attribute name="id" type="portlet:string" use="optional"/>
424
- </complexType>
425
- <simpleType name="portal-managedType">
426
- <annotation>
427
- <documentation>
428
- portal-managed indicates if a custom portlet mode
429
- needs to be managed by the portal or not.
430
- Per default all custom portlet modes are portal managed.
431
- Valid values are:
432
- - true for portal-managed
433
- - false for not portal managed
434
- Used in: custom-portlet-modes
435
- </documentation>
436
- </annotation>
437
- <restriction base="portlet:string">
438
- <enumeration value="true"/>
439
- <enumeration value="false"/>
440
- </restriction>
441
- </simpleType>
442
- <complexType name="portlet-modeType">
443
- <annotation>
444
- <documentation>
445
- Portlet modes. The specification pre-defines the following values
446
- as valid portlet mode constants:
447
- "edit", "help", "view".
448
- Portlet mode names are not case sensitive.
449
- Used in: custom-portlet-mode, supports
450
- </documentation>
451
- </annotation>
452
- <simpleContent>
453
- <extension base="portlet:string"/>
454
- </simpleContent>
455
- </complexType>
456
- <complexType name="portlet-nameType">
457
- <annotation>
458
- <documentation>
459
- The portlet-name element contains the canonical name of the
460
- portlet. Each portlet name is unique within the portlet
461
- application.
462
- Used in: portlet, filter-mapping
463
- </documentation>
464
- </annotation>
465
- <simpleContent>
466
- <extension base="portlet:string"/>
467
- </simpleContent>
468
- </complexType>
469
- <complexType name="portlet-preferencesType">
470
- <annotation>
471
- <documentation>
472
- Portlet persistent preference store.
473
- Used in: portlet
474
- </documentation>
475
- </annotation>
476
- <sequence>
477
- <element name="preference" type="portlet:preferenceType" minOccurs="0" maxOccurs="unbounded"/>
478
- <element name="preferences-validator" type="portlet:preferences-validatorType" minOccurs="0"/>
479
- </sequence>
480
- <attribute name="id" type="portlet:string" use="optional"/>
481
- </complexType>
482
- <complexType name="preferenceType">
483
- <annotation>
484
- <documentation>
485
- Persistent preference values that may be used for customization
486
- and personalization by the portlet.
487
- Used in: portlet-preferences
488
- </documentation>
489
- </annotation>
490
- <sequence>
491
- <element name="name" type="portlet:nameType"/>
492
- <element name="value" type="portlet:valueType" minOccurs="0" maxOccurs="unbounded"/>
493
- <element name="read-only" type="portlet:read-onlyType" minOccurs="0"/>
494
- </sequence>
495
- <attribute name="id" type="portlet:string" use="optional"/>
496
- </complexType>
497
- <simpleType name="preferences-validatorType">
498
- <annotation>
499
- <documentation>
500
- The class specified under preferences-validator implements
501
- the PreferencesValidator interface to validate the
502
- preferences settings.
503
- Used in: portlet-preferences
504
- </documentation>
505
- </annotation>
506
- <restriction base="portlet:fully-qualified-classType"/>
507
- </simpleType>
508
- <simpleType name="read-onlyType">
509
- <annotation>
510
- <documentation>
511
- read-only indicates that a setting cannot
512
- be changed in any of the standard portlet modes
513
- ("view","edit" or "help").
514
- Per default all preferences are modifiable.
515
- Valid values are:
516
- - true for read-only
517
- - false for modifiable
518
- Used in: preferences
519
- </documentation>
520
- </annotation>
521
- <restriction base="portlet:string">
522
- <enumeration value="true"/>
523
- <enumeration value="false"/>
524
- </restriction>
525
- </simpleType>
526
- <complexType name="resource-bundleType">
527
- <annotation>
528
- <documentation>
529
- Name of the resource bundle containing the language specific
530
- portlet informations in different languages (Filename without
531
- the language specific part (e.g. _en) and the ending (.properties).
532
- Used in: portlet-info
533
- </documentation>
534
- </annotation>
535
- <simpleContent>
536
- <extension base="portlet:string"/>
537
- </simpleContent>
538
- </complexType>
539
- <complexType name="role-linkType">
540
- <annotation>
541
- <documentation>
542
- The role-link element is a reference to a defined security role.
543
- The role-link element must contain the name of one of the
544
- security roles defined in the security-role elements.
545
- Used in: security-role-ref
546
- </documentation>
547
- </annotation>
548
- <simpleContent>
549
- <extension base="portlet:string"/>
550
- </simpleContent>
551
- </complexType>
552
- <complexType name="security-constraintType">
553
- <annotation>
554
- <documentation>
555
- The security-constraintType is used to associate
556
- intended security constraints with one or more portlets.
557
- Used in: portlet-app
558
- </documentation>
559
- </annotation>
560
- <sequence>
561
- <element name="display-name" type="portlet:display-nameType" minOccurs="0" maxOccurs="unbounded"/>
562
- <element name="portlet-collection" type="portlet:portlet-collectionType"/>
563
- <element name="user-data-constraint" type="portlet:user-data-constraintType"/>
564
- </sequence>
565
- <attribute name="id" type="portlet:string" use="optional"/>
566
- </complexType>
567
- <complexType name="security-role-refType">
568
- <annotation>
569
- <documentation>
570
- The security-role-ref element contains the declaration of a
571
- security role reference in the code of the web application. The
572
- declaration consists of an optional description, the security
573
- role name used in the code, and an optional link to a security
574
- role. If the security role is not specified, the Deployer must
575
- choose an appropriate security role.
576
- The value of the role name element must be the String used
577
- as the parameter to the
578
- EJBContext.isCallerInRole(String roleName) method
579
- or the HttpServletRequest.isUserInRole(String role) method.
580
- Used in: portlet
581
- </documentation>
582
- </annotation>
583
- <sequence>
584
- <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
585
- <element name="role-name" type="portlet:role-nameType"/>
586
- <element name="role-link" type="portlet:role-linkType" minOccurs="0"/>
587
- </sequence>
588
- <attribute name="id" type="portlet:string" use="optional"/>
589
- </complexType>
590
- <complexType name="public-render-parameterType">
591
- <annotation>
592
- <documentation>
593
- The public-render-parameters defines a render parameter that is allowed to be public
594
- and thus be shared with other portlets.
595
- The identifier must be used for referencing this public render parameter in the portlet code.
596
- Used in: portlet-app
597
- </documentation>
598
- </annotation>
599
- <sequence>
600
- <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
601
- <element name="identifier" type="portlet:string"/>
602
- <choice>
603
- <element name="qname" type="xs:QName"/>
604
- <element name="name" type="xs:NCName"/>
605
- </choice>
606
- <element name="alias" type="xs:QName" minOccurs="0" maxOccurs="unbounded"/>
607
- </sequence>
608
- <attribute name="id" type="portlet:string" use="optional"/>
609
- </complexType>
610
- <complexType name="short-titleType">
611
- <annotation>
612
- <documentation>
613
- Locale specific short version of the static title.
614
- Used in: portlet-info
615
- </documentation>
616
- </annotation>
617
- <simpleContent>
618
- <extension base="portlet:string"/>
619
- </simpleContent>
620
- </complexType>
621
- <complexType name="supportsType">
622
- <annotation>
623
- <documentation>
624
- Supports indicates the portlet modes a
625
- portlet supports for a specific content type. All portlets must
626
- support the view mode.
627
- Used in: portlet
628
- </documentation>
629
- </annotation>
630
- <sequence>
631
- <element name="mime-type" type="portlet:mime-typeType"/>
632
- <element name="portlet-mode" type="portlet:portlet-modeType" minOccurs="0" maxOccurs="unbounded"/>
633
- <element name="window-state" type="portlet:window-stateType" minOccurs="0" maxOccurs="unbounded"/>
634
- </sequence>
635
- <attribute name="id" type="portlet:string" use="optional"/>
636
- </complexType>
637
- <complexType name="supported-localeType">
638
- <annotation>
639
- <documentation>
640
- Indicated the locales the portlet supports.
641
- Used in: portlet
642
- </documentation>
643
- </annotation>
644
- <simpleContent>
645
- <extension base="portlet:string"/>
646
- </simpleContent>
647
- </complexType>
648
- <complexType name="titleType">
649
- <annotation>
650
- <documentation>
651
- Locale specific static title for this portlet.
652
- Used in: portlet-info
653
- </documentation>
654
- </annotation>
655
- <simpleContent>
656
- <extension base="portlet:string"/>
657
- </simpleContent>
658
- </complexType>
659
- <simpleType name="transport-guaranteeType">
660
- <annotation>
661
- <documentation>
662
- The transport-guaranteeType specifies that
663
- the communication between client and portlet should
664
- be NONE, INTEGRAL, or CONFIDENTIAL.
665
- NONE means that the portlet does not
666
- require any transport guarantees. A value of
667
- INTEGRAL means that the portlet requires that the
668
- data sent between the client and portlet be sent in
669
- such a way that it can't be changed in transit.
670
- CONFIDENTIAL means that the portlet requires
671
- that the data be transmitted in a fashion that
672
- prevents other entities from observing the contents
673
- of the transmission.
674
- In most cases, the presence of the INTEGRAL or
675
- CONFIDENTIAL flag will indicate that the use
676
- of SSL is required.
677
- Used in: user-data-constraint
678
- </documentation>
679
- </annotation>
680
- <restriction base="portlet:string">
681
- <enumeration value="NONE"/>
682
- <enumeration value="INTEGRAL"/>
683
- <enumeration value="CONFIDENTIAL"/>
684
- </restriction>
685
- </simpleType>
686
- <complexType name="user-attributeType">
687
- <annotation>
688
- <documentation>
689
- User attribute defines a user specific attribute that the
690
- portlet application needs. The portlet within this application
691
- can access this attribute via the request parameter USER_INFO
692
- map.
693
- Used in: portlet-app
694
- </documentation>
695
- </annotation>
696
- <sequence>
697
- <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
698
- <element name="name" type="portlet:nameType"/>
699
- </sequence>
700
- <attribute name="id" type="portlet:string" use="optional"/>
701
- </complexType>
702
- <complexType name="user-data-constraintType">
703
- <annotation>
704
- <documentation>
705
- The user-data-constraintType is used to indicate how
706
- data communicated between the client and portlet should be
707
- protected.
708
- Used in: security-constraint
709
- </documentation>
710
- </annotation>
711
- <sequence>
712
- <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
713
- <element name="transport-guarantee" type="portlet:transport-guaranteeType"/>
714
- </sequence>
715
- <attribute name="id" type="portlet:string" use="optional"/>
716
- </complexType>
717
- <complexType name="valueType">
718
- <annotation>
719
- <documentation>
720
- The value element contains the value of a parameter.
721
- Used in: init-param
722
- </documentation>
723
- </annotation>
724
- <simpleContent>
725
- <extension base="portlet:string"/>
726
- </simpleContent>
727
- </complexType>
728
- <complexType name="window-stateType">
729
- <annotation>
730
- <documentation>
731
- Portlet window state. Window state names are not case sensitive.
732
- Used in: custom-window-state
733
- </documentation>
734
- </annotation>
735
- <simpleContent>
736
- <extension base="portlet:string"/>
737
- </simpleContent>
738
- </complexType>
739
- <!--- everything below is copied from j2ee_1_4.xsd -->
740
- <complexType name="descriptionType">
741
- <annotation>
742
- <documentation>
743
- The description element is used to provide text describing the
744
- parent element. The description element should include any
745
- information that the portlet application war file producer wants
746
- to provide to the consumer of the portlet application war file
747
- (i.e., to the Deployer). Typically, the tools used by the
748
- portlet application war file consumer will display the
749
- description when processing the parent element that contains the
750
- description. It has an optional attribute xml:lang to indicate
751
- which language is used in the description according to
752
- RFC 1766 (http://www.ietf.org/rfc/rfc1766.txt). The default
753
- value of this attribute is English(“en”).
754
- Used in: init-param, portlet, portlet-app, security-role
755
- </documentation>
756
- </annotation>
757
- <simpleContent>
758
- <extension base="portlet:string">
759
- <attribute ref="xml:lang"/>
760
- </extension>
761
- </simpleContent>
762
- </complexType>
763
- <complexType name="display-nameType">
764
- <annotation>
765
- <documentation>
766
- The display-name type contains a short name that is intended
767
- to be displayed by tools. It is used by display-name
768
- elements. The display name need not be unique.
769
- Example:
770
- ...
771
- <display-name xml:lang="en">Employee Self Service</display-name>
772
-
773
- It has an optional attribute xml:lang to indicate
774
- which language is used in the description according to
775
- RFC 1766 (http://www.ietf.org/rfc/rfc1766.txt). The default
776
- value of this attribute is English(“en”).
777
- </documentation>
778
- </annotation>
779
- <simpleContent>
780
- <extension base="portlet:string">
781
- <attribute ref="xml:lang"/>
782
- </extension>
783
- </simpleContent>
784
- </complexType>
785
- <simpleType name="fully-qualified-classType">
786
- <annotation>
787
- <documentation>
788
- The elements that use this type designate the name of a
789
- Java class or interface.
790
- </documentation>
791
- </annotation>
792
- <restriction base="portlet:string"/>
793
- </simpleType>
794
- <simpleType name="role-nameType">
795
- <annotation>
796
- <documentation>
797
- The role-nameType designates the name of a security role.
798
-
799
- The name must conform to the lexical rules for an NMTOKEN.
800
- </documentation>
801
- </annotation>
802
- <restriction base="NMTOKEN"/>
803
- </simpleType>
804
- <simpleType name="string">
805
- <annotation>
806
- <documentation>
807
- This is a special string datatype that is defined by JavaEE
808
- as a base type for defining collapsed strings. When
809
- schemas require trailing/leading space elimination as
810
- well as collapsing the existing whitespace, this base
811
- type may be used.
812
- </documentation>
813
- </annotation>
814
- <restriction base="string">
815
- <whiteSpace value="collapse"/>
816
- </restriction>
817
- </simpleType>
818
- <simpleType name="filter-nameType">
819
- <annotation>
820
- <documentation>
821
- The logical name of the filter is declare
822
- by using filter-nameType. This name is used to map the
823
- filter. Each filter name is unique within the portlet
824
- application.
825
- Used in: filter, filter-mapping
826
- </documentation>
827
- </annotation>
828
- <restriction base="portlet:string"/>
829
- </simpleType>
830
- </schema>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:portlet="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" xml:lang="en">
3
+ <annotation>
4
+ <documentation>
5
+ This is the XML Schema for the Portlet 2.0 deployment descriptor.
6
+ </documentation>
7
+ </annotation>
8
+ <annotation>
9
+ <documentation>
10
+ The following conventions apply to all J2EE
11
+ deployment descriptor elements unless indicated otherwise.
12
+ - In elements that specify a pathname to a file within the
13
+ same JAR file, relative filenames (i.e., those not
14
+ starting with "/") are considered relative to the root of
15
+ the JAR file's namespace. Absolute filenames (i.e., those
16
+ starting with "/") also specify names in the root of the
17
+ JAR file's namespace. In general, relative names are
18
+ preferred. The exception is .war files where absolute
19
+ names are preferred for consistency with the Servlet API.
20
+ </documentation>
21
+ </annotation>
22
+ <!-- *********************************************************** -->
23
+ <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
24
+ <element name="portlet-app" type="portlet:portlet-appType">
25
+ <annotation>
26
+ <documentation>
27
+ The portlet-app element is the root of the deployment descriptor
28
+ for a portlet application. This element has a required attribute version
29
+ to specify to which version of the schema the deployment descriptor
30
+ conforms. In order to be a valid JSR 286 portlet application the version
31
+ must have the value "2.0".
32
+ </documentation>
33
+ </annotation>
34
+ <unique name="portlet-name-uniqueness">
35
+ <annotation>
36
+ <documentation>
37
+ The portlet element contains the name of a portlet.
38
+ This name must be unique within the portlet application.
39
+ </documentation>
40
+ </annotation>
41
+ <selector xpath="portlet:portlet"/>
42
+ <field xpath="portlet:portlet-name"/>
43
+ </unique>
44
+ <unique name="custom-portlet-mode-uniqueness">
45
+ <annotation>
46
+ <documentation>
47
+ The custom-portlet-mode element contains the portlet-mode.
48
+ This portlet mode must be unique within the portlet application.
49
+ </documentation>
50
+ </annotation>
51
+ <selector xpath="portlet:custom-portlet-mode"/>
52
+ <field xpath="portlet:portlet-mode"/>
53
+ </unique>
54
+ <unique name="custom-window-state-uniqueness">
55
+ <annotation>
56
+ <documentation>
57
+ The custom-window-state element contains the window-state.
58
+ This window state must be unique within the portlet application.
59
+ </documentation>
60
+ </annotation>
61
+ <selector xpath="portlet:custom-window-state"/>
62
+ <field xpath="portlet:window-state"/>
63
+ </unique>
64
+ <unique name="user-attribute-name-uniqueness">
65
+ <annotation>
66
+ <documentation>
67
+ The user-attribute element contains the name the attribute.
68
+ This name must be unique within the portlet application.
69
+ </documentation>
70
+ </annotation>
71
+ <selector xpath="portlet:user-attribute"/>
72
+ <field xpath="portlet:name"/>
73
+ </unique>
74
+ <unique name="filter-name-uniqueness">
75
+ <annotation>
76
+ <documentation>
77
+ The filter element contains the name of a filter.
78
+ The name must be unique within the portlet application.
79
+ </documentation>
80
+ </annotation>
81
+ <selector xpath="portlet:filter"/>
82
+ <field xpath="portlet:filter-name"/>
83
+ </unique>
84
+ </element>
85
+ <complexType name="portlet-appType">
86
+ <sequence>
87
+ <element name="portlet" type="portlet:portletType" minOccurs="0" maxOccurs="unbounded">
88
+ <unique name="init-param-name-uniqueness">
89
+ <annotation>
90
+ <documentation>
91
+ The init-param element contains the name the attribute.
92
+ This name must be unique within the portlet.
93
+ </documentation>
94
+ </annotation>
95
+ <selector xpath="portlet:init-param"/>
96
+ <field xpath="portlet:name"/>
97
+ </unique>
98
+ <unique name="supports-mime-type-uniqueness">
99
+ <annotation>
100
+ <documentation>
101
+ The supports element contains the supported mime-type.
102
+ This mime type must be unique within the portlet.
103
+ </documentation>
104
+ </annotation>
105
+ <selector xpath="portlet:supports"/>
106
+ <field xpath="mime-type"/>
107
+ </unique>
108
+ <unique name="preference-name-uniqueness">
109
+ <annotation>
110
+ <documentation>
111
+ The preference element contains the name the preference.
112
+ This name must be unique within the portlet.
113
+ </documentation>
114
+ </annotation>
115
+ <selector xpath="portlet:portlet-preferences/portlet:preference"/>
116
+ <field xpath="portlet:name"/>
117
+ </unique>
118
+ <unique name="security-role-ref-name-uniqueness">
119
+ <annotation>
120
+ <documentation>
121
+ The security-role-ref element contains the role-name.
122
+ This role name must be unique within the portlet.
123
+ </documentation>
124
+ </annotation>
125
+ <selector xpath="portlet:security-role-ref"/>
126
+ <field xpath="portlet:role-name"/>
127
+ </unique>
128
+ </element>
129
+ <element name="custom-portlet-mode" type="portlet:custom-portlet-modeType" minOccurs="0" maxOccurs="unbounded"/>
130
+ <element name="custom-window-state" type="portlet:custom-window-stateType" minOccurs="0" maxOccurs="unbounded"/>
131
+ <element name="user-attribute" type="portlet:user-attributeType" minOccurs="0" maxOccurs="unbounded"/>
132
+ <element name="security-constraint" type="portlet:security-constraintType" minOccurs="0" maxOccurs="unbounded"/>
133
+ <element name="resource-bundle" type="portlet:resource-bundleType" minOccurs="0"/>
134
+ <element name="filter" type="portlet:filterType" minOccurs="0" maxOccurs="unbounded"/>
135
+ <element name="filter-mapping" type="portlet:filter-mappingType" minOccurs="0" maxOccurs="unbounded"/>
136
+ <element name="default-namespace" type="xs:anyURI" minOccurs="0"/>
137
+ <element name="event-definition" type="portlet:event-definitionType" minOccurs="0" maxOccurs="unbounded"/>
138
+ <element name="public-render-parameter" type="portlet:public-render-parameterType" minOccurs="0" maxOccurs="unbounded"/>
139
+ <element name="listener" type="portlet:listenerType" minOccurs="0" maxOccurs="unbounded"/>
140
+ <element name="container-runtime-option" type="portlet:container-runtime-optionType" minOccurs="0" maxOccurs="unbounded"/>
141
+ </sequence>
142
+ <attribute name="version" type="portlet:string" use="required"/>
143
+ <attribute name="id" type="portlet:string" use="optional"/>
144
+ </complexType>
145
+ <complexType name="cache-scopeType">
146
+ <annotation>
147
+ <documentation>
148
+ Caching scope, allowed values are "private" indicating that the content should not be shared
149
+ across users and "public" indicating that the content may be shared across users.
150
+ The default value if not present is "private".
151
+ Used in: portlet
152
+ </documentation>
153
+ </annotation>
154
+ <simpleContent>
155
+ <extension base="portlet:string"/>
156
+ </simpleContent>
157
+ </complexType>
158
+ <complexType name="custom-portlet-modeType">
159
+ <annotation>
160
+ <documentation>
161
+ A custom portlet mode that one or more portlets in
162
+ this portlet application supports.
163
+ If the portal does not need to provide some management functionality
164
+ for this portlet mode, the portal-managed element needs to be set
165
+ to "false", otherwise to "true". Default is "true".
166
+ Used in: portlet-app
167
+ </documentation>
168
+ </annotation>
169
+ <sequence>
170
+ <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
171
+ <element name="portlet-mode" type="portlet:portlet-modeType"/>
172
+ <element name="portal-managed" type="portlet:portal-managedType" minOccurs="0"/>
173
+ </sequence>
174
+ <attribute name="id" type="portlet:string" use="optional"/>
175
+ </complexType>
176
+ <complexType name="custom-window-stateType">
177
+ <annotation>
178
+ <documentation>
179
+ A custom window state that one or more portlets in this
180
+ portlet application supports.
181
+ Used in: portlet-app
182
+ </documentation>
183
+ </annotation>
184
+ <sequence>
185
+ <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
186
+ <element name="window-state" type="portlet:window-stateType"/>
187
+ </sequence>
188
+ <attribute name="id" type="portlet:string" use="optional"/>
189
+ </complexType>
190
+ <complexType name="expiration-cacheType">
191
+ <annotation>
192
+ <documentation>
193
+ Expiration-time defines the time in seconds after which the portlet output expires.
194
+ -1 indicates that the output never expires.
195
+ Used in: portlet
196
+ </documentation>
197
+ </annotation>
198
+ <simpleContent>
199
+ <extension base="int"/>
200
+ </simpleContent>
201
+ </complexType>
202
+ <complexType name="init-paramType">
203
+ <annotation>
204
+ <documentation>
205
+ The init-param element contains a name/value pair as an
206
+ initialization param of the portlet
207
+ Used in:portlet
208
+ </documentation>
209
+ </annotation>
210
+ <sequence>
211
+ <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
212
+ <element name="name" type="portlet:nameType"/>
213
+ <element name="value" type="portlet:valueType"/>
214
+ </sequence>
215
+ <attribute name="id" type="portlet:string" use="optional"/>
216
+ </complexType>
217
+ <complexType name="keywordsType">
218
+ <annotation>
219
+ <documentation>
220
+ Locale specific keywords associated with this portlet.
221
+ The kewords are separated by commas.
222
+ Used in: portlet-info
223
+ </documentation>
224
+ </annotation>
225
+ <simpleContent>
226
+ <extension base="portlet:string"/>
227
+ </simpleContent>
228
+ </complexType>
229
+ <complexType name="mime-typeType">
230
+ <annotation>
231
+ <documentation>
232
+ MIME type name, e.g. "text/html".
233
+ The MIME type may also contain the wildcard
234
+ character '*', like "text/*" or "*/*".
235
+ Used in: supports
236
+ </documentation>
237
+ </annotation>
238
+ <simpleContent>
239
+ <extension base="portlet:string"/>
240
+ </simpleContent>
241
+ </complexType>
242
+ <complexType name="nameType">
243
+ <annotation>
244
+ <documentation>
245
+ The name element contains the name of a parameter.
246
+ Used in: init-param, ...
247
+ </documentation>
248
+ </annotation>
249
+ <simpleContent>
250
+ <extension base="portlet:string"/>
251
+ </simpleContent>
252
+ </complexType>
253
+ <complexType name="portletType">
254
+ <annotation>
255
+ <documentation>
256
+ The portlet element contains the declarative data of a portlet.
257
+ Used in: portlet-app
258
+ </documentation>
259
+ </annotation>
260
+ <sequence>
261
+ <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
262
+ <element name="portlet-name" type="portlet:portlet-nameType"/>
263
+ <element name="display-name" type="portlet:display-nameType" minOccurs="0" maxOccurs="unbounded"/>
264
+ <element name="portlet-class" type="portlet:portlet-classType"/>
265
+ <element name="init-param" type="portlet:init-paramType" minOccurs="0" maxOccurs="unbounded"/>
266
+ <element name="expiration-cache" type="portlet:expiration-cacheType" minOccurs="0"/>
267
+ <element name="cache-scope" type="portlet:cache-scopeType" minOccurs="0"/>
268
+ <element name="supports" type="portlet:supportsType" maxOccurs="unbounded"/>
269
+ <element name="supported-locale" type="portlet:supported-localeType" minOccurs="0" maxOccurs="unbounded"/>
270
+ <element name="resource-bundle" type="portlet:resource-bundleType" minOccurs="0"/>
271
+ <element name="portlet-info" type="portlet:portlet-infoType" minOccurs="0"/>
272
+ <element name="portlet-preferences" type="portlet:portlet-preferencesType" minOccurs="0"/>
273
+ <element name="security-role-ref" type="portlet:security-role-refType" minOccurs="0" maxOccurs="unbounded"/>
274
+ <element name="supported-processing-event" type="portlet:event-definition-referenceType" minOccurs="0" maxOccurs="unbounded"/>
275
+ <element name="supported-publishing-event" type="portlet:event-definition-referenceType" minOccurs="0" maxOccurs="unbounded"/>
276
+ <element name="supported-public-render-parameter" type="portlet:string" minOccurs="0" maxOccurs="unbounded"/>
277
+ <element name="container-runtime-option" type="portlet:container-runtime-optionType" minOccurs="0" maxOccurs="unbounded"/>
278
+ </sequence>
279
+ <attribute name="id" type="portlet:string" use="optional"/>
280
+ </complexType>
281
+ <simpleType name="portlet-classType">
282
+ <annotation>
283
+ <documentation>
284
+ The portlet-class element contains the fully
285
+ qualified class name of the portlet.
286
+ Used in: portlet
287
+ </documentation>
288
+ </annotation>
289
+ <restriction base="portlet:fully-qualified-classType"/>
290
+ </simpleType>
291
+ <complexType name="container-runtime-optionType">
292
+ <annotation>
293
+ <documentation>
294
+ The container-runtime-option element contains settings
295
+ for the portlet container that the portlet expects to be honored
296
+ at runtime. These settings may re-define default portlet container
297
+ behavior, like the javax.portlet.escapeXml setting that disables
298
+ XML encoding of URLs produced by the portlet tag library as
299
+ default.
300
+ Names with the javax.portlet prefix are reserved for the Java
301
+ Portlet Specification.
302
+ Used in: portlet-app, portlet
303
+ </documentation>
304
+ </annotation>
305
+ <sequence>
306
+ <element name="name" type="portlet:nameType"/>
307
+ <element name="value" type="portlet:valueType" minOccurs="0" maxOccurs="unbounded"/>
308
+ </sequence>
309
+ </complexType>
310
+ <complexType name="filter-mappingType">
311
+ <annotation>
312
+ <documentation>
313
+ Declaration of the filter mappings in this portlet
314
+ application is done by using filter-mappingType.
315
+ The container uses the filter-mapping
316
+ declarations to decide which filters to apply to a request,
317
+ and in what order. To determine which filters to
318
+ apply it matches filter-mapping declarations on the
319
+ portlet-name and the lifecyle phase defined in the
320
+ filter element. The order in which filters are invoked
321
+ is the order in which filter-mapping declarations
322
+ that match appear in the list of filter-mapping elements.
323
+ Used in: portlet-app
324
+ </documentation>
325
+ </annotation>
326
+ <sequence>
327
+ <element name="filter-name" type="portlet:filter-nameType"/>
328
+ <element name="portlet-name" type="portlet:portlet-nameType" maxOccurs="unbounded"/>
329
+ </sequence>
330
+ </complexType>
331
+ <complexType name="filterType">
332
+ <annotation>
333
+ <documentation>
334
+ The filter element specifies a filter that can transform the
335
+ content of portlet requests and portlet responses.
336
+ Filters can access the initialization parameters declared in
337
+ the deployment descriptor at runtime via the FilterConfig
338
+ interface.
339
+ A filter can be restricted to one or more lifecycle phases
340
+ of the portlet. Valid entries for lifecycle are:
341
+ ACTION_PHASE, EVENT_PHASE, RENDER_PHASE,
342
+ RESOURCE_PHASE
343
+ Used in: portlet-app
344
+ </documentation>
345
+ </annotation>
346
+ <sequence>
347
+ <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
348
+ <element name="display-name" type="portlet:display-nameType" minOccurs="0" maxOccurs="unbounded"/>
349
+ <element name="filter-name" type="portlet:filter-nameType"/>
350
+ <element name="filter-class" type="portlet:fully-qualified-classType"/>
351
+ <element name="lifecycle" type="portlet:string" maxOccurs="unbounded"/>
352
+ <element name="init-param" type="portlet:init-paramType" minOccurs="0" maxOccurs="unbounded"/>
353
+ </sequence>
354
+ </complexType>
355
+ <complexType name="portlet-collectionType">
356
+ <annotation>
357
+ <documentation>
358
+ The portlet-collectionType is used to identify a subset
359
+ of portlets within a portlet application to which a
360
+ security constraint applies.
361
+ Used in: security-constraint
362
+ </documentation>
363
+ </annotation>
364
+ <sequence>
365
+ <element name="portlet-name" type="portlet:portlet-nameType" maxOccurs="unbounded"/>
366
+ </sequence>
367
+ </complexType>
368
+ <complexType name="event-definitionType">
369
+ <annotation>
370
+ <documentation>
371
+ The event-definitionType is used to declare events the portlet can either
372
+ receive or emit.
373
+ The name must be unique and must be the one the
374
+ portlet is using in its code for referencing this event.
375
+ Used in: portlet-app
376
+ </documentation>
377
+ </annotation>
378
+ <sequence>
379
+ <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
380
+ <choice>
381
+ <element name="qname" type="xs:QName"/>
382
+ <element name="name" type="xs:NCName"/>
383
+ </choice>
384
+ <element name="alias" type="xs:QName" minOccurs="0" maxOccurs="unbounded"/>
385
+ <element name="value-type" type="portlet:fully-qualified-classType" minOccurs="0"/>
386
+ </sequence>
387
+ <attribute name="id" type="portlet:string" use="optional"/>
388
+ </complexType>
389
+ <complexType name="event-definition-referenceType">
390
+ <annotation>
391
+ <documentation>
392
+ The event-definition-referenceType is used to reference events
393
+ declared with the event-definition element at application level.
394
+ Used in: portlet
395
+ </documentation>
396
+ </annotation>
397
+ <choice>
398
+ <element name="qname" type="xs:QName"/>
399
+ <element name="name" type="xs:NCName"/>
400
+ </choice>
401
+ <attribute name="id" type="portlet:string" use="optional"/>
402
+ </complexType>
403
+ <complexType name="listenerType">
404
+ <annotation>
405
+ <documentation>
406
+ The listenerType is used to declare listeners for this portlet application.
407
+ Used in: portlet-app
408
+ </documentation>
409
+ </annotation>
410
+ <sequence>
411
+ <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
412
+ <element name="display-name" type="portlet:display-nameType" minOccurs="0" maxOccurs="unbounded"/>
413
+ <element name="listener-class" type="portlet:fully-qualified-classType"/>
414
+ </sequence>
415
+ <attribute name="id" type="portlet:string" use="optional"/>
416
+ </complexType>
417
+ <complexType name="portlet-infoType">
418
+ <sequence>
419
+ <element name="title" type="portlet:titleType" minOccurs="0"/>
420
+ <element name="short-title" type="portlet:short-titleType" minOccurs="0"/>
421
+ <element name="keywords" type="portlet:keywordsType" minOccurs="0"/>
422
+ </sequence>
423
+ <attribute name="id" type="portlet:string" use="optional"/>
424
+ </complexType>
425
+ <simpleType name="portal-managedType">
426
+ <annotation>
427
+ <documentation>
428
+ portal-managed indicates if a custom portlet mode
429
+ needs to be managed by the portal or not.
430
+ Per default all custom portlet modes are portal managed.
431
+ Valid values are:
432
+ - true for portal-managed
433
+ - false for not portal managed
434
+ Used in: custom-portlet-modes
435
+ </documentation>
436
+ </annotation>
437
+ <restriction base="portlet:string">
438
+ <enumeration value="true"/>
439
+ <enumeration value="false"/>
440
+ </restriction>
441
+ </simpleType>
442
+ <complexType name="portlet-modeType">
443
+ <annotation>
444
+ <documentation>
445
+ Portlet modes. The specification pre-defines the following values
446
+ as valid portlet mode constants:
447
+ "edit", "help", "view".
448
+ Portlet mode names are not case sensitive.
449
+ Used in: custom-portlet-mode, supports
450
+ </documentation>
451
+ </annotation>
452
+ <simpleContent>
453
+ <extension base="portlet:string"/>
454
+ </simpleContent>
455
+ </complexType>
456
+ <complexType name="portlet-nameType">
457
+ <annotation>
458
+ <documentation>
459
+ The portlet-name element contains the canonical name of the
460
+ portlet. Each portlet name is unique within the portlet
461
+ application.
462
+ Used in: portlet, filter-mapping
463
+ </documentation>
464
+ </annotation>
465
+ <simpleContent>
466
+ <extension base="portlet:string"/>
467
+ </simpleContent>
468
+ </complexType>
469
+ <complexType name="portlet-preferencesType">
470
+ <annotation>
471
+ <documentation>
472
+ Portlet persistent preference store.
473
+ Used in: portlet
474
+ </documentation>
475
+ </annotation>
476
+ <sequence>
477
+ <element name="preference" type="portlet:preferenceType" minOccurs="0" maxOccurs="unbounded"/>
478
+ <element name="preferences-validator" type="portlet:preferences-validatorType" minOccurs="0"/>
479
+ </sequence>
480
+ <attribute name="id" type="portlet:string" use="optional"/>
481
+ </complexType>
482
+ <complexType name="preferenceType">
483
+ <annotation>
484
+ <documentation>
485
+ Persistent preference values that may be used for customization
486
+ and personalization by the portlet.
487
+ Used in: portlet-preferences
488
+ </documentation>
489
+ </annotation>
490
+ <sequence>
491
+ <element name="name" type="portlet:nameType"/>
492
+ <element name="value" type="portlet:valueType" minOccurs="0" maxOccurs="unbounded"/>
493
+ <element name="read-only" type="portlet:read-onlyType" minOccurs="0"/>
494
+ </sequence>
495
+ <attribute name="id" type="portlet:string" use="optional"/>
496
+ </complexType>
497
+ <simpleType name="preferences-validatorType">
498
+ <annotation>
499
+ <documentation>
500
+ The class specified under preferences-validator implements
501
+ the PreferencesValidator interface to validate the
502
+ preferences settings.
503
+ Used in: portlet-preferences
504
+ </documentation>
505
+ </annotation>
506
+ <restriction base="portlet:fully-qualified-classType"/>
507
+ </simpleType>
508
+ <simpleType name="read-onlyType">
509
+ <annotation>
510
+ <documentation>
511
+ read-only indicates that a setting cannot
512
+ be changed in any of the standard portlet modes
513
+ ("view","edit" or "help").
514
+ Per default all preferences are modifiable.
515
+ Valid values are:
516
+ - true for read-only
517
+ - false for modifiable
518
+ Used in: preferences
519
+ </documentation>
520
+ </annotation>
521
+ <restriction base="portlet:string">
522
+ <enumeration value="true"/>
523
+ <enumeration value="false"/>
524
+ </restriction>
525
+ </simpleType>
526
+ <complexType name="resource-bundleType">
527
+ <annotation>
528
+ <documentation>
529
+ Name of the resource bundle containing the language specific
530
+ portlet informations in different languages (Filename without
531
+ the language specific part (e.g. _en) and the ending (.properties).
532
+ Used in: portlet-info
533
+ </documentation>
534
+ </annotation>
535
+ <simpleContent>
536
+ <extension base="portlet:string"/>
537
+ </simpleContent>
538
+ </complexType>
539
+ <complexType name="role-linkType">
540
+ <annotation>
541
+ <documentation>
542
+ The role-link element is a reference to a defined security role.
543
+ The role-link element must contain the name of one of the
544
+ security roles defined in the security-role elements.
545
+ Used in: security-role-ref
546
+ </documentation>
547
+ </annotation>
548
+ <simpleContent>
549
+ <extension base="portlet:string"/>
550
+ </simpleContent>
551
+ </complexType>
552
+ <complexType name="security-constraintType">
553
+ <annotation>
554
+ <documentation>
555
+ The security-constraintType is used to associate
556
+ intended security constraints with one or more portlets.
557
+ Used in: portlet-app
558
+ </documentation>
559
+ </annotation>
560
+ <sequence>
561
+ <element name="display-name" type="portlet:display-nameType" minOccurs="0" maxOccurs="unbounded"/>
562
+ <element name="portlet-collection" type="portlet:portlet-collectionType"/>
563
+ <element name="user-data-constraint" type="portlet:user-data-constraintType"/>
564
+ </sequence>
565
+ <attribute name="id" type="portlet:string" use="optional"/>
566
+ </complexType>
567
+ <complexType name="security-role-refType">
568
+ <annotation>
569
+ <documentation>
570
+ The security-role-ref element contains the declaration of a
571
+ security role reference in the code of the web application. The
572
+ declaration consists of an optional description, the security
573
+ role name used in the code, and an optional link to a security
574
+ role. If the security role is not specified, the Deployer must
575
+ choose an appropriate security role.
576
+ The value of the role name element must be the String used
577
+ as the parameter to the
578
+ EJBContext.isCallerInRole(String roleName) method
579
+ or the HttpServletRequest.isUserInRole(String role) method.
580
+ Used in: portlet
581
+ </documentation>
582
+ </annotation>
583
+ <sequence>
584
+ <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
585
+ <element name="role-name" type="portlet:role-nameType"/>
586
+ <element name="role-link" type="portlet:role-linkType" minOccurs="0"/>
587
+ </sequence>
588
+ <attribute name="id" type="portlet:string" use="optional"/>
589
+ </complexType>
590
+ <complexType name="public-render-parameterType">
591
+ <annotation>
592
+ <documentation>
593
+ The public-render-parameters defines a render parameter that is allowed to be public
594
+ and thus be shared with other portlets.
595
+ The identifier must be used for referencing this public render parameter in the portlet code.
596
+ Used in: portlet-app
597
+ </documentation>
598
+ </annotation>
599
+ <sequence>
600
+ <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
601
+ <element name="identifier" type="portlet:string"/>
602
+ <choice>
603
+ <element name="qname" type="xs:QName"/>
604
+ <element name="name" type="xs:NCName"/>
605
+ </choice>
606
+ <element name="alias" type="xs:QName" minOccurs="0" maxOccurs="unbounded"/>
607
+ </sequence>
608
+ <attribute name="id" type="portlet:string" use="optional"/>
609
+ </complexType>
610
+ <complexType name="short-titleType">
611
+ <annotation>
612
+ <documentation>
613
+ Locale specific short version of the static title.
614
+ Used in: portlet-info
615
+ </documentation>
616
+ </annotation>
617
+ <simpleContent>
618
+ <extension base="portlet:string"/>
619
+ </simpleContent>
620
+ </complexType>
621
+ <complexType name="supportsType">
622
+ <annotation>
623
+ <documentation>
624
+ Supports indicates the portlet modes a
625
+ portlet supports for a specific content type. All portlets must
626
+ support the view mode.
627
+ Used in: portlet
628
+ </documentation>
629
+ </annotation>
630
+ <sequence>
631
+ <element name="mime-type" type="portlet:mime-typeType"/>
632
+ <element name="portlet-mode" type="portlet:portlet-modeType" minOccurs="0" maxOccurs="unbounded"/>
633
+ <element name="window-state" type="portlet:window-stateType" minOccurs="0" maxOccurs="unbounded"/>
634
+ </sequence>
635
+ <attribute name="id" type="portlet:string" use="optional"/>
636
+ </complexType>
637
+ <complexType name="supported-localeType">
638
+ <annotation>
639
+ <documentation>
640
+ Indicated the locales the portlet supports.
641
+ Used in: portlet
642
+ </documentation>
643
+ </annotation>
644
+ <simpleContent>
645
+ <extension base="portlet:string"/>
646
+ </simpleContent>
647
+ </complexType>
648
+ <complexType name="titleType">
649
+ <annotation>
650
+ <documentation>
651
+ Locale specific static title for this portlet.
652
+ Used in: portlet-info
653
+ </documentation>
654
+ </annotation>
655
+ <simpleContent>
656
+ <extension base="portlet:string"/>
657
+ </simpleContent>
658
+ </complexType>
659
+ <simpleType name="transport-guaranteeType">
660
+ <annotation>
661
+ <documentation>
662
+ The transport-guaranteeType specifies that
663
+ the communication between client and portlet should
664
+ be NONE, INTEGRAL, or CONFIDENTIAL.
665
+ NONE means that the portlet does not
666
+ require any transport guarantees. A value of
667
+ INTEGRAL means that the portlet requires that the
668
+ data sent between the client and portlet be sent in
669
+ such a way that it can't be changed in transit.
670
+ CONFIDENTIAL means that the portlet requires
671
+ that the data be transmitted in a fashion that
672
+ prevents other entities from observing the contents
673
+ of the transmission.
674
+ In most cases, the presence of the INTEGRAL or
675
+ CONFIDENTIAL flag will indicate that the use
676
+ of SSL is required.
677
+ Used in: user-data-constraint
678
+ </documentation>
679
+ </annotation>
680
+ <restriction base="portlet:string">
681
+ <enumeration value="NONE"/>
682
+ <enumeration value="INTEGRAL"/>
683
+ <enumeration value="CONFIDENTIAL"/>
684
+ </restriction>
685
+ </simpleType>
686
+ <complexType name="user-attributeType">
687
+ <annotation>
688
+ <documentation>
689
+ User attribute defines a user specific attribute that the
690
+ portlet application needs. The portlet within this application
691
+ can access this attribute via the request parameter USER_INFO
692
+ map.
693
+ Used in: portlet-app
694
+ </documentation>
695
+ </annotation>
696
+ <sequence>
697
+ <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
698
+ <element name="name" type="portlet:nameType"/>
699
+ </sequence>
700
+ <attribute name="id" type="portlet:string" use="optional"/>
701
+ </complexType>
702
+ <complexType name="user-data-constraintType">
703
+ <annotation>
704
+ <documentation>
705
+ The user-data-constraintType is used to indicate how
706
+ data communicated between the client and portlet should be
707
+ protected.
708
+ Used in: security-constraint
709
+ </documentation>
710
+ </annotation>
711
+ <sequence>
712
+ <element name="description" type="portlet:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
713
+ <element name="transport-guarantee" type="portlet:transport-guaranteeType"/>
714
+ </sequence>
715
+ <attribute name="id" type="portlet:string" use="optional"/>
716
+ </complexType>
717
+ <complexType name="valueType">
718
+ <annotation>
719
+ <documentation>
720
+ The value element contains the value of a parameter.
721
+ Used in: init-param
722
+ </documentation>
723
+ </annotation>
724
+ <simpleContent>
725
+ <extension base="portlet:string"/>
726
+ </simpleContent>
727
+ </complexType>
728
+ <complexType name="window-stateType">
729
+ <annotation>
730
+ <documentation>
731
+ Portlet window state. Window state names are not case sensitive.
732
+ Used in: custom-window-state
733
+ </documentation>
734
+ </annotation>
735
+ <simpleContent>
736
+ <extension base="portlet:string"/>
737
+ </simpleContent>
738
+ </complexType>
739
+ <!--- everything below is copied from j2ee_1_4.xsd -->
740
+ <complexType name="descriptionType">
741
+ <annotation>
742
+ <documentation>
743
+ The description element is used to provide text describing the
744
+ parent element. The description element should include any
745
+ information that the portlet application war file producer wants
746
+ to provide to the consumer of the portlet application war file
747
+ (i.e., to the Deployer). Typically, the tools used by the
748
+ portlet application war file consumer will display the
749
+ description when processing the parent element that contains the
750
+ description. It has an optional attribute xml:lang to indicate
751
+ which language is used in the description according to
752
+ RFC 1766 (http://www.ietf.org/rfc/rfc1766.txt). The default
753
+ value of this attribute is English(“en”).
754
+ Used in: init-param, portlet, portlet-app, security-role
755
+ </documentation>
756
+ </annotation>
757
+ <simpleContent>
758
+ <extension base="portlet:string">
759
+ <attribute ref="xml:lang"/>
760
+ </extension>
761
+ </simpleContent>
762
+ </complexType>
763
+ <complexType name="display-nameType">
764
+ <annotation>
765
+ <documentation>
766
+ The display-name type contains a short name that is intended
767
+ to be displayed by tools. It is used by display-name
768
+ elements. The display name need not be unique.
769
+ Example:
770
+ ...
771
+ <display-name xml:lang="en">Employee Self Service</display-name>
772
+
773
+ It has an optional attribute xml:lang to indicate
774
+ which language is used in the description according to
775
+ RFC 1766 (http://www.ietf.org/rfc/rfc1766.txt). The default
776
+ value of this attribute is English(“en”).
777
+ </documentation>
778
+ </annotation>
779
+ <simpleContent>
780
+ <extension base="portlet:string">
781
+ <attribute ref="xml:lang"/>
782
+ </extension>
783
+ </simpleContent>
784
+ </complexType>
785
+ <simpleType name="fully-qualified-classType">
786
+ <annotation>
787
+ <documentation>
788
+ The elements that use this type designate the name of a
789
+ Java class or interface.
790
+ </documentation>
791
+ </annotation>
792
+ <restriction base="portlet:string"/>
793
+ </simpleType>
794
+ <simpleType name="role-nameType">
795
+ <annotation>
796
+ <documentation>
797
+ The role-nameType designates the name of a security role.
798
+
799
+ The name must conform to the lexical rules for an NMTOKEN.
800
+ </documentation>
801
+ </annotation>
802
+ <restriction base="NMTOKEN"/>
803
+ </simpleType>
804
+ <simpleType name="string">
805
+ <annotation>
806
+ <documentation>
807
+ This is a special string datatype that is defined by JavaEE
808
+ as a base type for defining collapsed strings. When
809
+ schemas require trailing/leading space elimination as
810
+ well as collapsing the existing whitespace, this base
811
+ type may be used.
812
+ </documentation>
813
+ </annotation>
814
+ <restriction base="string">
815
+ <whiteSpace value="collapse"/>
816
+ </restriction>
817
+ </simpleType>
818
+ <simpleType name="filter-nameType">
819
+ <annotation>
820
+ <documentation>
821
+ The logical name of the filter is declare
822
+ by using filter-nameType. This name is used to map the
823
+ filter. Each filter name is unique within the portlet
824
+ application.
825
+ Used in: filter, filter-mapping
826
+ </documentation>
827
+ </annotation>
828
+ <restriction base="portlet:string"/>
829
+ </simpleType>
830
+ </schema>