You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Andrew MacDonald <an...@yahoo.com> on 2005/01/15 00:17:22 UTC
CForms: inserting unique node on save
Hello,
I'm using CForms to edit an XML file, but can't figure
out how to insert a unique node when saving the
document.
Here is what the default doc looks like:
==========================
<?xml version="1.0"?>
<tool>
<toolDetails>
<toolName>tool</toolName>
<toolDescription>description</toolDescription>
<endpointURL>URL</endpointURL>
<serviceURI>URI</serviceURI>
<serviceMethod>method</serviceMethod>
</toolDetails>
<params>
<param id="1">
<label/>
<paramName/>
<value/>
<soapType/>
<defaultValue/>
<display/>
<listItems>
<listItem id="1">
<label>preset1</label>
<value>preset1</value>
</listItem>
<listItem id="2">
<label>preset2</label>
<value>preset2</value>
</listItem>
</listItems>
</param>
</params>
</tool>
====================
Basically I want to insert a new <param> node (and
increase the id value for it). Currently when use the
form.save(doc) method it overwrites the first <param>.
I've been trying to specify the last <param> node in
my binding file but get a "JXPath can only create a
path if it uses exclusively the child:: and
attribute:: axes and has no context-dependent
predicates" error, so I'm assuming something like
"<fb:value id="label" path="param[last()]/label"/>"
will not work.
Oh, and although I'm using a repeater for <listItems>
I can't use that for <params> due to the way the forms
are set up.
Any help would be greatly appreciated!
Thanks,
Andrew MacDonald
__________________________________
Do you Yahoo!?
Yahoo! Mail - You care about security. So do we.
http://promotions.yahoo.com/new_mail
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: CForms: inserting unique node on save
Posted by Marc Salvetti <ma...@notremanou.net>.
I'm not too sure, but i think you need a repeater, you can just trop the
add and remove buttons in the template and just add a node in the dom
tree from the flow, before the form is binded.
document.getElementsByTagName("params").item(0).appendChild(document.createElement("param");
hope this help
Marc
Andrew MacDonald a écrit :
>Hello,
>I'm using CForms to edit an XML file, but can't figure
>out how to insert a unique node when saving the
>document.
>
>Here is what the default doc looks like:
>==========================
><?xml version="1.0"?>
><tool>
> <toolDetails>
> <toolName>tool</toolName>
> <toolDescription>description</toolDescription>
> <endpointURL>URL</endpointURL>
> <serviceURI>URI</serviceURI>
> <serviceMethod>method</serviceMethod>
> </toolDetails>
> <params>
> <param id="1">
> <label/>
> <paramName/>
> <value/>
> <soapType/>
> <defaultValue/>
> <display/>
> <listItems>
> <listItem id="1">
> <label>preset1</label>
> <value>preset1</value>
> </listItem>
> <listItem id="2">
> <label>preset2</label>
> <value>preset2</value>
> </listItem>
> </listItems>
> </param>
> </params>
></tool>
>====================
>Basically I want to insert a new <param> node (and
>increase the id value for it). Currently when use the
>form.save(doc) method it overwrites the first <param>.
> I've been trying to specify the last <param> node in
>my binding file but get a "JXPath can only create a
>path if it uses exclusively the child:: and
>attribute:: axes and has no context-dependent
>predicates" error, so I'm assuming something like
>"<fb:value id="label" path="param[last()]/label"/>"
>will not work.
>
>Oh, and although I'm using a repeater for <listItems>
>I can't use that for <params> due to the way the forms
>are set up.
>
>Any help would be greatly appreciated!
>
>Thanks,
>Andrew MacDonald
>
>
>
>
>__________________________________
>Do you Yahoo!?
>Yahoo! Mail - You care about security. So do we.
>http://promotions.yahoo.com/new_mail
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>For additional commands, e-mail: users-help@cocoon.apache.org
>
>
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org