Dear all,

I would like to put a variable to an item of a repeater widget:

miscs[0].code = "ISIL";
miscs[0].misc = cocoon.session.getAttribute("mpf_aaa_isil");

Maybe i must change somehow the binding file:

       <fb:context path="misc-group">
           <fb:repeater id="miscs" parent-path="." row-path="misc">
               <fb:on-bind>

<!--                     <fb:value id="misc" path="."/> -->
       <fb:javascript id="miscs.0.misc" path=".">
           <fb:load-form>
               ????
           </fb:load-form>
           <fb:save-form>
               ????
           </fb:save-form>
       </fb:javascript>

<!--                     <fb:value id="code" path="@role"/> -->
       <fb:javascript id="miscs.0.code" path="@role">
           <fb:load-form>
               ????
           </fb:load-form>
           <fb:save-form>
               ????
           </fb:save-form>
       </fb:javascript>

               </fb:on-bind>
               <fb:on-delete-row>
                   <fb:delete-node/>
               </fb:on-delete-row>
               <fb:on-insert-row>
                   <fb:insert-node/>
               </fb:on-insert-row>
           </fb:repeater>
       </fb:context>


Could anyone help me.


Best Regards,

Erik Hovi

<?xml version="1.0" encoding="UTF-8"?>

<!-- physical-collection model -->

<fd:form 
	xmlns:fd="http://apache.org/cocoon/forms/1.0#definition"; 
	xmlns:i18n="http://apache.org/cocoon/i18n/2.1";
	xmlns:xdepo="http://xdepo.org/xdepo/1.0";
	>

  <fd:widgets>

		<fd:field id="xdepo">
			<fd:datatype base="string"/>
		</fd:field>
		<fd:field id="xdepopage">
			<fd:label></fd:label>
			<fd:datatype base="string"/>
			<fd:selection-list src="../../xdepo-local/datatypes/mpf/physical-collection/forms/form1/pages.xml" dynamic="true"/>
		</fd:field>
	    
		<fd:output id="creation-date">
			<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.creation-date"/></fd:label>
			<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.creation-date.help"/></fd:help>
			<fd:datatype base="string"/>
		</fd:output>
	
		<fd:output id="modification-date">
			<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.modification-date"/></fd:label>
			<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.modification-date.help"/></fd:help>
			<fd:datatype base="string"/>
		</fd:output>
		
		<fd:output id="agent">
			<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.agent"/></fd:label>
			<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.agent.help"/></fd:help>
			<fd:datatype base="string"/>
		</fd:output>
	
		<fd:field id="update">
			<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.update"/></fd:label>
			<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.update.hint"/></fd:hint>
			<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.update.help"/></fd:help>
			<fd:datatype base="date">
				<fd:convertor>
					<fd:patterns>
						<fd:pattern>yyyy-MM-dd</fd:pattern>
					</fd:patterns>
				</fd:convertor>
			</fd:datatype>
		</fd:field>
		
		<fd:field id="language">
			<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.language"/></fd:label>
			<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.language.hint"/></fd:hint>
			<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.language.help"/></fd:help>
			<fd:datatype base="string"/>
			<fd:selection-list src="../../xdepo-local/common/langs.xml"/> 
		</fd:field>
		
		<xdepo:widget name="chooseWidgetSupervisor">
			<xdepo:sub-widget  role="supervisor">
				<fd:field  id="record-status">
					<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status"/></fd:label>
					<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status.hint"/></fd:hint>
					<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status.help"/></fd:help>
					<fd:datatype base="string"/>
					<fd:selection-list src="cocoon:/listvalues.xml?uri=/Lists/&amp;doc=record-status.xml"/>
				</fd:field>
			</xdepo:sub-widget>
			<xdepo:sub-widget  role="others">
				<fd:output  id="record-status">
					<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status"/></fd:label>
					<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status.hint"/></fd:hint>
					<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status.help"/></fd:help>
					<fd:datatype base="string"/>
				</fd:output>
			</xdepo:sub-widget>
		</xdepo:widget>
	
		<fd:field id="right">
			<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.rights"/></fd:label>
			<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.rights.hint"/></fd:hint>
			<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.rights.help"/></fd:help>
			<fd:datatype base="string"/>
		</fd:field>
		
		<fd:field id="comment">
			<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.comment"/></fd:label>
			<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.comment.hint"/></fd:hint>
			<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.comment.help"/></fd:help>
			<fd:datatype base="string"/>
		</fd:field>
		
		<fd:field id="misc-val">
			<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.val"/></fd:label>
			<fd:datatype base="string"/>
		</fd:field>
		
		<fd:repeater id="miscs" initial-size="1">
			<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc"/></fd:label>
			<fd:widgets>
				<fd:output id="id">
					<fd:datatype base="long"/>
				</fd:output>
				<fd:field id="code">
					<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.code"/></fd:label>
					<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.hint"/></fd:hint>
					<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.help"/></fd:help>
					<fd:datatype base="string"/>
				</fd:field>
				<fd:field id="misc">
					<fd:datatype base="string"/>
				</fd:field>
				<fd:row-action id="removemisc" action-command="delete">
					<fd:label><i18n:text key="less"/></fd:label>
				</fd:row-action>
				<fd:row-action id="addmisc" action-command="add-after">
					<fd:label><i18n:text key="more"/></fd:label>
				</fd:row-action>
			</fd:widgets>
		</fd:repeater>
	
	</fd:widgets>
   
