| Introduction |
|
xv | |
|
The Cocoon 2 Architecture |
|
|
1 | (20) |
|
The Challenges of Web Publishing |
|
|
2 | (2) |
|
Dynamic Presentation and Browser Wars |
|
|
3 | (1) |
|
Enterprise Applications and Dynamic Data |
|
|
3 | (1) |
|
The Challenges of Web Content Management |
|
|
4 | (2) |
|
Integrating and Formatting Data from Multiple Sources |
|
|
4 | (1) |
|
Change Management and Content Management |
|
|
5 | (1) |
|
|
|
5 | (1) |
|
Content Management Systems to the Rescue |
|
|
6 | (3) |
|
|
|
6 | (1) |
|
Web-Publishing Frameworks and CMSs |
|
|
7 | (1) |
|
|
|
7 | (1) |
|
|
|
8 | (1) |
|
A Brief Review of Open-Source CMS Offerings |
|
|
8 | (1) |
|
The Original Cocoon Project |
|
|
9 | (2) |
|
Cocoon 1---a Simple Solution |
|
|
9 | (1) |
|
The Cocoon 1 Architecture: Strengths and Drawbacks |
|
|
10 | (1) |
|
Architecture of the Cocoon 2 Framework |
|
|
11 | (8) |
|
An XML-Publishing Framework |
|
|
11 | (1) |
|
Flexible Content Aggregation |
|
|
11 | (1) |
|
|
|
12 | (2) |
|
Introducing the Cocoon Sitemap |
|
|
14 | (1) |
|
Matching the URI to a Pipeline |
|
|
15 | (1) |
|
Processing the Requested URI |
|
|
16 | (2) |
|
Integrating Business Services |
|
|
18 | (1) |
|
Separation of Presentation, Content, and Logic |
|
|
18 | (1) |
|
|
|
19 | (2) |
|
|
|
21 | (34) |
|
Setting Up Cocoon for Application Development |
|
|
22 | (4) |
|
|
|
26 | (6) |
|
|
|
26 | (3) |
|
|
|
29 | (3) |
|
Interfacing with a Database |
|
|
32 | (6) |
|
Setting Up the JDBC Connection to the Database |
|
|
32 | (1) |
|
|
|
33 | (5) |
|
Site Serving Mobile Devices |
|
|
38 | (4) |
|
|
|
42 | (6) |
|
Rendering Scalable Vector Graphics |
|
|
48 | (4) |
|
|
|
48 | (2) |
|
Rendering Complex Graphics |
|
|
50 | (2) |
|
|
|
52 | (3) |
|
A Review of the Essential Technologies |
|
|
55 | (36) |
|
|
|
57 | (14) |
|
|
|
57 | (7) |
|
The Document Object Model (DOM) |
|
|
64 | (3) |
|
|
|
67 | (4) |
|
Additional Resources for Content Technologies |
|
|
71 | (1) |
|
|
|
71 | (4) |
|
XSL Transformations (XSLT) |
|
|
71 | (4) |
|
Extensible Server Pages (XSP) |
|
|
75 | (1) |
|
Additional Resources for Logic Technologies |
|
|
75 | (1) |
|
|
|
75 | (12) |
|
Cascading Style Sheets (CSS) |
|
|
76 | (3) |
|
Extensible Stylesheet Language (XSL) |
|
|
79 | (5) |
|
|
|
84 | (3) |
|
Additional Resources for Presentation Technologies |
|
|
87 | (1) |
|
|
|
87 | (4) |
|
|
|
91 | (20) |
|
|
|
92 | (6) |
|
|
|
94 | (1) |
|
Example Formatting for WML |
|
|
95 | (3) |
|
|
|
98 | (5) |
|
Creating a PDF Page Using FOP |
|
|
98 | (5) |
|
Output of MS Office Formats |
|
|
103 | (2) |
|
How to Build a Serializer |
|
|
105 | (3) |
|
|
|
106 | (1) |
|
The SAX Interface Hierarchy |
|
|
107 | (1) |
|
The org.apache.cocoon.xml Package |
|
|
107 | (1) |
|
The org.apache.cocoon.serialization Package |
|
|
108 | (1) |
|
Looking at Serializer Examples |
|
|
108 | (1) |
|
|
|
109 | (1) |
|
Language Encoding in Java |
|
|
109 | (1) |
|
Defining Serializer Encoding |
|
|
109 | (1) |
|
Language Resource Support |
|
|
110 | (1) |
|
|
|
110 | (1) |
|
Logic Control: The Sitemap |
|
|
111 | (28) |
|
Sitemap Design Principles |
|
|
112 | (1) |
|
The Contents of a Sitemap |
|
|
113 | (2) |
|
|
|
114 | (1) |
|
|
|
114 | (1) |
|
Compiled Versus Interpreted Sitemaps |
|
|
115 | (1) |
|
|
|
115 | (17) |
|
|
|
116 | (1) |
|
|
|
117 | (1) |
|
|
|
118 | (3) |
|
|
|
121 | (1) |
|
|
|
122 | (1) |
|
|
|
123 | (4) |
|
|
|
127 | (2) |
|
|
|
129 | (3) |
|
|
|
132 | (1) |
|
|
|
133 | (1) |
|
|
|
133 | (1) |
|
|
|
134 | (4) |
|
|
|
135 | (1) |
|
|
|
135 | (3) |
|
|
|
138 | (1) |
|
|
|
138 | (1) |
|
|
|
139 | (28) |
|
|
|
141 | (1) |
|
|
|
142 | (1) |
|
|
|
143 | (4) |
|
|
|
143 | (4) |
|
|
|
147 | (11) |
|
User Session Management Example |
|
|
148 | (10) |
|
|
|
158 | (7) |
|
Setting Up the SQL Example |
|
|
158 | (1) |
|
|
|
159 | (6) |
|
|
|
165 | (2) |
|
|
|
167 | (38) |
|
|
|
169 | (1) |
|
|
|
170 | (24) |
|
|
|
170 | (2) |
|
|
|
172 | (1) |
|
|
|
173 | (3) |
|
|
|
176 | (4) |
|
|
|
180 | (2) |
|
|
|
182 | (1) |
|
|
|
183 | (4) |
|
|
|
187 | (1) |
|
|
|
188 | (1) |
|
|
|
189 | (2) |
|
|
|
191 | (1) |
|
|
|
192 | (1) |
|
|
|
193 | (1) |
|
Building a Custom Logicsheet |
|
|
194 | (8) |
|
|
|
195 | (4) |
|
Deploying the myUtil Logicsheet |
|
|
199 | (3) |
|
|
|
202 | (3) |
|
|
|
205 | (36) |
|
Generators As Cocoon Components |
|
|
206 | (21) |
|
|
|
206 | (2) |
|
The Generator for Error Handling |
|
|
208 | (1) |
|
Using Scripting Languages with BSF |
|
|
209 | (8) |
|
|
|
217 | (1) |
|
|
|
217 | (1) |
|
The Directory Generator Group |
|
|
217 | (3) |
|
|
|
220 | (2) |
|
|
|
222 | (2) |
|
Debugging and Performance Tuning |
|
|
224 | (3) |
|
Creating a Custom Generator |
|
|
227 | (12) |
|
Sitemap Entries for the SurveyGenerator |
|
|
228 | (1) |
|
Requirements for a Generator |
|
|
229 | (2) |
|
|
|
231 | (7) |
|
The XSLT Transformation for Surveys |
|
|
238 | (1) |
|
|
|
239 | (2) |
|
Configuration for Debugging and Optimization |
|
|
241 | (28) |
|
|
|
242 | (16) |
|
|
|
243 | (1) |
|
Formatting the Output of a LogTarget |
|
|
244 | (6) |
|
Using the Logs to Debug a Problem |
|
|
250 | (1) |
|
|
|
251 | (5) |
|
|
|
256 | (2) |
|
Optimizing the Cocoon 2 System |
|
|
258 | (9) |
|
Modifying the Tomcat Configuration File |
|
|
259 | (1) |
|
Modifying the cocoon.xconf File |
|
|
260 | (1) |
|
Modifying the sitemap.xmap File |
|
|
260 | (1) |
|
Modifying the logkit.xconf File |
|
|
261 | (3) |
|
Deciding What Gets Served from Cache |
|
|
264 | (1) |
|
Optimizing and Compiling XSPs |
|
|
265 | (1) |
|
General Recommendations for Application Design |
|
|
265 | (2) |
|
|
|
267 | (2) |
|
|
|
269 | (20) |
|
Patterns in Web Programming |
|
|
270 | (1) |
|
Moving Simple Sites to Cocoon |
|
|
271 | (4) |
|
Separating Presentation from Content |
|
|
271 | (1) |
|
|
|
272 | (1) |
|
|
|
273 | (2) |
|
|
|
275 | (6) |
|
|
|
280 | (1) |
|
|
|
281 | (4) |
|
|
|
283 | (2) |
|
Cocoon's XmlForms Project |
|
|
285 | (1) |
|
The Wiki and Blog Phenomena |
|
|
285 | (2) |
|
|
|
286 | (1) |
|
|
|
286 | (1) |
|
|
|
287 | (1) |
|
|
|
288 | (1) |
|
Patterns of Content Generation |
|
|
289 | (20) |
|
|
|
290 | (3) |
|
Cocoon and the Model-View-Controller Pattern |
|
|
291 | (1) |
|
JBoss---the Open-Source J2EE Server |
|
|
292 | (1) |
|
Cocoon and Loosely Coupled Systems |
|
|
293 | (3) |
|
|
|
293 | (1) |
|
|
|
294 | (2) |
|
|
|
296 | (3) |
|
Getting a SOAP Stock Quote |
|
|
297 | (1) |
|
Support for SOAP Programming |
|
|
298 | (1) |
|
|
|
299 | (7) |
|
Relational Databases and JDBC |
|
|
299 | (1) |
|
|
|
299 | (7) |
|
|
|
306 | (2) |
|
|
|
306 | (2) |
|
|
|
308 | (1) |
| Appendix A Resources |
|
309 | (6) |
|
|
|
310 | (2) |
|
|
|
310 | (1) |
|
|
|
311 | (1) |
|
|
|
311 | (1) |
|
|
|
312 | (1) |
|
|
|
312 | (1) |
|
Tutorials, FAQs, and Other Goodies |
|
|
313 | (2) |
| Appendix B Sitemap Tag References |
|
315 | (6) |
| Glossary |
|
321 | (18) |
| Index |
|
339 | |