<listPerson>

<listPerson> (list of persons) 特定可能な個人やグループに関する情報のリストを示す.例えば,言語交流 の参加者や,歴史資料中で参照される人物など. [13.3.2 The Person Element 15.2 Contextual Information 2.4 The Profile Description 15.3.2 Declarable Elements]
モジュール namesdates — Names, Dates, People, and Places
属性 att.global (@xml:id, @n, @xml:lang, @xml:base, @xml:space) (att.global.rendition (@rend, @style, @rendition)) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change)) (att.global.responsibility (@cert, @resp)) (att.global.source (@source)) att.typed (@type, @subtype) att.declarable (@default) att.sortable (@sortKey)
クラブのメンバー
上位
下位
解説

属性typeは,特別な種類の人物を区別するために使われるかもしれない.

<listPerson type="respondents">
 <personGrp xml:id="PXXX"/>
 <person xml:id="P1234sex="2age="mid"/>
 <person xml:id="P4332sex="1age="mid"/>
 <listRelation>
  <relation type="personalname="spouse"
   mutual="#P1234 #P4332"/>

 </listRelation>
</listPerson>
Content model
<content>
 <sequence>
  <classRef key="model.headLike"
   minOccurs="0maxOccurs="unbounded"/>

  <elementRef key="descminOccurs="0"
   maxOccurs="unbounded"/>

  <alternate minOccurs="0"
   maxOccurs="unbounded">

   <elementRef key="relationminOccurs="1"
    maxOccurs="1"/>

   <elementRef key="listRelation"
    minOccurs="1maxOccurs="1"/>

  </alternate>
  <sequence minOccurs="1"
   maxOccurs="unbounded">

   <alternate minOccurs="1"
    maxOccurs="unbounded">

    <classRef key="model.personLike"
     minOccurs="1maxOccurs="1"/>

    <elementRef key="listPerson"
     minOccurs="1maxOccurs="1"/>

   </alternate>
   <alternate minOccurs="0"
    maxOccurs="unbounded">

    <elementRef key="relation"
     minOccurs="1maxOccurs="1"/>

    <elementRef key="listRelation"
     minOccurs="1maxOccurs="1"/>

   </alternate>
  </sequence>
 </sequence>
</content>
宣言
<rng:element name="listPerson">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.rendition.attributes"/>
 <rng:ref name="att.global.linking.attributes"/>
 <rng:ref name="att.global.analytic.attributes"/>
 <rng:ref name="att.global.facs.attributes"/>
 <rng:ref name="att.global.change.attributes"/>
 <rng:ref name="att.global.responsibility.attributes"/>
 <rng:ref name="att.global.source.attributes"/>
 <rng:ref name="att.typed.attributes"/>
 <rng:ref name="att.declarable.attributes"/>
 <rng:ref name="att.sortable.attributes"/>
 <rng:group>
  <rng:zeroOrMore>
   <rng:ref name="model.headLike"/>
  </rng:zeroOrMore>
  <rng:zeroOrMore>
   <rng:ref name="desc"/>
  </rng:zeroOrMore>
  <rng:zeroOrMore>
   <rng:choice>
    <rng:ref name="relation"/>
    <rng:ref name="listRelation"/>
   </rng:choice>
  </rng:zeroOrMore>
  <rng:oneOrMore>
   <rng:group>
    <rng:oneOrMore>
     <rng:choice>
      <rng:ref name="model.personLike"/>
      <rng:ref name="listPerson"/>
     </rng:choice>
    </rng:oneOrMore>
    <rng:zeroOrMore>
     <rng:choice>
      <rng:ref name="relation"/>
      <rng:ref name="listRelation"/>
     </rng:choice>
    </rng:zeroOrMore>
   </rng:group>
  </rng:oneOrMore>
 </rng:group>
</rng:element>
element listPerson
{
   att.global.attributes,
   att.global.rendition.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   att.global.responsibility.attributes,
   att.global.source.attributes,
   att.typed.attributes,
   att.declarable.attributes,
   att.sortable.attributes,
   (
      model.headLike*,
      desc*,
      ( relation | listRelation )*,
      ( ( model.personLike | listPerson )+, ( relation | listRelation )* )+
   )
}