apache cocoon
Skip this Video
Download Presentation
Apache Cocoon

Loading in 2 Seconds...

play fullscreen
1 / 9

Apache Cocoon - PowerPoint PPT Presentation

  • Uploaded on

Apache Cocoon. Part II 3/6/06 Kevin Davis. Learning Objectives. Understand how CForms work Understand how XSPs work Make a basic CForm that can pass information to an XSP. Cocoon Forms vs HTML Forms. Cocoon forms – use XML to make reusable form objects with easy validation

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Apache Cocoon' - badu

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
apache cocoon

Apache Cocoon

Part II


Kevin Davis

learning objectives
Learning Objectives
  • Understand how CForms work
  • Understand how XSPs work
  • Make a basic CForm that can pass information to an XSP
cocoon forms vs html forms
Cocoon Forms vs HTML Forms
  • Cocoon forms – use XML to make reusable form objects with easy validation
  • HTML forms – must write all forms individually and use Javascript or other languages for some validation
  • See working samples at http://blaze.terry.uga.edu:8080/cocoon/samples/blocks/forms/
  • XML entities in the definition file that give a form field its name and validation information

<fd:field id="email" required="true">

<fd:label>Email address:</fd:label>

<fd:datatype base="string"/>





  • Called in the template file along with HTML code for formatting


<ft:widget-label id="email"/>

<ft:widget id="email"/>

  • Have built-in responses to validation issues, including help tooltips and redisplaying the form if something wasn’t correct
  • A Javascript file and the sitemap control the order in which pages are called

function registration() {

var form = new Form("registration_definition.xml");


var viewData = { "username" : form.getChild("name").getValue() }

cocoon.sendPage("registration-success-pipeline", viewData);


flow continued
Flow Continued

<map:flow language="javascript">

<map:script src="registration.js"/>



<map:match pattern="registration">

<map:call function="registration"/>


<map:match pattern="registration-display-pipeline">

<map:generate type="jx" src="registration_template.xml"/>

<map:transform type="i18n">

<map:parameter name="locale" value="en-US"/>


<map:transform src="forms-samples-styling.xsl"/>



<map:match pattern="registration-success-pipeline">

<map:generate type="jx" src="registration_success.jx"/>



  • Much like servlets, XSPs can request data from a submitted form and insert it into a database, or call and display data from a database
  • XML tags and Java code can be used
  • Connection to a database occurs in one Cocoon configuration file, XSPs just need to call the name of the database
xsps continued
XSPs Continued





INSERT into otc_users (name,email,password,age,spam) values (\'<xsp:expr>esc_name</xsp:expr>\',\'<xsp- request:get-parameter name="email"/>\',\'<xsp- request:get-parameter name="password"/>\',\'<xsp- request:get-parameter name="age"/>\',\'<xsp-request:get- parameter name="spam"/>\')





[java code]


  • Follow the guide located at http://cocoon.apache.org/2.1/userdocs/basics/sample.html - create your own template and definition files with at least one unique widget
  • Compare this to the working example located at http://blaze.terry.uga.edu:8080/cocoon/cforms/registration
  • Look at the files sitemap-modified.xmap and test.xsp in the opt/tomcat5/webapps/cocoon/cforms directory to see how a CForm could use an XSP to insert data into a database