Hello,
I do have a more complex xforms instance. The idea behind that is to have a generic view to fill out a structured but undefined amount of parameter values. I pretend the use of several pages to the user by defining pages within the instance as page nodes. Those pages I select in my generic view via xforms:groups. I have to types of pages. One type for parameters and an other for some configuration (that is just a node with some attributes at the moment). So I have defined two types of virtual pages by using groups in my view. To move between the pages I have got a previous and next button. A pipeline is at the moment only in use to debug the instance data (null-serializer). Here are my problems: 1) As long I remove or rename the configuration page nodes, it works with exception that I can overtake my readonly attributes used for the boundaries PageNo > 1 < PageMax by very quick pressing the buttons. 2) If I have the two page types in my instance it works fine also the first time I move from a parameter page type to a configuration page type. Going ahead to a next parameter page submits the instance to the null-serializer as expected but the view is not updated. A next try of pressing the next button causes the whole application to hang-up without any action or message neither in the console not in the browser. In each of my parameter pages I have a test data aforms:input, a xforms:select and a xforms:selec1. When I remove the select and select1 in my view I can move through all pages but e.g. the help attributes are not working anymore. I tried to find a working solution in several ways e.g. using xforms:repeat or xforms:switch instead of groups with almost the same problems. Here is my view including the instance data. <!-- edited with XMLSpy v2006 U (http://www.altova.com) by XMLSPY 2005 Enterprise Ed. Release 3, Installed for 5 users (with SMP from 2004-10-28 to 2006-10-29) (Knorr-Bremse) --> <!-- Copyright (C) 2005 Orbeon, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. The full text of the license is available at http://www.gnu.org/copyleft/lesser.html --> <xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:f="http://orbeon.org/oxf/xml/formatting" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2003/11/xquery-functions" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:widget="http://orbeon.org/oxf/xml/widget" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:saxon="http://saxon.sf.net/" xsl:version="2.0"> <xhtml:head> <xhtml:title>EP ComPaCo</xhtml:title> <xforms:model id="MainModel"> <xforms:bind nodeset="/descendant::Page[position()=/Vehicle/Control/PageNo][Parameter]"> <xforms:toggle ev:event="xforms-refresh" case="OtherPage" /> </xforms:bind> <xforms:bind nodeset="/descendant::Page[position()=/Vehicle/Control/PageNo][not(Parameter)]"> <xforms:toggle ev:event="xforms-refresh" case="ParameterPage" /> </xforms:bind> <xforms:action ev:event="xforms-submit-done"> <!--Enables validation after submission to show errors when editing--> <xforms:setvalue ref="/Vehicle/@DisableValidation">false</xforms:setvalue> <!--??????? don't know if needed--> <xforms:refresh model="main-model" /> </xforms:action> <xforms:instance id="VehicleData"> <Vehicle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ParameterList.xsd" ID="Text" InTree="" Name="String" DisableValidation="Text"> <Control> <PageNo PageMin="" PageMax="">1</PageNo> </Control> <Data> <ParameterList> <Section ID="Text" InTree="" Name="Pagex"> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> </Section> </ParameterList> <Config> <Page ID="Text" InTree="" Name="String"> <Parameter /> </Page> </Config> <Segment ID="Text" InTree="" Name="Segx"> <ParameterList> <Section ID="Text" InTree="" Name="Pagex"> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> </Section> </ParameterList> <Config> <Page ID="Text" InTree="" Name="String" /> </Config> <CU ID="Text" InTree="" Name="CUx"> <ParameterList> <Section ID="Text" InTree="" Name="Pagex"> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>value</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>select1</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>select2</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> </Section> </ParameterList> </CU> <CU ID="Text" InTree="" Name="CUx"> <ParameterList> <Section ID="Text" InTree="" Name="Pagex"> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> </Section> </ParameterList> </CU> <CU ID="Text" InTree="" Name="CUx"> <ParameterList> <Section ID="Text" InTree="" Name="Pagex"> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> </Section> </ParameterList> </CU> <CU ID="Text" InTree="" Name="CUx"> <ParameterList> <Section ID="Text" InTree="" Name="Pagex"> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> </Section> </ParameterList> </CU> </Segment> <Segment ID="Text" InTree="" Name="Segx"> <ParameterList> <Section ID="Text" InTree="" Name="Pagex"> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> </Section> </ParameterList> <Config> <Page ID="Text" InTree="" Name="String" /> </Config> <CU ID="Text" InTree="" Name="CUx"> <ParameterList> <Section ID="Text" InTree="" Name="Pagex"> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> </Section> </ParameterList> </CU> <CU ID="Text" InTree="" Name="CUx"> <ParameterList> <Section ID="Text" InTree="" Name="Pagex"> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> </Section> </ParameterList> </CU> <CU ID="Text" InTree="" Name="CUx"> <ParameterList> <Section ID="Text" InTree="" Name="Pagex"> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> </Section> </ParameterList> </CU> <CU ID="Text" InTree="" Name="CUx"> <ParameterList> <Section ID="Text" InTree="" Name="Pagex"> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> <Page ID="Text" InTree="" Name="Pagex"> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value Unit="kg" IsValid="false" /> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select1> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select1> </Constraints> </Parameter> <Parameter ID="Text" Relevant="String"> <Name>Paramx</Name> <Description>Desc</Description> <Alert>Alert</Alert> <Hint>Hint</Hint> <Help>Help</Help> <Value IsValid="false" /> <Constraints> <Select> <Item> <Label>i1</Label> <Value>i1</Value> </Item> <Item> <Label>i2</Label> <Value>i2</Value> </Item> <Item> <Label>i3</Label> <Value>i3</Value> </Item> </Select> </Constraints> </Parameter> </Page> </Section> </ParameterList> </CU> </Segment> </Data> </Vehicle> </xforms:instance> <xforms:bind nodeset="/Vehicle/Control/PageNo/@PageMin" readonly="../.=1" /> <xforms:bind nodeset="/Vehicle/Control/PageNo/@PageMax" readonly="../.=count(/descendant::Page)" /> <xforms:bind nodeset="/instance[@DisableValidation='false']"> <!--<xforms:bind nodeset="age[1]" constraint="saxon:evaluate(number(.) >= 0 and number(.) <= 150)" required="true"/>--> <!--<xforms:bind nodeset="age[1]/@valid" calculate="number(..)>=0 and number(..)<=3" />--> <xforms:bind nodeset="age[1]/@valid" calculate="string(saxon:evaluate(../@constraint))" /> <xforms:bind nodeset="age[2]/@valid" calculate="(number(..) >= 0 and number(..) <= 150)" /> <xforms:bind nodeset="age" constraint="./@valid='true'" required="true" /> <xforms:bind nodeset="secret" constraint="string(.) = '42'" /> <xforms:bind nodeset="textarea" constraint="string-length(.) > 10" /> <xforms:bind nodeset="date" type="xs:date" /> <!--<xforms:bind nodeset="time" type="xs:time"/>--> <xforms:bind nodeset="range/letter" calculate=" for $value in ../value return ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z') [floor($value * 25) + 1]" /> </xforms:bind> <xforms:submission ref="instance('instance')" id="Submit" method="post" action="/Application/Submit" replace="instance" /> </xforms:model> </xhtml:head> <xhtml:body> <xhtml:p> <xforms:output value='concat(concat(concat("Page ", /Vehicle/Control/PageNo), " of "), count(/descendant::Page))' /> </xhtml:p> <xforms:group ref="/descendant::Page[position()=/Vehicle/Control/PageNo and position() != 3]"> <!--<xforms:group ref=".[Parameter]"> <xforms:toggle ev:event="DOMActivate" case="ParameterPage" /> <xhtml:p>hello1</xhtml:p> </xforms:group>--> <xhtml:p>how</xhtml:p> <xforms:switch> <xforms:case id="OtherPage" selected="false"> <xhtml:p>hello</xhtml:p> </xforms:case> <xforms:case id="ParameterPage" selected="true"> <xhtml:table> <xhtml:tbody> <xhtml:tr> <xhtml:th>Name</xhtml:th> <xhtml:th>Value</xhtml:th> <xhtml:th>Unit</xhtml:th> <xhtml:th>Description</xhtml:th> </xhtml:tr> <xforms:repeat nodeset="Parameter"> <xhtml:tr> <xhtml:td> <xforms:output ref="Name"> <xforms:alert ref="../Alert" /> <xforms:hint ref="../Hint" /> <xforms:help ref="../Help" /> </xforms:output> </xhtml:td> <xhtml:td> <xforms:input ref="Value[not(../Constraints) or ../Constraints/Constraint]" /> <xforms:select1 ref="Value[../Constraints/Select1]" appearance="full"> <xforms:label /> <xforms:itemset nodeset="../Constraints/Select1/Item"> <xforms:label ref="Label" /> <xforms:value ref="Value" /> </xforms:itemset> </xforms:select1> <xforms:select ref="Value[../Constraints/Select]" appearance="full"> <xforms:label /> <xforms:itemset nodeset="../Constraints/Select/Item"> <xforms:label ref="Label" /> <xforms:value ref="Value" /> </xforms:itemset> </xforms:select> </xhtml:td> <xhtml:td> <xforms:output ref="Value/@Unit" /> </xhtml:td> <xhtml:td> <xforms:output ref="Description" /> </xhtml:td> </xhtml:tr> </xforms:repeat> </xhtml:tbody> </xhtml:table> </xforms:case> </xforms:switch> </xforms:group> <xhtml:p> <xforms:trigger ref="/Vehicle/Control/PageNo/@PageMin"> <xforms:label>previous</xforms:label> <xforms:action ev:event="DOMActivate"> <xforms:setvalue ref="/Vehicle/Control/PageNo" value="number(/Vehicle/Control/PageNo)-1" /> </xforms:action> </xforms:trigger> <xforms:trigger ref="/Vehicle/Control/PageNo/@PageMax"> <xforms:label>next</xforms:label> <xforms:action ev:event="DOMActivate"> <xforms:setvalue ref="/Vehicle/Control/PageNo" value="number(/Vehicle/Control/PageNo)+1" /> </xforms:action> </xforms:trigger> </xhtml:p> </xhtml:body> </xhtml:html> And here is the only in use pipeline. <!-- edited with XMLSpy v2006 U (http://www.altova.com) by XMLSPY 2005 Enterprise Ed. Release 3, Installed for 5 users (with SMP from 2004-10-28 to 2006-10-29) (Knorr-Bremse) --> <!-- Copyright (C) 2005 Orbeon, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. The full text of the license is available at http://www.gnu.org/copyleft/lesser.html --> <xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:f="http://orbeon.org/oxf/xml/formatting" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:widget="http://orbeon.org/oxf/xml/widget" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:saxon="http://saxon.sf.net/">> <xhtml:head> <xhtml:title>XForms Text Controls</xhtml:title> <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xs="http://www.w3.org/2001/XMLSchema" id="main-model"> <xforms:action ev:event="xforms-submit-done"> <xforms:setvalue ref="/instance/@DisableValidation">false</xforms:setvalue> <xforms:refresh model="main-model" /> </xforms:action> <xforms:instance id="instance"> <!-- Here we illustrate how an XForms instance can be include with XInclude --> <instance DisableValidation="false"> <age valid="" constraint="(number(.) $gt= 0 and number(.) <= 3)">35</age> <age valid="" constraint="'(number(.) >= 0 and number(.) <= 150)'">3</age> <secret>42</secret> <textarea>The world is but a canvas for the imagination.</textarea> <label>Hello, World!</label> <date>2004-01-07</date> <flavor>v c</flavor> <carrier>fedex</carrier> <new-item> <label>Key lime</label> <value>lime</value> </new-item> <range> <value>0</value> <letter>a</letter> </range> <country /> </instance> </xforms:instance> <xforms:bind nodeset="/instance[@DisableValidation='false']"> <!--<xforms:bind nodeset="age[1]" constraint="saxon:evaluate(number(.) >= 0 and number(.) <= 150)" required="true"/>--> <!--<xforms:bind nodeset="age[1]/@valid" calculate="number(..)>=0 and number(..)<=3" />--> <xforms:bind nodeset="age[1]/@valid" calculate="string(saxon:evaluate(../@constraint))" /> <xforms:bind nodeset="age[2]/@valid" calculate="(number(..) >= 0 and number(..) <= 150)" /> <xforms:bind nodeset="age" constraint="./@valid='true'" required="true" /> <xforms:bind nodeset="secret" constraint="string(.) = '42'" /> <xforms:bind nodeset="textarea" constraint="string-length(.) > 10" /> <xforms:bind nodeset="date" type="xs:date" /> <!--<xforms:bind nodeset="time" type="xs:time"/>--> <xforms:bind nodeset="range/letter" calculate=" for $value in ../value return ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z') [floor($value * 25) + 1]" /> </xforms:bind> <xforms:submission ref="instance('instance')" id="Submit" method="post" action="/Application/Submit" replace="instance" /> </xforms:model> </xhtml:head> <xhtml:body> <xforms:group ref="instance('instance')"> <xhtml:p> <xforms:input ref="age[1]" incremental="true"> <xforms:label class="fixed-width">Age:</xforms:label> <xforms:hint>Positive number</xforms:hint> </xforms:input> </xhtml:p> <xhtml:p> <xforms:input ref="age[2]" incremental="true"> <xforms:label class="fixed-width">Age:</xforms:label> <xforms:hint>Positive number</xforms:hint> </xforms:input> </xhtml:p> <xhtml:p> <xforms:secret ref="secret" incremental="true"> <xforms:label class="fixed-width">Password:</xforms:label> <xforms:hint>The password is 42 ;)</xforms:hint> <xforms:alert>Invalid password</xforms:alert> </xforms:secret> </xhtml:p> <xhtml:p> <xforms:textarea ref="textarea"> <xforms:label class="fixed-width">Text area:</xforms:label> <xforms:hint>Enter at least 11 characters</xforms:hint> <xforms:alert>Content of text area has less than 10 characters</xforms:alert> </xforms:textarea> </xhtml:p> <xhtml:p> <xforms:input ref="date"> <xforms:label class="fixed-width">Birth date:</xforms:label> <xforms:help> This is supposed to be a help message explaining what a birth date is. But since you already know, it mostly serves the purpose of showing how help messages can be attached to controls, and that they can be pretty long as they can be displayed on multiple lines. </xforms:help> </xforms:input> </xhtml:p> <xhtml:p> <xforms:trigger> <xforms:label>Submit</xforms:label> <xforms:action ev:event="DOMActivate"> <xforms:send submission="Submit" /> </xforms:action> </xforms:trigger> </xhtml:p> <xhtml:p> <xforms:trigger> <xforms:label>Submit invalid</xforms:label> <xforms:action ev:event="DOMActivate"> <xforms:setvalue ref="/instance/@DisableValidation">true</xforms:setvalue> <xforms:send submission="Submit" /> </xforms:action> </xforms:trigger> </xhtml:p> </xforms:group> </xhtml:body> </xhtml:html> -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Peter,
Can you attach all the files need instead of pasting them in the body of the mail? If necessary, you can zip them up. -Erik (too lazy to copy, paste and save ;-) [hidden email] wrote: > Hello, > I do have a more complex xforms instance. The idea behind that is to have a generic view to fill out a structured but undefined amount of parameter values. > I pretend the use of several “pages” to the user by defining “pages” within the instance as page nodes. Those “pages” I select in my generic view via xforms:groups. > I have to types of “pages”. One type for “parameters” and an other for some “configuration” (that is just a node with some attributes at the moment). So I have defined two types of virtual pages by using groups in my view. > To move between the “pages” I have got a previous and next button. A pipeline is at the moment only in use to debug the instance data (null-serializer). > > Here are my problems: > > 1) > As long I remove or rename the “configuration” page nodes, it works with exception that I can overtake my readonly attributes used for the boundaries PageNo > 1 < PageMax by very quick pressing the buttons. > > 2) > If I have the two “page” types in my instance it works fine also the first time I move from a “parameter page” type to a “configuration page” type. Going ahead to a next “parameter page” submits the instance to the null-serializer as expected but the view is not updated. A next try of pressing the next button causes the whole application to hang-up without any action or message neither in the console not in the browser. > In each of my “parameter pages” I have a test data aforms:input, a xforms:select and a xforms:selec1. When I remove the select and select1 in my view I can move through all pages but e.g. the “help” attributes are not working anymore. > > I tried to find a working solution in several ways e.g. using xforms:repeat or xforms:switch instead of groups with almost the same problems. > > Here is my view including the instance data. -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
In reply to this post by Peter.Heintz
Hello Eric,
I used the ObjectWeb Pages to submit my e-mail where I did not find an option to attach files. Sorry for that. Here I include my file containing the problem-file (the view) as well as a primitive pipeline just for instance debugging, the contoller and an xml-schema for the instance just for information purposes. Mit freundlichen Grüßen / Best regards, Peter Heintz -- Knorr-Bremse SfS GmbH COC BC,R/BCE11 Moosacher Straße 80,D-80809 Munich Phone +49 893547-1145 Fax +49 893547-2676 mailto:[hidden email] http://www.knorr-bremse.com -----Ursprüngliche Nachricht----- Von: Erik Bruchez [mailto:[hidden email]] Im Auftrag von Erik Bruchez Gesendet: Dienstag, 24. Januar 2006 17:19 An: [hidden email] Betreff: Re: [ops-users] Strange problems with XFroms in OPS3.0 Peter, Can you attach all the files need instead of pasting them in the body of the mail? If necessary, you can zip them up. -Erik (too lazy to copy, paste and save ;-) [hidden email] wrote: > Hello, > I do have a more complex xforms instance. The idea behind that is to have a generic view to fill out a structured but undefined amount of parameter values. > I pretend the use of several "pages" to the user by defining "pages" within the instance as page nodes. Those "pages" I select in my generic view via xforms:groups. > I have to types of "pages". One type for "parameters" and an other for some "configuration" (that is just a node with some attributes at the moment). So I have defined two types of virtual pages by using groups in my view. > To move between the "pages" I have got a previous and next button. A pipeline is at the moment only in use to debug the instance data (null-serializer). > > Here are my problems: > > 1) > As long I remove or rename the "configuration" page nodes, it works with exception that I can overtake my readonly attributes used for the boundaries PageNo > 1 < PageMax by very quick pressing the buttons. > > 2) > If I have the two "page" types in my instance it works fine also the first time I move from a "parameter page" type to a "configuration page" type. Going ahead to a next "parameter page" submits the instance to the null-serializer as expected but the view is not updated. A next try of pressing the next button causes the whole application to hang-up without any action or message neither in the console not in the browser. > In each of my "parameter pages" I have a test data aforms:input, a xforms:select and a xforms:selec1. When I remove the select and select1 in my view I can move through all pages but e.g. the "help" attributes are not working anymore. > > I tried to find a working solution in several ways e.g. using xforms:repeat or xforms:switch instead of groups with almost the same problems. > > Here is my view including the instance data. -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws Files.zip (7K) Download Attachment |
Free forum by Nabble | Edit this page |