在设计
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”输入控件根本不显示.
说实话,XForms不能很好地处理这个可选元素情况.请参阅Micah博客上的
this related discussion.一个不太令人满意的解决方法是在从eXist检索数据后为这些可选元素添加空元素,并在将数据保存回eXist之前删除它们.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。