<relation>

<relation> 指定された参加者グループ間の関連性の種類を示す. 15.2.2 The Participant Description
モジュールnamesdates — 13 Names, Dates, People, and Places
属性 att.datable (att.datable.w3c (@period, @when, @notBefore, @notAfter, @from, @to)) (att.datable.iso (@when-iso, @notBefore-iso, @notAfter-iso, @from-iso, @to-iso)) att.editLike (@cert, @resp, @evidence, @source) att.naming (@nymRef)
type 当該関係を分類する.例えば,社会的関係,個人的関係など.
状態 任意
データ型

<rng:ref name="data.enumerated"/>
data.enumerated
提案する値は以下の通り:
social
社会的役割を伴う関係.
personal
個人的役割を伴う関係.例えば,親類,婚姻など. [初期値]
other
他の関係.
name 当該関係の種類名を示す.
状態 必須
データ型

<rng:ref name="data.enumerated"/>
data.enumerated
ソフトウェアに依存するキーワードリスト.
active 一方向の関係における主体的な参加者,または双方向の関係における全参加者を指定する.
状態 任意
データ型 1–∞ occurrences of

<rng:ref name="data.pointer"/>
data.pointer
空白文字で区切られる
参加者を示す識別子のリスト.
mutual 当該参加者全てが対等な関係にある参加者のリストを示す.
状態 使えるならば必須
データ型 1–∞ occurrences of

<rng:ref name="data.pointer"/>
data.pointer
空白文字で区切られる
参加者を示す識別子のリスト.
passive 一方向の関係における‘受動的な’参加者を指定す る.
状態 任意
データ型 1–∞ occurrences of

<rng:ref name="data.pointer"/>
data.pointer
空白文字で区切られる
参加者を示す識別子のリスト
当該モジュールを使用するもの
下位
core: desc
宣言
<rng:element name="relation">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.datable.w3c.attributes"/>
 <rng:ref name="att.datable.iso.attributes"/>
 <rng:ref name="att.editLike.attributes"/>
 <rng:ref name="att.naming.attributes"/>
 <rng:optional>
  <rng:attribute name="typedefaultValue="personal">
   <rng:choice>
    <rng:value>social</rng:value>
    <rng:value>personal</rng:value>
    <rng:value>other</rng:value>
    <rng:data type="Name"/>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:attribute name="name">
  <rng:ref name="data.enumerated"/>
 </rng:attribute>
 <rng:choice>
  <rng:optional>
   <rng:attribute name="active">
    <rng:list>
     <rng:oneOrMore>
      <rng:ref name="data.pointer"/>
     </rng:oneOrMore>
    </rng:list>
   </rng:attribute>
  </rng:optional>
  <rng:optional>
   <rng:attribute name="mutual">
    <rng:list>
     <rng:oneOrMore>
      <rng:ref name="data.pointer"/>
     </rng:oneOrMore>
    </rng:list>
   </rng:attribute>
  </rng:optional>
 </rng:choice>
 <rng:optional>
  <rng:attribute name="passive">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="data.pointer"/>
    </rng:oneOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:ref name="desc"/>
 </rng:optional>
</rng:element>
element relation
{
   att.global.attributes,
   att.datable.w3c.attributes,
   att.datable.iso.attributes,
   att.editLike.attributes,
   att.naming.attributes,
   attribute type { "social" | "personal" | "other" | xsd:Name }?,
   attribute name { data.enumerated },
   (
      attribute active { list { data.pointer+ } }?
    | attribute mutual { list { data.pointer+ } }?
   ),
   attribute passive { list { data.pointer+ } }?,
   desc?
}
<relation
  type="social"
  name="supervisor"
  active="#p1"
  passive="#p2 #p3 #p4"/>

この例では,識別子"p1"を持つ人物が,識別子"p2, p3, p4"を持つ人物の監督者になっている.

<relation type="personalname="friendsmutual="#p2 #p3 #p4"/>

この例では,識別子"p2, p3, p4"を持つ人物同士が友人であることを示している.

解説
属性activeか属性mutualのどちらかのみが付与さ れる.属性passiveは,属性activeが付与されて いる場合にのみ使用される.どのスキーマ言語でも,全ての構成要素が使 われるというものではない.