<castGroup>

<castGroup> (cast list grouping) groups one or more individual castItem elements within a cast list. [7.1.4 Cast Lists]
Moduledrama — Performance Texts
Attributesatt.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))
Contained by
May contain
Note

The rend attribute may be used, as here, to indicate whether the grouping is indicated by a brace, whitespace, font change, etc.

Note that in this example the role description ‘friends of Mathias’ is understood to apply to both roles equally.

Example
<castGroup rend="braced">
 <castItem>
  <role>Walter</role>
  <actor>Mr Frank Hall</actor>
 </castItem>
 <castItem>
  <role>Hans</role>
  <actor>Mr F.W. Irish</actor>
 </castItem>
 <roleDesc>friends of Mathias</roleDesc>
</castGroup>
Content model
<content>
 <sequence>
  <alternate minOccurs="0"
   maxOccurs="unbounded">

   <classRef key="model.global"/>
   <classRef key="model.headLike"/>
  </alternate>
  <sequence minOccurs="1"
   maxOccurs="unbounded">

   <alternate>
    <elementRef key="castItem"/>
    <elementRef key="castGroup"/>
    <elementRef key="roleDesc"/>
   </alternate>
   <classRef key="model.global"
    minOccurs="0maxOccurs="unbounded"/>

  </sequence>
  <sequence minOccurs="0">
   <elementRef key="trailer"/>
   <classRef key="model.global"
    minOccurs="0maxOccurs="unbounded"/>

  </sequence>
 </sequence>
</content>
Schema Declaration
<rng:element name="castGroup">
 <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:group>
  <rng:zeroOrMore>
   <rng:choice>
    <rng:ref name="model.global"/>
    <rng:ref name="model.headLike"/>
   </rng:choice>
  </rng:zeroOrMore>
  <rng:oneOrMore>
   <rng:group>
    <rng:choice>
     <rng:ref name="castItem"/>
     <rng:ref name="castGroup"/>
     <rng:ref name="roleDesc"/>
    </rng:choice>
    <rng:zeroOrMore>
     <rng:ref name="model.global"/>
    </rng:zeroOrMore>
   </rng:group>
  </rng:oneOrMore>
  <rng:optional>
   <rng:group>
    <rng:ref name="trailer"/>
    <rng:zeroOrMore>
     <rng:ref name="model.global"/>
    </rng:zeroOrMore>
   </rng:group>
  </rng:optional>
 </rng:group>
</rng:element>
element castGroup
{
   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,
   (
      ( model.global | model.headLike )*,
      ( ( castItem | castGroup | roleDesc ), model.global* )+,
      ( trailer, model.global* )?
   )
}