Saxonica/Saxon-Forms

Data Mutation: Insert Element into Non-Contiguous, Heterogeneous Nodeset Silently Fails

JDziurlaj opened this issue · 0 comments

In testing XForms 1.1 spec, example B.15, Saxon-Forms silently fails (i.e. instance is unchanged).

XForms:

<xforms:xform xmlns:rest="http://exquery.org/ns/restxq" xmlns:ev="http://www.w3.org/2001/xml-events"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xforms="http://www.w3.org/2002/xforms"
    xmlns:demo="urn:saxon-xforms:demo">
    <xforms:model id="m-recipes">
        <!-- B.15 -->
        <xforms:instance>
            <document xmlns="">
                <chapter>
                    <header>Lorem ipsum</header>
                    <paragraph>Lorem ipsum verterem voluptaria ...</paragraph>
                    <diagram>Exemplum 1</diagram>
                    <diagram>Exemplum 2</diagram>
                    <paragraph>Primis abhorreant delicatissimi ...</paragraph>
                </chapter>
                <chapter>
                    <header>Lorem ipsum</header>
                    <diagram>Exemplum 3</diagram>
                </chapter>
            </document>
        </xforms:instance>
        
        <xforms:instance id="prototypes">
            <prototypes xmlns="">
                <chapter/>
                <header/>
                <paragraph/>
                <diagram/>
            </prototypes>
        </xforms:instance>
        <!--do not change -->
        <xforms:submission id="test" ref="." instance="hello"/>
    </xforms:model>
    <div id="content">
        <xforms:trigger>
            <xforms:label>Test it</xforms:label>
            <xforms:action ev:event="DOMActivate">
                <xforms:insert context="item[2]" origin="../item[1]/@rating"/>
                <xforms:delete nodeset="item[1]/@rating"/>
            </xforms:action>
        </xforms:trigger>
        <xforms:submit submission="test">
            <xforms:label>Export Subset</xforms:label>
        </xforms:submit>
    </div>
</xforms:xform>

Note that I am not using the SEF included with the repo; however, I am using a newly compiled version from an unmodified saxon-xforms.xsl using Oxygen's Compile XSL stylesheet for Saxon (Oxygen 25.0, 2022101006) and running using SaxonJS-2.5 on Firefox 108.0 (Windows)