cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Portier <...@outerthought.org>
Subject Re: AW: AW: [Woody] Binding problem for missing elements in source file
Date Sat, 20 Dec 2003 15:08:15 GMT
Yo, all.

answer is in the combination of using
- @lenient (for surviving reads from paths that don't exist yet)
- and the o.a.c.util.jxpath.DOMFactory (for creating new paths on the 
target XML)

for some mysterious reason one of my commits messed up the auto-registry 
of that factory on Nodes, fixed now.

regards,
-marc=



Markus Heussen wrote:

> 
>>-----Urspr√ľngliche Nachricht-----
>>Von: Upayavira [mailto:uv@upaya.co.uk]
>>Gesendet: Donnerstag, 18. Dezember 2003 12:12
>>An: users@cocoon.apache.org
>>Betreff: Re: AW: [Woody] Binding problem for missing elements in source
>>file
>>
>>
>>Markus Heussen wrote:
>>
>>
>>>-----Ursprungliche Nachricht-----
>>>Von: Upayavira
>>>Gesendet: Mittwoch, 17. Dezember 2003 16:49
>>>An: users@cocoon.apache.org
>>>Betreff: Re: [Woody] Binding problem for missing elements in source file
>>>
>>>
>>>Markus Heussen wrote:
>>>
>>>
>>>
>>>
>>>>>Hi all.
>>>>>
>>>>>I'm new to the Woody framework but till now it works fine for me. But
I
>>>>>
>>>>>
>>>
>>>have
>>>
>>>
>>>
>>>>>one problem I don't know how to solve at best :-(
>>>>>
>>>>>I get the following exception when I submit the form:
>>>>>
>>>>>
>>>>>org.apache.cocoon.woody.binding.BindingException: Problem binding field
>>>>>vn_titel (parent = "") to xpath v:Titel (context xpath =
>>>>>"/soap-env:Envelope[1]/soap-env:Body[1]/v:Versicherung[1]/v:Par
>>
>>tner[1]/v:P
>>
>>>>>
>>>er
>>>
>>>
>>>
>>>>>son[1]")
>>>>>
>>>>>org.apache.commons.jxpath.JXPathException: No value for xpath: v:Titel
>>>>>
>>>>>
>>>>>The field is defined in the form definition file and a binding is also
>>>>>defined in the woody binding file. But in one case there is no
>>>>>
>>>>>
>>>
>>>corresponding
>>>
>>>
>>>
>>>>>XML tag in my source file. In other case there is one. I have to create
>>>>>
>>>>>
>>>
>>>the
>>>
>>>
>>>
>>>>>element if it is missing. So how can I manage this situation at best?
>>>>>
>>>>>Who can point me to the right direction?
>>>>>
>>>>>
>>>>>
>>>>
>>>>Not sure if I'm right here, but I think you need 'lenient' jxpath within
>>>>binding - this means that, if jxpath doesn't find a node, it ignores it,
>>>>rather than causing an exception.
>>>>
>>>>
>>>>
>>>
>>>But this is not exactly what I have to do. If there is no node
>>
>>in the source
>>
>>>file I have to create this node before the binding saves it back to the
>>>source. How can I manage this at best? I have no experience in using the
>>>woody framework. When I set @readonly to true within the binding I get no
>>>exceptions because there is no saving process. But in fact I have to save
>>>it. I tried something around <wb:insert-node/> but it didn't work :-(
>>><wb:delete-node/> does what I expected.
>>>
>>>Anyone there who can give me a hint? I really need this feature.
>>>
>>>
>>
>>I'm no expert either, and I've never used binding. I am talking about
>>'lenient' not 'readonly' or 'direction'. It was committed into CVS this
>>morning, here's a snippet from the status.xml file:
>>
>>   <action dev="MPO" type="add" >
>>     Changed semantics on the cforms binding. Added a @direction
>>(which replaces
>>     the @read-only) and a @lenient attribute on all binding
>>implementations in
>>     the pool.
>>   </action>
>>
>>
>>Still don't know if this is what you're after.
>>
>>Regards,  Upayavira
> 
> 
> I spend some time learning more about this lenient thing and meanwhile I use
> a current developer version (about two hours old) for my application.
> 
> But still it doesn't work :-( Maybe somebody can explain what I'm doing
> wrong. I have something like this:
> 
> 
> woody binding:
> <wb:value id="vn_titel" path="v:Titel" lenient="true"/>
> 
> 
> woody field:
> <wd:field id="vn_titel" required="false">
> 	<wd:label>Titel</wd:label>
> 	<wd:datatype base="string"/>
> </wd:field>
> 
> 
> On submit I get the following exception:
> 
> org.apache.commons.jxpath.JXPathException: Exception trying to create xpath
> v:Titel; Factory is not set on the JXPathContext - cannot create path:
> /soap-env:Envelope[1]/soap-env:Body[1]/v:Versicherung[1]/v:Partner[1]/v:Pers
> on[1]
> 
> Though it was recognized that the v:Titel node is not present in my source
> file. But what's my mistake? I also tried to set the lenient attribute on
> the parent context element but I still get the exception.
> 
> I need your help because this feature is very basic for me.
> 
> Thanks for your help.
> 
> Markus
> 
> 
> 
> 
>>>Markus
>>>
>>>
>>>
>>>
>>>
>>>>There has been discussion on the dev list about adding this over the
>>>>last couple of days. I'm not sure if it is in CVS Cocoon yet, but I
>>>>suspect it will be within a day or so.
>>>>
>>>>Regards, Upayavira
>>>>
>>>>
>>>>
>>>>
>>>>>Thanks for your help, Markus.
>>>>>
>>>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>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
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
> 

-- 
Marc Portier                            http://outerthought.org/
Outerthought - Open Source, Java & XML Competence Support Center
Read my weblog at                http://blogs.cocoondev.org/mpo/
mpo@outerthought.org                              mpo@apache.org


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


Mime
View raw message