> Alex,
>
> I read that how-to. It does not seem apply to what I'm doing which is
> adding elements (in an attempt to get them added in a specific order) to
> my instance at xforms-model-construct time. I figured out a way to do it
> but it seems, at best, kludge to me. I have to add parent elements first
> followed by child elements. So parent elements are done via
> <xforms:action ev:event="xforms-model-construct-done">. Child elements
> are done via <xforms:action ev:event="xforms-ready">. Elements that need
> to come before sibling elements have to have their xforms:actions come
> after their sibling elements actions in the xform document.
>
> Below is an example of my solution. If there is a better way please let
> me know. The persisted instances needs to be in the following order and
> the xforms:action(s) are they only way I've come up with so far to do
> it.
>
> <root>
> <addServer>
> <addServer-fields/>
> </addServer>
> <addFilesystem>
> <addFilesystem-fields>
> <<contacts-list/>
> </addFilesystem>
> <addDatabase>
> <addDatabase-fields/>
> <contacts-list/>
> </addDatabase>
> </root>
>
> <xforms:action ev:event="xforms-model-construct-done">
> <xforms:insert context="xxforms:instance('addServers-instance')"
> nodeset="addDatabase"
> origin="xxforms:instance('addDatabase-instance')"/>
> </xforms:action>
>
> <xforms:action ev:event="xforms-model-construct-done">
> <xforms:insert context="xxforms:instance('addServers-instance')"
> nodeset="addFilesystem"
> origin="xxforms:instance('addFilesystem-instance')"/>
> </xforms:action>
>
> <xforms:action ev:event="xforms-model-construct-done">
> <xforms:insert context="xxforms:instance('addServers-instance')"
> nodeset="addServer" origin="xxforms:instance('addServer-instance')"/>
> </xforms:action>
>
> <xforms:action ev:event="xforms-ready">
> <xforms:insert
> context="xxforms:instance('addServers-instance')/addDatabase"
> nodeset="contacts-list"
> origin="xxforms:instance('addDatabase-contacts-list-instance')"/>
> </xforms:action>
>
> <xforms:action ev:event="xforms-ready">
> <xforms:insert
> context="xxforms:instance('addServers-instance')/addDatabase"
> nodeset="addDatabase-fields"
> origin="xxforms:instance('addDatabase-field-template')"/>
> </xforms:action>
>
> <xforms:action ev:event="xforms-ready">
> <xforms:insert
> context="xxforms:instance('addServers-instance')/addFilesystem"
> nodeset="contacts-list"
> origin="xxforms:instance('addFilesystem-contacts-list-instance')"/>
> </xforms:action>
>
> <xforms:action ev:event="xforms-ready">
> <xforms:insert
> context="xxforms:instance('addServers-instance')/addFilesystem"
> nodeset="addFilesystem-fields"
> origin="xxforms:instance('addFilesystem-field-template')"/>
> </xforms:action>
>
> <xforms:action ev:event="xforms-ready">
> <xforms:insert
> context="xxforms:instance('addServers-instance')/addServer"
> nodeset="addServer-fields"
> origin="xxforms:instance('addServer-field-template')"/>
> </xforms:action>
>
> Thanks.
>
> Martin
>
> -----Original Message-----
> From: Alessandro Vernet [mailto:
[hidden email]]
> Sent: Thursday, January 14, 2010 8:30 PM
> To:
[hidden email]
> Subject: [ops-users] Re: RE: Re: RE: Re: When I persist my instance the
> XML data is inverted
>
> Martin,
>
> I think that this how-to will help (linked below), in particular the
> paragraph about inserting at the end. But of course, the whole thing
> makes a good read! :)
>
>
http://wiki.orbeon.com/forms/how-to/repeat-insert-position>
> Alex
>
>
>
> On Jan 12, 2010, at 3:03 PM, "Schwartzman, Martin"
> <
[hidden email] > wrote:
>
>> Ethan,
>>
>> I tried
>>
>> <xforms:insert
>> context="xxforms:instance('addServers-instance')/addServer/
>> child::node()
>> [last()]" nodeset="contacts-list"
>> origin="xxforms:instance('addServer-contacts-list-instance')"/>
>>
>> because I want to add the contacts-list after the
>> <serverOperatingSystem> element but this failed to add anything.
>>
>> For grins, I also tried:
>> <xforms:insert
>> context="xxforms:instance('addServers-instance')/addServer"
>> nodeset="contacts-list/child::node()[last()]"
>> origin="xxforms:instance('addServer-contacts-list-instance')"/>
>>
>> but this had no effect.
>>
>> Thanks.
>>
>> Martin
>>
>> ________________________________
>>
>> From: Ethan Gruber [mailto:
[hidden email]]
>> Sent: Tuesday, January 12, 2010 2:34 PM
>> To:
[hidden email]
>> Subject: [ops-users] Re: RE: Re: When I persist my instance the XML
>> data is inverted
>>
>>
>> Martin,
>>
>> try nodeset="contacts-list/child::node()[last()]". I think that ought
>
>> to insert an instance after the last <contacts> in the <contact-list>.
>>
>> Ethan
>>
>>
>> On Tue, Jan 12, 2010 at 3:31 PM, Schwartzman, Martin
>> <
[hidden email]> wrote:
>>
>>
>> Alex,
>>
>> Is there a way to insert an element into a instance as the last
>> element
>> in the instance (in document order) instead of the first? I
>> tried:
>>
>> <xforms:action ev:event="xforms-ready">
>> <xforms:insert
>> context="xxforms:instance('addServers-instance')/addServer"
>> nodeset="contacts-list"
>> origin="xxforms:instance('addServer-contacts-list-instance')"
>> at="last()" position="after" />
>> </xforms:action>
>>
>> But this adds the addDatabase-contacts-list-instance elements
>> before the
>> initial <serverOperatingSystem> element in the addServer element.
>>
>> <addServer sectionLabel="Add Server Header">
>> <contacts-list>
>> <contacts>
>> <contactName/>
>> <phoneNumber/>
>> <emailAddress/>
>> <totalCost/>
>> </contacts>
>> </contacts-list>
>> <serverOperatingSystem>windows</serverOperatingSystem>
>> </addServer>
>>
>>
>>
>> Thanks.
>>
>> Martin
>> ________________________________
>>
>> From: Alessandro Vernet [mailto:
[hidden email]]
>> Sent: Monday, January 11, 2010 12:55 PM
>> To:
[hidden email]
>>
>> Subject: [ops-users] Re: When I persist my instance the XML data is
>>
>> inverted
>>
>>
>> Martin,
>>
>> I don't see any reason why this would happen. I recommend you
>> enable the
>> XForms inspector, and check that the order is correct just before
>> the
>> submission happens. If it is, the use a tool like tcpmon to see
>> what
>> goes over HTTP, to check that the order is indeed changed. If you
>> can
>> confirm this, then could you create an XForms sandbox test case
>> that
>> shows this behavior?
>>
>> Alex
>>
>>
>>
>> On Jan 8, 2010, at 3:37 PM, "Schwartzman, Martin"
>> <
[hidden email]> wrote:
>>
>>
>>
>> All,
>>
>> For some reason when I persist my instance the XML data is
>> inverted. If anyone can tell me why this is happening and how to
>> correct
>> it I would greatly appreciate it.
>>
>> The model looks like:
>>
>> <xforms:model id="rootModel">
>>
>> <xforms:instance id="my-instance">
>>
>> <my-instance-main>
>>
>> <books>
>>
>> <book>
>>
>> <title/>
>>
>> <author/>
>>
>> </book>
>>
>> </books>
>>
>> <houses>
>>
>> <house>
>>
>> <address/>
>>
>> <sqfeet/>
>>
>> </house>
>>
>> </houses>
>>
>> </my-instance-main>
>>
>> </xforms:instance>
>>
>> </xforms:model>
>>
>> The data is persisted via:
>>
>> <xforms:submission id="save-submission-xml"
>> ref="xxforms:instance('my-instance')"
>>
>> resource="/exist/rest/db/orbeon/xforms-sr/addServers-instance.xml"
>> method="put" replace="none">
>>
>> </xforms:submission>
>>
>> I don't understand why the <houses> element is
>> coming
>> before the <books> element.
>>
>> <my-instance-main>
>>
>> <houses>
>>
>> <house>
>>
>> <address/>
>>
>> <sqfeet/>
>>
>> </house>
>>
>> </houses>
>>
>> <books>
>>
>> <book>
>>
>> <title/>
>>
>> <author/>
>>
>> </book>
>>
>> </books>
>>
>> </my-instance-main>
>>
>>
>> --
>> You receive this message as a subscriber of the
>>
[hidden email] mailing list.
>> To unsubscribe: <mailto:
[hidden email]>
>> mailto:
[hidden email]
>> For general help: <mailto:
[hidden email]?subject=help>
>> mailto:
[hidden email]?subject=help
>> OW2 mailing lists service home page:
>> <
http://www.ow2.org/wws>
>>
http://www.ow2.org/wws>>
>>
>>
>>
>>
>> --
>> You receive this message as a subscriber of the
[hidden email]
>> mailing list.
>> To unsubscribe: mailto:
[hidden email]
>> For general help: mailto:
[hidden email]?subject=help
>> OW2 mailing lists service home page:
http://www.ow2.org/wws>>
>>
>>
>>
>>
>> --
>> You receive this message as a subscriber of the
[hidden email]
>> mailing list.
>> To unsubscribe: mailto:
[hidden email]
>> For general help: mailto:
[hidden email]?subject=help
>> OW2 mailing lists service home page:
http://www.ow2.org/wws>
>
> --
> You receive this message as a subscriber of the
[hidden email] mailing list.
> To unsubscribe: mailto:
[hidden email]
> For general help: mailto:
[hidden email]?subject=help
> OW2 mailing lists service home page:
http://www.ow2.org/wws>
>