cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From asif_zzz <as...@meteximtechnologies.com>
Subject Re: How to create dynamic CForms Template,Definition and binding
Date Thu, 29 Jan 2009 06:41:56 GMT

Hi Mark,

Im facing some integration problems when dynamically creating the CForms
Template,Definition and binding.
My Global validation error block is not working when doing this. When i
remove the dynamic artifacts,Global validation error block works fine.

Both these features works independently.

Any suggestion ,it would help me to solve this problem.

Here i post the my codes which are related to it

Sitemap.xmap
-------------

<map:match pattern="MainForm-dyna-tmpl">
	<map:generate src="forms/MainForm_tmpl.xml"/>
	 <map:transform type="xinclude"/>
	<map:transform src="stylesheets/MainForm_tmpl.xsl"/> 
	<map:serialize type="xml"/>
</map:match>

<map:match pattern="MainForm-dyna-defn">
	<map:generate src="forms/MainForm_defn.xml"/>
	<map:transform type="xinclude"/>
	<map:transform src="stylesheets/MainForm_defn.xsl"/> 
	<map:serialize type="xml"/>
</map:match>

<map:match pattern="formDyna/**">
	<map:generate src="cocoon:/MainForm-dyna-tmpl" type="jx">
		<map:parameter name="lenient-xpath" value="true" />
	</map:generate>
	<map:transform type="xinclude"/>
	....
</map:match>

Flow.js:
-------------

var form = new Form("cocoon:/MainForm-dyna-defn");
form.showForm("formDyna/MainForm");

MainForm_tmpl.xml:
---------------------

<page>
<ft:form-template id="mainForm" action="#{$cocoon/continuation/id}.continue"
method="POST" enctype="multipart/form-data" ajax="true">
	<fi:validation-errors>
	
<header><p><i18n:text>validationErrorMessageHeader</i18n:text></p></header>
	
<footer><p><i18n:text>validationErrorMessageFooter</i18n:text></p></footer>
	</fi:validation-errors>

	....
	<table>
		<fields type="sample" cols="5"/>
	</table>
</ft:form-template>
<xi:include href="../data/Fields.xml"/>
</page>

MainForm_defn.xml:
---------------------

<fd:form
	xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
	xmlns:fd="http://apache.org/cocoon/forms/1.0#definition"
	xmlns:xi="http://www.w3.org/2001/XInclude">

	<fd:widgets>
		....
	</fd:widgets>
<xi:include href="../data/Fields.xml"/>
</fd:form>

Fields.xml:
----------------
<infos xmlns:i18n="http://apache.org/cocoon/i18n/2.1">
	<type1>
		<info name="c1"><i18n:text>text1</i18n:text></info>
		<info name="c2"><i18n:text>text2</i18n:text></info>
		...
	</type1>
</infos>

MainForm_tmpl.xsl:
----------------------

<xsl:stylesheet version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
	xmlns:ft="http://apache.org/cocoon/forms/1.0#template">

	<xsl:include
href="resource://org/apache/cocoon/forms/resources/forms-page-styling.xsl"/>
	<xsl:include
href="resource://org/apache/cocoon/forms/resources/forms-advanced-field-styling.xsl"/>

  
	<xsl:param name="resources-uri">resources</xsl:param>
	
	<xsl:template match="fields">
	  <xsl:variable name="cellsPerRow" select="@cols"/>
	  <xsl:variable name="type" select="@type"/>
	  <xsl:for-each select="/page/infos/*[local-name()=$type]/info[position()
mod $cellsPerRow = 1]">
	    <tr>
	      <xsl:apply-templates select=".|following-sibling::info[position()
&lt; $cellsPerRow]">
	      </xsl:apply-templates>
	    </tr>
	  </xsl:for-each>
	</xsl:template>

	<xsl:template match="info">		
		<td>
		    <ft:widget-label>
			    <xsl:attribute name="id"><xsl:value-of select="."/></xsl:attribute>
		    </ft:widget-label>
		    <ft:widget>
		    	<xsl:attribute name="id"><xsl:value-of
select="@name"/></xsl:attribute>
		    </ft:widget>
		</td>
	</xsl:template>
</xsl:stylesheet>

MainForm_defn.xsl:
----------------------

My MainForm_defn stylesheet has the definition artifacts in <xsl:template
match="info"> tagset,
rest of the codes are same as MainForm_tmpl.xsl

<xsl:template match="info">
	<fd:field>
		<xsl:attribute name="id"><xsl:value-of select="@name"/></xsl:attribute>
		<fd:label><i18n:text><xsl:value-of select="@name"/></i18n:text></fd:label>
		<fd:datatype base="string"/>
	</fd:field>
</xsl:template>


Thanks in Advance.
Regards,
Aashik
-- 
View this message in context: http://www.nabble.com/How-to-create-dynamic-CForms-Template%2CDefinition-and-binding-tp21200337p21721707.html
Sent from the Cocoon - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message