XForms:根据 xf:repeat 中的当前元素名称从实例中获取值

XForms: get values from an instance based on the current element name in a xf:repeat

在下面的 XForm 中,我想 link xf:labels(以及最终其他 xforms 控件或值)到 'i-elementSchema' 实例中的元素。我无法找出正确的 XPath link 中的当前元素名称 xf:repeat 到架构中的匹配元素标签。我正在使用 XSLTForms。有什么想法吗?

完整的测试代码在这里:https://gist.github.com/wsalesky/30ca5c0d7b6f9fdc2b3a112a1a8594f9

XForms 模型:

<xf:model>
        <xf:instance id="i-rec">
            <TEI xmlns="http://www.tei-c.org/ns/1.0">
                <handDesc hands="">
                    <summary/>
                    <handNote xml:id="" scope="" script="" mode="" quality="" medium="">
                        <p about="" style=""/>
                        <persName ref="" role=""/>
                        <p/>
                        <placeName ref=""/>
                    </handNote>
                </handDesc>
            </TEI>
        </xf:instance>
        <xf:instance id="i-elementSchema">
            <TEI xmlns="http://www.tei-c.org/ns/1.0">
                <summary name="summary" label="Summary"/>
                <handNote name="handNote" label="Hand Note"/>
                <p name="p" label="Paragraph"/>
                <persName name="persName" label="Person Name"/>
                <placeName name="placeName" label="Place Name"/>
            </TEI>
        </xf:instance>
    </xf:model>

XForms UI:

<xf:repeat ref="instance('i-rec')//*:handDesc/*" id="handNote">
            <div class="moveInput" draggable="true">
                <xf:input ref=".">
                    <xf:label>               
                        <xf:output value="instance('i-elementSchema')/descendant-or-self::*[@name = local-name(.)][1]/@label"/> 
                    </xf:label>
                </xf:input>
            </div>
        </xf:repeat>

在 Twitter 上回答,使用 current():

instance('i-elementSchema')/descendant-or-self::*[local-name() = local-name(current())]/@label