> -----Ursprüngliche Nachricht----- > Von: Marc Portier > Gesendet: Montag, 22. Dezember 2003 12:41 > An: [EMAIL PROTECTED] > Betreff: Re: AW: AW: AW: [Woody] Binding problem for missing elements in > source file > > > > > Markus Heussen wrote: > > > Many thanks to you, now everything works fine :-) > > > > yeah, we get there *eventually* > > > But two questions I still have: > > > > 1. Is it possible to control the position where nodes will be > created within > > a context? Sometimes this is necessary if the xml schema defines the > > sequence of nodes. > > > > could you be more specific? > > naieve first thought: the @path attribute of the wb:context has > precisely this purpose > > (given your previous questions and remarks that sounds like a too > simplistic answer though) >
My source file contains something like this: ... <v:Person Rolle="Versicherungsnehmer"> <v:Anrede Schlüssel="1"/> <!-- here a v:Titel node is missing --> <v:Vorname>firstname</v:Vorname> <v:Name>name</v:Name> <v:Anschrift> <v:Straße>street</v:Straße> <v:Plz>12345</v:Plz> <v:Ort>location</v:Ort> </v:Anschrift> <v:Geschlecht Schlüssel="1"/> <v:Geburtsdatum>0000-00-00</v:Geburtsdatum> <v:Familienstand Schlüssel="1"/> <v:Staatsangehörigkeit>D</v:Staatsangehörigkeit> ... </v:Person> ... And here is my binding: ... <wb:context path="v:Partner/[EMAIL PROTECTED]'Versicherungsnehmer'][1]"> <wb:value id="vn_anrede" path="v:Anrede/@Schlüssel" lenient="true"/> <wb:value id="vn_titel" path="v:Titel" lenient="true"/> <wb:value id="vn_vorname" path="v:Vorname" lenient="true"/> <wb:value id="vn_name" path="v:Name"/> <wb:value id="vn_namenszusatz" path="v:Namenszusatz" lenient="true"/> <wb:context path="v:Anschrift"> <wb:value id="vn_strasse" path="v:Straße" lenient="true"/> <wb:value id="vn_plz" path="v:Plz"/> <wb:value id="vn_ort" path="v:Ort"/> </wb:context> ... </wb:context> ... After submission the v:Titel node is recognized as missing and will be created as the last node of the context. So my result looks like this: ... <v:Person Rolle="Versicherungsnehmer"> <v:Anrede Schlüssel="1"/> <!-- here the v:Titel node has to be created --><!--<v:Titel>Dr.</v:Titel>--> <v:Vorname>firstname</v:Vorname> <v:Name>name</v:Name> <v:Anschrift> <v:Straße>street</v:Straße> <v:Plz>12345</v:Plz> <v:Ort>location</v:Ort> </v:Anschrift> <v:Geschlecht Schlüssel="1"/> <v:Geburtsdatum>0000-00-00</v:Geburtsdatum> <v:Familienstand Schlüssel="1"/> <v:Staatsangehörigkeit>D</v:Staatsangehörigkeit> ... <!-- here the node was created --><v:Titel>Dr.</v:Titel> </v:Person> ... But the W3C schema not allows this position for this node because the sequence of the nodes has to be like this: ... <v:Person Rolle="Versicherungsnehmer"> <v:Anrede Schlüssel="1"/> <v:Titel>Dr.</v:Titel> <v:Vorname>firstname</v:Vorname> <v:Name>name</v:Name> <v:Anschrift> <v:Straße>street</v:Straße> <v:Plz>12345</v:Plz> <v:Ort>location</v:Ort> </v:Anschrift> <v:Geschlecht Schlüssel="1"/> <v:Geburtsdatum>0000-00-00</v:Geburtsdatum> <v:Familienstand Schlüssel="1"/> <v:Staatsangehörigkeit>D</v:Staatsangehörigkeit> ... </v:Person> ... Is there a way woody supports this? A workaround can be a transformation of the result message that constructs the xml document that is valid against the schema. But that's not my favor :-( Thank you for your help! Markus > > 2. If the input of a date form field is for example "31.02.2004" after > > submission this value is automatically set to "02.03.2004". How > can I change > > this behavior? Is there a attribute I can set in the woody binding or > > definition file to get the behavior like using the "setLenient(false)" > > method of the class SimpleDateFormat? > > > > not yet, see other thread where you originally posted this... > > > Thanks for helping me! > > > > de nada, > > -marc= > > > Greetings, Markus > > > > > >>-----Ursprüngliche Nachricht----- > >>Von: Marc Portier > >>Gesendet: Samstag, 20. Dezember 2003 16:08 > >>An: [EMAIL PROTECTED] > >>Betreff: Re: AW: AW: [Woody] Binding problem for missing elements in > >>source file > >> > >> > >>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:[EMAIL PROTECTED] > >>>>Gesendet: Donnerstag, 18. Dezember 2003 12:12 > >>>>An: [EMAIL PROTECTED] > >>>>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: [EMAIL PROTECTED] > >>>>>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: [EMAIL PROTECTED] > >>>>>For additional commands, e-mail: [EMAIL PROTECTED] > >>>>> > >>>>> > >>>>> > >>>>> > >>>> > >>>> > >>>> > >>>>--------------------------------------------------------------------- > >>>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >>> > >>>--------------------------------------------------------------------- > >>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >> > >>-- > >>Marc Portier http://outerthought.org/ > >>Outerthought - Open Source, Java & XML Competence Support Center > >>Read my weblog at http://blogs.cocoondev.org/mpo/ > >>[EMAIL PROTECTED] [EMAIL PROTECTED] > >> > >> > >>--------------------------------------------------------------------- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > -- > Marc Portier http://outerthought.org/ > Outerthought - Open Source, Java & XML Competence Support Center > Read my weblog at http://blogs.cocoondev.org/mpo/ > [EMAIL PROTECTED] [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]