XForms文档结构

    技术2022-05-11  118

    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)