XForms 和 XPath

XForms 使用 XPath 对数据急性寻址。这个过程被称为绑定。

XForms 绑定

XForms 使用两个部分来定义数据:XForms 模型和 XForms 用户界面。

XForms 模型是针对数据的一个 XML 模板(实例),而 XForms 用户界面是对数据输入和显示的描述。

XForms 使用 XPath 来定义这个两个部分的连接。这被称为绑定(binding)。

XPath

XPath 用于定义 XML 文档的各部分的 W3C 标准语法。

XPath 使用路径表达式来标示 XML 文档中的节点。这些表达式与您在计算机系统中看到的文件路径表达式非常类似。

XPath 表达式:

/person/fname

对 XML 文档中的 fname 节点进行寻址:

<person>
   <fname>David</fname>
   <lname>Smith</lname>
</person>

在我们的 XPath 教程 中学习更多有关 XPath 的知识。

使用 Ref 进行绑定

XForms 模型是这样的:

<instance>
  <person>
    <name>
      <fname/>
      <lname/>
    </name>
  </person>
</instance>

XForms 用户界面可使用 ref 属性来捆绑 <input> 元素:

<input ref="name/fname">
<label>First Name</label>
</input>

<input ref="name/lname">
<label>Last Name</label>
</input>

上面例子中的 ref="name/fname" 属性是一个指向实例模型中 <fname> 元素的 XPath 表达式。它可将输入域捆绑到正从表单收集数据的 XML 文档(实例)中的 <fname> 元素。

XForms 用户界面也可以使用引用:

<input ref="/person/name/fname">
<label>First Name</label>
</input>
<input ref="/person/name/lname">
<label>Last Name</label>
</input>

在上面的例子中,XPath 表达式起始部位的正斜杠 (/) 指示 XML 文档的根。

使用 Bind 进行绑定

XForms 模型是这样的:

<model>
<instance>
  <person>
    <name>
      <fname/>
      <lname/>
    </name>
  </person>
</instance>
<bind nodeset="/person/name/fname" id="firstname"/>
<bind nodeset="/person/name/lname" id="lastname"/>
</model>

XForms 用户界面可使用 bind 属性来捆绑 <input> 元素:

<input bind="firstname">
<label>First Name</label>
</input>

<input bind="lastname">
<label>Last Name</label>
</input>

为什么会有两种将输入控件元素捆绑到实例数据的方法呢?

怎么说呢,当您在复杂的应用程序中开始使用 XForms 时,您会发现,使用 bind 进行绑定是一种更灵活的处理多重表单和多重实例模型的方法。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:04月28日

referrer策略和meta标签的问题

referrer策略和meta标签的问题请求后端接口时,banner图片的请求出现403错误:GEThttp://xxxxxxxxxxxx403(Forbidden)。在网上搜寻一番,解决方法如下:在index.html中的head中添加&lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot; /&gt;。在此之前,关于r

热门专题

金诺幼儿园(春城路金诺幼儿园)|昆明官渡区幼儿园,幼儿园报名,官渡区幼儿园,春城路幼儿园,幼儿园招生,学前班,昆明幼儿园,金诺幼儿园,环城南路幼儿园,石井路幼儿园
金诺幼儿园(春城路金诺幼儿园)
弥勒综合高中|弥勒综合高中
弥勒综合高中
大理科技管理学校|大理科技管理学校,大理科技,大理科技中等职业技术学校,大理科技管理中等职业技术学校,大理科技学校
大理科技管理学校
昆明综合高中|昆明综合高中
昆明综合高中
易捷尔单招|易捷尔单招,易捷尔单招培训,易捷尔单招报名,易捷尔单招考试,易捷尔单招培训学校,易捷尔单招分数
易捷尔单招
小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发
国家开放大学|国家开放大学报名,国家开放大学报考,国家开放大学,什么是国家开放大学,国家开放大学学历,国家开放大学学费,国家开放大学报名条件,国家开放大学报名时间,国家开放大学学历,国家开放大学专业
国家开放大学
云南开放大学|云南开放大学报名,云南开放大学报考,云南开放大学,什么是云南开放大学,云南开放大学学历,云南开放大学学费,云南开放大学报名条件,云南开放大学报名时间,云南开放大学学历,云南开放大学专业
云南开放大学

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部