</fd:form>
<?xml version="1.0" encoding="UTF-8"?>

<!-- physical-collection binding -->

<fb:context 
	xmlns:fb="http://apache.org/cocoon/forms/1.0#binding"; 
	xmlns:fd="http://apache.org/cocoon/forms/1.0#definition";
	path="/physical-collection">
	
	<fb:javascript id="xdepo" path="/physical-collection/@xdepo:datatype">
		<fb:load-form>
			createNonExistentElement( jxpathContext,"/physical-collection", "metadata",0);
			createNonExistentElementWithAttribute( jxpathContext,"/physical-collection/metadata", "language",0,"code");
			createNonExistentElementWithAttribute( jxpathContext,"/physical-collection/metadata", "record-status",1,"code");
		</fb:load-form>
		<fb:save-form>
		
		</fb:save-form>
	</fb:javascript>

	<fb:context path="metadata">
	
		<fb:value id="creation-date" path="creation/date"/>
		
		<fb:value id="modification-date" path="modification/date"/>
		
		<fb:javascript id="update" path="update">
			<fb:load-form>
				var update = jxpathPointer.getValue();
				var date = new java.text.SimpleDateFormat("yyyy-MM-dd").parse(update);
				widget.setValue(date);
			</fb:load-form>
			<fb:save-form>
				jxpathPointer.setValue(new java.text.SimpleDateFormat("yyyy-MM-dd").format(widget.getValue()));
			</fb:save-form>
		</fb:javascript>
		
		<fb:javascript  id="record-status" path="record-status/@code">
			<fb:load-form>
				var role = cocoon.session.getAttribute("mpf_role");
				var contadmin = cocoon.session.getAttribute("mpf_contadmin");
				var systadmin = cocoon.session.getAttribute("mpf_systadmin");
				var value= "";
				if (role.equals("supervisor") || contadmin.equals("true") || systadmin.equals("true")) {
					var currentval = jxpathPointer.getValue();
					if (currentval=="") {
						value = "valid";
					}
					else {
						value = currentval;
					}
				}
				else {
					value = "draft";
				}
				widget.setValue(value);
			</fb:load-form>
			<fb:save-form>
				var role = cocoon.session.getAttribute("mpf_role");
				var contadmin = cocoon.session.getAttribute("mpf_contadmin");
				var systadmin = cocoon.session.getAttribute("mpf_systadmin");
				if (role.equals("supervisor") || contadmin.equals("true") || systadmin.equals("true")) {
					jxpathPointer.setValue(widget.getValue());
					if (widget.getValue().equals("valid")){
						var date = new java.util.Date();
						var df = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(date);
						var login = cocoon.session.getAttribute("xdepo_login");
						var name="";
						var email="";
						var database = cocoon.session.getAttribute("xdepo_instance");
						var xdbuser = DatabaseManager.getCollection("xmldb:"+database+":///db" + "/mpf/conf/users/", "admin", getGlobalVariable(database+"-admin-pwd"));
						var userservice = xdbuser.getService( "XQueryService", "1.0" );
						var q = userservice.queryResource(login+".xml","/user/name/text()");
						if (q.getSize() > 0){
							name = q.getResource(0).getContent();
						}
						var q2 = userservice.queryResource(login+".xml","/user/email/text()");
						if (q2.getSize() > 0){
							email = q2.getResource(0).getContent();
						}
						var metadata = jxpathContext.getPointer("/*/metadata");
						var validation = jxpathContext.getPointer("/*/metadata/validation");
						var qname = new Packages.org.apache.commons.jxpath.ri.QName("validation");
						if (validation.getNode()==null){
							metadata.createChild(jxpathContext, qname, 0);
							validation = jxpathContext.getPointer("/*/metadata/validation");
						}
						var validationdate = jxpathContext.getPointer("/*/metadata/validation/date");
						qname = new Packages.org.apache.commons.jxpath.ri.QName("date");
						if (validationdate.getNode()==null){
							validation.createChild(jxpathContext, qname, 0,df);
						}
						var validationagent = jxpathContext.getPointer("/*/metadata/validation/agent");
						qname = new Packages.org.apache.commons.jxpath.ri.QName("agent");
						if(validationagent.getNode()==null){
							validation.createChild(jxpathContext, qname, 0);
							validationagent = jxpathContext.getPointer("/*/metadata/validation/agent");
						}
						var validationagentcode = jxpathContext.getPointer("/*/metadata/validation/agent/@code");
				var premiervalidationagent =  jxpathContext.getPointer("/*/metadata/validation/agent/@code");
				 qname = new Packages.org.apache.commons.jxpath.ri.QName("code");
				 if(validationagentcode.getNode()==null){
					validationagent.createAttribute(jxpathContext, qname).setValue(login);
				 }
				 var validationagentname = jxpathContext.getPointer("/*/metadata/validation/agent/@name");
				 qname = new Packages.org.apache.commons.jxpath.ri.QName("name");
				 if(validationagentname.getNode()==null &amp;&amp; premiervalidationagent.getNode()==null){
					validationagent.createAttribute(jxpathContext, qname).setValue(name);
				 }
				 var validationagentmail = jxpathContext.getPointer("/*/metadata/validation/agent/@email");
				 qname = new Packages.org.apache.commons.jxpath.ri.QName("email");
				 if(validationagentmail.getNode()==null &amp;&amp; premiervalidationagent.getNode()==null){
					validationagent.createAttribute(jxpathContext, qname).setValue(email);
				 }
					}
				}
				else {
					jxpathPointer.setValue("draft");
				}
			</fb:save-form>
		</fb:javascript>
		
		<fb:value id="agent" path="owner/agent/@code"/>
		
		<fb:value id="right" path="rights"/>
		
		<fb:javascript id="language" path="language/@code">
			<fb:load-form>
				var value = jxpathPointer.getValue();
				if (value=="") {
					value = cocoon.session.getAttribute("xdepo_lang");
				}
				widget.setValue(value);
			</fb:load-form>
			<fb:save-form>
				jxpathPointer.setValue(widget.getValue());
			</fb:save-form>
		</fb:javascript>
		
		<fb:javascript id="comment" path="comment">
			<fb:load-form>			
				loadingWidgetWithSeparator(widget, jxpathPointer,"\n\n");
			</fb:load-form>
			<fb:save-form>
				creatingElementWithSeparator(widget, jxpathPointer,jxpathContext,"\r\n","\n","p");
			</fb:save-form>
		</fb:javascript>
		
		<fb:context path="misc-group">
			<fb:repeater id="miscs" parent-path="." row-path="misc">
				<fb:on-bind>
					<fb:value id="misc" path="."/>
					<fb:value id="code" path="@role"/>
				</fb:on-bind>
				<fb:on-delete-row>
					<fb:delete-node/>
				</fb:on-delete-row>
				<fb:on-insert-row>
					<fb:insert-node/>
				</fb:on-insert-row>
			</fb:repeater>
		</fb:context>
	
	</fb:context>
	
