<?xml-stylesheet type="text/xsl" href="/xforms-tests/xsltforms/xsltforms.xsl"?>
<html xmlns:my="http://commerce.example.com/payment" xmlns:txs="http://sourceforge.net/projects/txs" xmlns="http://www.w3.org/1999/xhtml" xmlns:req="http://www.agencexml.com/requests" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <head>
        <link rel="stylesheet" href="../../driverPages/forms/TestSuite11.css" type="text/css"/>
        <title>10.4.f delete action and repeat element</title>
        <xforms:model>
            <xforms:instance id="instance_1">
                <number_lists xmlns="">
                    <number_list id="1st number_list">
                        <number xsi:type="xsd:integer">1</number>
                        <number xsi:type="xsd:integer">2</number>
                        <number xsi:type="xsd:integer">3</number>
                    </number_list>
                </number_lists>
            </xforms:instance>
            <xforms:instance id="instance_2">
                <number_lists xmlns="">
                    <number_list id="1st number_list">
                        <number xsi:type="xsd:integer">1</number>
                        <number xsi:type="xsd:integer">2</number>
                        <number xsi:type="xsd:integer">3</number>
                    </number_list>
                    <number_list id="2nd number_list">
                        <number xsi:type="xsd:integer">4</number>
                        <number xsi:type="xsd:integer">5</number>
                        <number xsi:type="xsd:integer">6</number>
                    </number_list>
                    <number_list id="3rd number_list">
                        <number xsi:type="xsd:integer">7</number>
                        <number xsi:type="xsd:integer">8</number>
                        <number xsi:type="xsd:integer">9</number>
                    </number_list>
                </number_lists>
            </xforms:instance>
            <xforms:instance id="instance_3">
                <number_lists xmlns="">
                    <number_list id="1st number_list">
                        <number xsi:type="xsd:integer">1</number>
                        <number xsi:type="xsd:integer">2</number>
                        <number xsi:type="xsd:integer">3</number>
                    </number_list>
                    <number_list id="2nd number_list">
                        <number xsi:type="xsd:integer">4</number>
                        <number xsi:type="xsd:integer">5</number>
                        <number xsi:type="xsd:integer">6</number>
                    </number_list>
                    <number_list id="3rd number_list">
                        <number xsi:type="xsd:integer">7</number>
                        <number xsi:type="xsd:integer">8</number>
                        <number xsi:type="xsd:integer">9</number>
                    </number_list>
                </number_lists>
            </xforms:instance>
            <xforms:instance id="repeat_indices">
                <xforms:root>
                    <repeat_2 xmlns=""/>
                    <repeat_2_inner xmlns=""/>
                    <repeat_3 xmlns=""/>
                    <repeat_3_inner xmlns=""/>
                </xforms:root>
            </xforms:instance>
            <xforms:bind nodeset="instance('repeat_indices')/repeat_2" calculate="index('repeat_2')"/>
            <xforms:bind nodeset="instance('repeat_indices')/repeat_2_inner" calculate="index('repeat_2_inner')"/>
            <xforms:bind nodeset="instance('repeat_indices')/repeat_3" calculate="index('repeat_3')"/>
            <xforms:bind nodeset="instance('repeat_indices')/repeat_3_inner" calculate="index('repeat_3_inner')"/>
            <xforms:action ev:event="xforms-ready">
                <!--  delete the last member of the list, index should revert to 0 -->
                <xforms:setindex repeat="repeat_1" index="1"/>
                <xforms:delete nodeset="instance('instance_1')/number_list" at="1"/>
                <!-- delete last in set, which had index. index should revert to new last element -->
                <!-- inner repeat index should be reset to 1 -->
                <xforms:setindex repeat="repeat_2" index="3"/>
                <xforms:setindex repeat="repeat_2_inner" index="3"/>
                <xforms:delete nodeset="instance('instance_2')/number_list" at="3"/>
                <!-- delete node that is not last one -->
                <xforms:setindex repeat="repeat_3" index="2"/>
                <xforms:setindex repeat="repeat_3_inner" index="3"/>
                <xforms:delete nodeset="instance('instance_3')/number_list" at="2"/>
            </xforms:action>
        </xforms:model>
    </head>
    <body>
        <xforms:group>
            <xforms:label class="title">10.4.f delete action and repeat element</xforms:label>
        </xforms:group>
        <xforms:repeat id="repeat_1" nodeset="instance('instance_1')/number_list"/>
        <xforms:repeat id="repeat_2" nodeset="instance('instance_2')/number_list">
        	<xforms:repeat id="repeat_2_inner" nodeset="number"/>
        </xforms:repeat>
        <xforms:repeat id="repeat_3" nodeset="instance('instance_3')/number_list">
            <xforms:repeat id="repeat_3_inner" nodeset="number"/>
        </xforms:repeat>
        <xforms:group>
          <xforms:label>
            You must see the correct values for each output control below. 
          </xforms:label>
        </xforms:group>
        <xforms:group>
          <xforms:label>You must see the number 0 : </xforms:label>
            <xforms:output value="index('repeat_1')">
            </xforms:output>
        </xforms:group>
        <xforms:group>
          <xforms:label>You must see the number 2 : </xforms:label>
            <xforms:output ref="instance('repeat_indices')/repeat_2">
            </xforms:output>
        </xforms:group>
        <xforms:group>
          <xforms:label>You must see the number 1 : </xforms:label>
            <xforms:output ref="instance('repeat_indices')/repeat_2_inner">
            </xforms:output>
        </xforms:group>
        <xforms:group>
          <xforms:label>You must see the number 2 : </xforms:label>
            <xforms:output ref="instance('repeat_indices')/repeat_3">
            </xforms:output>
        </xforms:group>
        <xforms:group>
          <xforms:label>You must see the number 1 : </xforms:label>
            <xforms:output ref="instance('repeat_indices')/repeat_3_inner">
            </xforms:output>
        </xforms:group>
    </body>
</html>