Apache cocoon
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

Apache cocoon

  • 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"/>



Apache cocoon

  • 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