加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xforms – 允许XForm控件用于可选的XML元素

发布时间:2020-12-15 23:53:59 所属栏目:百科 来源:网络整理
导读:在设计 XML数据库的XForm接口(使用eXist和XSLTForms)时,我想为可选元素包含一个输入控件. XML数据记录已经存在,有些包含可选元素,有些则不包含.要更新记录,我使用现有的XML记录作为模型实例.问题是当可选元素不存在时不显示表单控件,这是合乎逻辑的,但是当用
在设计 XML数据库的XForm接口(使用eXist和XSLTForms)时,我想为可选元素包含一个输入控件. XML数据记录已经存在,有些包含可选元素,有些则不包含.要更新记录,我使用现有的XML记录作为模型实例.问题是当可选元素不存在时不显示表单控件,这是合乎逻辑的,但是当用户想要将数据添加到可选元素时会出现问题.

更明确一点,这是一个示例数据记录data.xml:

<a>
  <b>content</b>
</a>

使用RNC架构:

start =
  element a {
    element b { text },element notes { text }?
  }

XForms模型:

<xf:model>
    <xf:instance xmlns="" src="data.xml"/> 
    <xf:submission id="save" method="post" action="update.xq" />
</xf:model>

并控制:

<xf:input ref="/a/notes">
  <xf:label>Notes (optional): </xf:label>
</xf:input>

问题是“Notes”输入控件根本不显示.

一个明显的解决方案是添加一个触发按钮,允许用户在需要时插入元素,但最好只显示输入控件,并为空.

我的问题是:是否存在一些不太知名的属性/绑定/多个实例/ xpath表达式的微妙组合会导致控件始终显示?

说实话,XForms不能很好地处理这个可选元素情况.请参阅Micah博客上的 this related discussion.一个不太令人满意的解决方法是在从eXist检索数据后为这些可选元素添加空元素,并在将数据保存回eXist之前删除它们.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读