</fb:context>
 
<?xml version="1.0" encoding="UTF-8"?>

<!-- physical-collection template -->

<document
		xmlns:ft="http://apache.org/cocoon/forms/1.0#template";
		xmlns:fi="http://apache.org/cocoon/forms/1.0#instance"; 
		xmlns:i18n="http://apache.org/cocoon/i18n/2.1";
		xmlns:xdepo="http://xdepo.org/xdepo/1.0";>

	<header>
		<title>
			<i18n:text i18n:catalogue="mpf_michael-forms" key="physical-collection.header"/>
		</title>
		<style href="lib/xdepo/css/viewer.css"/>
	</header>
	<body id="formulaire">
		<div class="main">
			<ft:form-template name="physical-collection" method="POST" action="#{$continuation/id}.continue?uri=${cocoon.request.uri}&amp;doc=${cocoon.request.doc}">
				<div class="infocontext">
					<p>
						<i18n:text i18n:catalogue="mpf_michael-forms" key="physical-collection.header"/>&#160;<xdepo:viewer-context base="${cocoon.request.uri}" title="${cocoon.request.uri}"/>&#160;:&#160;${cocoon.request.doc}&#160;
						<ft:widget id="xdepopage">
							<fi:styling onChange="FormSubmit('physical-collection');"/>
						</ft:widget>
					</p>
				</div>
				<fi:validation-errors>
					<header>
						<i18n:text i18n:catalogue="mpf_michael-forms" key="michael.validation.errors.header"/>
					</header>
					<footer>
						<i18n:text i18n:catalogue="mpf_michael-forms" key="michael.validation.errors.footer"/>
					</footer>
				</fi:validation-errors>
				
				<table align="center" cellpadding="0" cellspacing="0" class="form"> 
					<tr> 
						<td colspan="2"> 
							<table width="100%" cellpadding="0" cellspacing="0">
								<!--creation date-->
								<tr class="line b1"> 
									<td class="missing">
										<xdepo:alert id="creation-date"/>
									</td> 
									<td class="mandatory"> 
										<xdepo:required id="creation-date"/> 
									</td> 
									<td class="more">&#160;</td>
									<td class="less">&#160;</td>
									<td class="label">
										<ft:widget-label id="creation-date"/>
									</td> 
									<td class="value">
										<ft:widget id="creation-date">
											<fi:styling help="false" required="false" validation="false"/>
										</ft:widget>
									</td>
									<td class="help">
										<xdepo:help id="creation-date">
											<img src="resources/help.gif" border="0"/>
										</xdepo:help>
									</td> 
								</tr>
								<!--modification date-->
								<tr class="line b2"> 
									<td class="missing">
										<xdepo:alert id="modification-date"/>
									</td> 
									<td class="mandatory"> 
										<xdepo:required id="modification-date"/> 
									</td> 
									<td class="more">&#160;</td>
									<td class="less">&#160;</td>
									<td class="label">
										<ft:widget-label id="modification-date"/>
									</td> 
									<td class="value">
										<ft:widget id="modification-date">
											<fi:styling help="false" required="false" validation="false"/>
										</ft:widget>
									</td>
									<td class="help">
										<xdepo:help id="modification-date">
											<img src="resources/help.gif" border="0"/>
										</xdepo:help>
									</td> 
								</tr>
								<!--update-->
								<tr class="line b1"> 
									<td class="missing">
										<xdepo:alert id="update"/>
									</td> 
									<td class="mandatory"> 
										<xdepo:required id="update"/> 
									</td> 
									<td class="more">&#160;</td>
									<td class="less">&#160;</td>
									<td class="label">
										<ft:widget-label id="update"/>
									</td> 
									<td class="value">
										<ft:widget id="update">
											<fi:styling help="false" required="false" validation="false"/>
										</ft:widget>
									</td>
									<td class="help">
										<xdepo:help id="update">
											<img src="resources/help.gif" border="0"/>
										</xdepo:help>
									</td> 
								</tr>
								<!--record-status-->
								<tr class="line b2"> 
									<td class="missing">
										<xdepo:alert id="record-status"/>
									</td> 
									<td class="mandatory"> 
										<xdepo:required id="record-status"/> 
									</td> 
									<td class="more">&#160;</td>
									<td class="less">&#160;</td>
									<td class="label">
										<ft:widget-label id="record-status"/>
									</td> 
									<td class="value">
										<ft:widget id="record-status">
											<fi:styling help="false" required="false" validation="false"/>
										</ft:widget>
									</td>
									<td class="help">
										<xdepo:help id="record-status">
											<img src="resources/help.gif" border="0"/>
										</xdepo:help>
									</td> 
								</tr>
								<!--agent-->
								<tr class="line b1"> 
									<td class="missing">
										<xdepo:alert id="agent"/>
									</td> 
									<td class="mandatory"> 
										<xdepo:required id="agent"/> 
									</td> 
									<td class="more">&#160;</td>
									<td class="less">&#160;</td>
									<td class="label">
										<ft:widget-label id="agent"/>
									</td> 
									<td class="value">
										<ft:widget id="agent">
											<fi:styling help="false" required="false" validation="false"/>
										</ft:widget>
									</td>
									<td class="help">
										<xdepo:help id="agent">
											<img src="resources/help.gif" border="0"/>
										</xdepo:help>
									</td> 
								</tr>
								<!--right-->
								<tr class="line b2"> 
									<td class="missing">
										<xdepo:alert id="right"/>
									</td> 
									<td class="mandatory"> 
										<xdepo:required id="right"/> 
									</td> 
									<td class="more">&#160;</td>
									<td class="less">&#160;</td>
									<td class="label">
										<ft:widget-label id="right"/>
									</td> 
									<td class="value">
										<ft:widget id="right">
											<fi:styling help="false" required="false" validation="false"/>
										</ft:widget>
									</td>
									<td class="help">
										<xdepo:help id="right">
											<img src="resources/help.gif" border="0"/>
										</xdepo:help>
									</td> 
								</tr>
								<!--language-->
								<tr class="line b1"> 
									<td class="missing">
										<xdepo:alert id="language"/>
									</td> 
									<td class="mandatory"> 
										<xdepo:required id="language"/> 
									</td> 
									<td class="more">&#160;</td>
									<td class="less">&#160;</td>
									<td class="label">
										<ft:widget-label id="language"/>
									</td> 
									<td class="value">
										<ft:widget id="language">
											<fi:styling help="false" required="false" validation="false"/>
										</ft:widget>
									</td>
									<td class="help">
										<xdepo:help id="language">
											<img src="resources/help.gif" border="0"/>
										</xdepo:help>
									</td> 
								</tr>
								<!--comment-->
								<tr class="line b2"> 
									<td class="missing">
										<xdepo:alert id="comment"/>
									</td> 
									<td class="mandatory"> 
										<xdepo:required id="comment"/> 
									</td> 
									<td class="more">&#160;</td>
									<td class="less">&#160;</td>
									<td class="label">
										<ft:widget-label id="comment"/>
									</td> 
									<td class="value">
										<ft:widget id="comment">
											<fi:styling help="false" required="false" validation="false" type="textarea"/>
										</ft:widget>
									</td>
									<td class="help">
										<xdepo:help id="comment">
											<img src="resources/help.gif" border="0"/>
										</xdepo:help>
									</td> 
								</tr>
								<!--misc-->
								<ft:repeater-widget id="miscs">
									<tr class="line b1">
										<td class="missing">
											&#160;
										</td>
										<td class="mandatory"> 
											&#160;
										</td>
										<td class="more">
											<ft:widget id="addmisc">
												<xdepo:button type="img" role="add" code="misc"/>
											</ft:widget>
										</td>
										<td class="less">
											<ft:widget id="removemisc">
												<xdepo:button type="img" role="remove" code="misc"/>
											</ft:widget>
										</td>
										<td class="label">
											<i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc"/>
										</td>
										<td class="value">
											<table cellspacing="0" cellpadding="0"> 
												<tr> 
													<td align="center">
														<i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.code"/>
													</td> 
													<td align="center">
														<i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.val"/>
													</td> 
												</tr> 
												<tr> 
													<td>
														<ft:widget id="code">
															<fi:styling size="10" help="false"/>
														</ft:widget>
													</td> 
													<td>
														<ft:widget id="misc">
															<fi:styling size="60"/>
														</ft:widget>
													</td> 
												</tr> 
											</table>
										</td>
										<td class="help">
											<xdepo:help id1="miscs." id2=".code">
												<img src="resources/help.gif" border="0"/>
											</xdepo:help>
										</td>
									</tr>
								</ft:repeater-widget>
								<!--navigation-->
								<tr>
									<td>&#160;</td>
									<td colspan="6">
										<table align="center" width="100%">
											<tr>
												<td align="left" width="33%">
													<input type="submit" name="prev" value="Prev" i18n:attr="value"/>
												</td>
												<td align="center" width="33%">
													<input type="submit" name="save" value="Save" i18n:attr="value"/>
												</td>
												<td align="right" width="33%">&#160;</td>
											</tr>
										</table>
									</td>
								</tr>
							</table>
						</td>
					</tr>
				</table>
			</ft:form-template>
		</div>
	</body>
</document>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to