9 XFormsを他のドキュメントタイプとともに用いる


Contents

この章は規範的である。

XFormsは他のXMLボキャブラリ、特にXHTMLの中で使用するために設計されてきた。 この章では、XFormsを他のドキュメントタイプとともに用いることを可能にするいくらかハイレベルなXFormsの機能について説明する。

9.1 XForms ネームスペース

このXForms ネームスペースは次のURIをもつ: http://www.w3.org/2001/02/xforms。 将来のリビジョンでは異なる識別子を用いることが予想される。このドキュメントでは利便性のためにxform: プレフィックスを、XFormsネームスペースの一部となるエレメントおよび属性を表すために用いる。

XForms 処理系は、XML ネームスペースのメカニズム[XML Names] を用いて、このネームスペースをエレメントおよび属性について認識しなければならない。

9.2 <xform> エレメント

<xform>エレメントは、他のXFormsエレメントのコンテナとして用いられ、スタンドアロンのドキュメントのルートエレメントとなっても、あるいはXHTMLなどのような他のドキュメントタイプ中に埋め込まれてもよい。 コンテナとなる1つのドキュメントは、任意の数の<xform> エレメントを含んで良い。

XML 表現<xform>
<xform
  xmlns = namespace-identifier
  id = xsd:ID
>
  <!-- Content: (submit | bind)*, model, instance -->
</xform>

属性定義:

xmlns = namespace-identifier
オプションとなる、XMLネームスペースを識別するための標準的なXML属性。これはこの場所で標準属性として含まれていると非常に便利である。
id = xsd:ID
オプションとなる、個々の<xform> エレメントを参照するために用いられる一意識別子。

たとえば:

<xform xmlns="http://www.w3.org/2001/02/xforms" id="Person">
   <model href="Schema-Questionnaire.xform" />
   <instance href="URL-to-retrieve-defaults" /> 
   ...
</xform>

9.2.1 <model> エレメント

<model>エレメントはXFormsモデルを定義するのに用いる。 このXFormsモデル はインラインで定義されても良いし、外部URIから取得しても良い。

編注: ワーキンググループでは積極的にXFormsでXLinkのsimpleリンクを使用する可能性を調査中である。

XML 表現<model>
<model
  id = xsd:ID
  href = xsd:uriReference
>
  <!-- Content: (xsd:schema | simple) -->
</model>

属性定義:

id = xsd:ID
オプションとなる一意識別子。
href = xsd:uriReference
オプションとなる、外部定義されたXForms モデルへのリンク。

<model>エレメントの内容はXML Schema内容あるいはXFormsの単純なシンタックスに限定されている。 <simple>の内容はXForms モデルの章で定義される。

編注: 我々はなおインラインXFormsモデルと外部XForms モデルの両方が用いられた時の振る舞いを定義する必要としている。

9.2.2 <instance> エレメント

<instance>エレメントは初期インスタンスデータを定義するために用いられる。 このインスタンスデータ はインラインで定義されても良いし、外部URIから取得しても良い。

XML 表現<instance>
<instance
  id = xsd:ID
  href = xsd:uriReference
>
  <!-- Content: (##other) -->
</instance>

属性定義:

id = xsd:ID
オプションとなる一意識別子。
href = xsd:uriReference
オプションとなる、外部定義されたインスタンスデータへのリンク。

<instance>エレメントの内容は、XFormsネームスペース以外の任意のネームスペースに属する任意のXMLとなる。 作成者は適切なネームスペース宣言が<instance>エレメントの内容に用いられることを保証しなければならない。

[編集者のフィードバックリクエスト 9.2.2.schemalocation: スキーマ定義をもつinstance dataとリンクするようなschemaLocation 属性がここで出現してもよいだろうか?]

9.2.3 SubmitInfo

<submitInfo>エレメントは、インスタンスデータを送信する方法および送信先に関する情報を表す。

XML 表現<submit>
<submitInfo
  id = xsd:ID
  target = xsd:uriReference
  method = xsd:string
>
  <!-- Content: (##empty) -->
</submitInfo>

属性定義:

id = xsd:ID
オプションとなる一意識別子。
href = xsd:uriReference
必須となる、送信されるインスタンスデータの行き先。
method = xsd:string
オプションとなる、送信プロトコルに関する詳細情報を提供する指示子。HTTPについては、このデフォルトは"POST"となる。

9.2.4 Bind

<bind>エレメントはそれぞれのXFormsのパーツの結び付けを表す。

XML Representation<bind>
<bind
  id = xsd:ID
  ref = XForms binding expression
>
  <!-- Content: (##empty) -->
</bind>

属性定義:

id = xsd:ID
必須となる一意識別子。
ref = XForms binding expression
外部定義されたXForms モデルへのリンク

さらなる詳細はBinding chapterで見ることができる。