XForms文档结构

3 文档结构

XForms规范是 XML [XML 1.0]的应用并且被设计用来和XML的其他应用特别是XHTML [XHTML 1.0]一起使用。本章讨论了本规范定义的XForms的结构。

3.1 XForms命名空间

XForms命名空间的地址为http://www.w3.org/2002/01/xforms,尽管XForms的推荐标准定义了最终标识,但将来的草案可能使用新的地址。

XForms处理器必须使用XML命名空间机制[XML Names] 来识别Xforms命名空间定义的元素和属性。

3.2 横向适用标记

本规范定义的每个元素都具有类型为xsd:ID id属性,允许元素通过属性xsd:idref引用。

XForms处理器必须忽略不识别的外部元素或属性。

3.3 模型(Model)

本节描述了XForms元素model作为定义XForms模型的元素容器,一个页面可以包含一个或多个model元素,model 定义了XForms文档绑定用户交互的基本模型,因此,model元素要出现在用户交互标记之前model元素的内容不在页面上表,例如:model元素出现在 XHTML html:head 元素内,而XForms用户界面标记出现在元素html:body内。

XML表述: <model>

 

<model

  extensionFunctions = list of QNames

>  

  <!-- Content: instance?, schema?, (privacy|submitInfo|bind|action|extension)* -->

</model>

extensionFunctions - 可选,XForms模型使用的XPath扩展列表,使用未定义扩展函数将发生错误。

元素model可以包含下列元素:

实例(Instance)

定义基本实例以及初始数据 3.4 实例(instance)

架构(Schema)

定义实例的架构 3.5 架构(schema)

提交信息(submitInfo)

保存提交的详细信息3.6 提交信息(submitInfo)

绑定(Bindings)

元素bind指定一个或多个定义 XForms 模型项目约束的绑定6 约束(Constraints)

隐私策略(Privacy)

基于P3P的隐私策略 3.7隐私策略(privacy)

行为(Action)

事件处理 10.16 行为(action),允许处理事件model的相关事件 4 处理模型.

扩展(Extension)

扩充的元素 8.12.4.5 扩展(extension)

范例: Model

 

<model xmlns="http://www.w3.org/2002/01/xforms" id="Person">

   <instance xlink:href="http://example.com/cgi-bin/get-instance" />

   <schema xlink:href="Schema-Questionnaire.xsd" />

   ...

</model>

3.4 实例(instance)

元素instance 包含基本的提供初始实例数据的实例文档,实例数据可以内联或使用外部资源。

XML 表述: <instance>

 

<instance xlink:href = xsd:anyURI >

  <!-- Content: (##any) -->

</instance>

xlink:href - 可选 指向定义在外部的实例数据。

元素instance 的内容可以是由任意命名空间定义的XML元素,包含处理过的不可见数据,必须保证使用正确定义的命名空间。

3.5 架构(schema)

元素schema包含实例定义架构,架构可以内联或使用外部资源。

XML 表述: <schema>

 

<schema xlink:href = xsd:anyURI >

  <!-- Content: ##other (though typically <xsd:schema>) -->

</schema>

xlink:href -可选 指向定义在外部的实例数据。

3.6 提交信息(submitInfo)

元素submitInfo定义如何提交、提交到哪里及提交什么。

XML表述: <submitInfo>

 

<submitInfo

  (single node binding attributes)

  action = xsd:anyURI

  mediaTypeExtension = "none" | qname-but-not-ncname : "none"

  method = "post" | "get" | qname-but-not-ncname : "post"

  version = xsd:NMTOKEN

  indent = xsd:boolean

  encoding = xsd:string

  mediaType = xsd:string

  omitXMLDeclaration = xsd:boolean

  standalone = xsd:boolean

  CDATASectionElements = list of xsd:QName

  replace = "all" | "instance" | "none" | qname-but-not-ncname : "all"

>  

  <!-- Content: XForms动作 -->

</submitInfo>

single node binding attributes - 可选 选择提交部分数据。
action -
必需 提交实例数据的目标地址。
mediaTypeExtension -
可选 描述信息存储格式,mediaType附属。
method -
可选 描述提交数据的传输协议。
version -
对应 xsl:output version 属性
indent -
对应 xsl:output indent属性
encoding -
对应 xsl:output encoding属性
mediaType -
对应 xsl:output media-type属性
omitXMLDeclaration -
对应 xsl:output omit-xml-declaration属性standalone -对应 xsl:output standalone属性
CDATASectionElements -
对应 xsl:output cdata-section-elements属性replace定义针对返回信息的操作

:很多属性对应XSLT 属性 [XSLT] 不支持XSLT doctype-system doctype-public属性。

: 当媒体类型不确定时mediaTypeExtension属性很有用,如: a SOAP envelope 不能被"text/xml"简单描述,需要附加信息。

3.7 隐私策略(privacy)

元素privacy 用于表述特定表单涉及的 P3P [P3P 1.0]策略。

XML表述: <privacy>

 

<privacy

  xlink:href = xsd:anyURI

>  

  <!-- Content: (##empty) -->

</privacy>

xlink:href - 可选 指向外部定义的 P3P 策略参考文件 ( 非实际策略 )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值