如何在XSLTForms中动态设置<xf:output>节点的属性?
动态设置XForms output元素的属性值
当然可以动态设置这些属性,在XSLTForms 1.2里,用**属性值模板(AVT)**就能实现——就是用{}把模型中的数据路径包起来,替代硬编码的值。
先修正你原代码里的语法错误:mediatype="image/*"后面少了闭合引号,得补上。然后按下面的方式修改:
<xf:output value="concat( instance('images')/@base_api, resource[@href=../links/resource[@rel='image']/@href]/links/resource[@rel='thumbnail']/@href )" mediatype="image/*" width="{instance('your-model')/@width}" height="{instance('your-model')/@height}" alt="{instance('your-model')/@alt-text}" />
几点说明:
- 把
instance('your-model')换成你实际使用的实例ID,@width、@height、@alt-text替换成模型中对应的属性或元素路径。 - 因为代码是在
<xforms:repeat>内部,也可以用相对路径(比如../@width)来引用当前重复项的属性,具体根据你的实例结构调整。 - alt属性同样用AVT绑定,直接加在元素上就行。
内容的提问来源于stack exchange,提问作者monojohnny
相关产品推荐
相关产品推荐

