<?xml version="1.0" encoding="utf-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"><!--Schema generated 2010-11-05T15:13:52Z
Edition: 1.8.0. Last updated on November 5th 2010.

	  
Copyright 2010 TEI Consortium.
	  
This is free software; you can redistribute it and/or
	    modify it under the terms of the GNU General Public
	    License as published by the Free Software Foundation;
	    either version 2 of the License, or (at your option) any
	    later version.
	  
This material is distributed in the hope that it will be
	    useful, but without any warranty; without even the implied
	    warranty of merchantability or 
	    fitness for a particular
	    purpose. See the GNU General Public License for more
	    details.
	  
A copy of the GNU General Public
	    License is stored on the TEI web site
	    along with this file; you can also contact the Free
	    Software Foundation, Inc., 59 Temple Place, Suite 330,
	    Boston, MA 02111-1307, USA, for a copy.


		
For information about the TEI, including contact
		details, consult the TEI web
	      site at http://www.tei-c.org/. 
		

	 Performance texts--><!--Definitions from module drama--><!--Set global predeclared macros--><!--Set predeclared macros--><!--0. predeclared macros--><!--1. classes--><!--2. elements--><define name="actor">
      <element name="actor">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Name of an actor appearing within a cast list.</a:documentation>
         <ref name="actor.content"/>
         <ref name="actor.localattributes"/>
      </element>
   </define>
   <define name="actor.content">
      <ref name="macro.phraseSeq"/>
   </define>
   <define name="actor.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="camera">
      <element name="camera">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a particular camera angle or viewpoint in a screen play.</a:documentation>
         <ref name="camera.content"/>
         <ref name="camera.localattributes"/>
      </element>
   </define>
   <define name="camera.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="camera.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
   </define>
   <define name="caption">
      <element name="caption">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the text of a caption or other text displayed as part of
a film script or screenplay.</a:documentation>
         <ref name="caption.content"/>
         <ref name="caption.localattributes"/>
      </element>
   </define>
   <define name="caption.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="caption.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="castGroup">
      <element name="castGroup">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cast list grouping) groups one or more individual castItem
elements within a cast list.</a:documentation>
         <ref name="castGroup.content"/>
         <ref name="castGroup.localattributes"/>
      </element>
   </define>
   <define name="castGroup.content">
      <group xmlns:rng="http://relaxng.org/ns/structure/1.0">
         <zeroOrMore>
            <choice>
               <ref name="model.global"/>
               <ref name="model.headLike"/>
            </choice>
         </zeroOrMore>
         <oneOrMore>
            <choice>
               <ref name="castItem"/>
               <ref name="castGroup"/>
               <ref name="roleDesc"/>
            </choice>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
         </oneOrMore>
         <optional>
            <ref name="trailer"/>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
         </optional>
      </group>
   </define>
   <define name="castGroup.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="castItem">
      <element name="castItem">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cast list item) contains a single entry within a cast list, describing
either a single role or a list of non-speaking roles.</a:documentation>
         <ref name="castItem.content"/>
         <ref name="castItem.localattributes"/>
      </element>
   </define>
   <define name="castItem.content">
      <zeroOrMore xmlns:rng="http://relaxng.org/ns/structure/1.0">
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="model.castItemPart"/>
            <ref name="model.phrase"/>
            <ref name="model.global"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="castItem.localattributes">
      <ref name="att.global.attributes"/>
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type"
                    a:defaultValue="role">
            <a:documentation>characterizes the cast item.
   </a:documentation>
            <choice>
               <value>role</value>
               <a:documentation>the item describes a single role.
       </a:documentation>
               <value>list</value>
               <a:documentation>the item describes a list of non-speaking roles.
   </a:documentation>
            </choice>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="castList">
      <element name="castList">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cast list) contains a single cast list or dramatis personae.</a:documentation>
         <ref name="castList.content"/>
         <ref name="castList.localattributes"/>
      </element>
   </define>
   <define name="castList.content">
      <group xmlns:rng="http://relaxng.org/ns/structure/1.0">
         <zeroOrMore>
            <choice>
               <ref name="model.divTop"/>
               <ref name="model.global"/>
            </choice>
         </zeroOrMore>
         <zeroOrMore>
            <group>
               <ref name="model.common"/>
            </group>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
         </zeroOrMore>
         <oneOrMore>
            <choice>
               <ref name="castItem"/>
               <ref name="castGroup"/>
            </choice>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
         </oneOrMore>
         <zeroOrMore>
            <group>
               <ref name="model.common"/>
            </group>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
         </zeroOrMore>
      </group>
   </define>
   <define name="castList.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="epilogue">
      <element name="epilogue">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the epilogue to a drama, typically spoken by an actor out of character, possibly in
    association with a particular performance or venue.</a:documentation>
         <ref name="epilogue.content"/>
         <ref name="epilogue.localattributes"/>
      </element>
   </define>
   <define name="epilogue.content">
      <group xmlns:rng="http://relaxng.org/ns/structure/1.0">
         <zeroOrMore>
            <choice>
               <ref name="model.divTop"/>
               <ref name="model.global"/>
            </choice>
         </zeroOrMore>
         <oneOrMore>
            <group>
               <ref name="model.common"/>
            </group>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
         </oneOrMore>
         <zeroOrMore>
            <group>
               <ref name="model.divBottom"/>
            </group>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
         </zeroOrMore>
      </group>
   </define>
   <define name="epilogue.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="move">
      <element name="move">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(movement) marks the actual entrance or exit of one or more characters on stage.</a:documentation>
         <ref name="move.content"/>
         <ref name="move.localattributes"/>
      </element>
   </define>
   <define name="move.content">
      <empty/>
   </define>
   <define name="move.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.ascribed.attributes"/>
      <optional>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the movement, for example as an entrance or exit.
Suggested values include: 1] entrance; 2] exit; 3] onStage</a:documentation>
            <choice>
               <value>entrance</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">character is entering the stage.</a:documentation>
               <value>exit</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">character is exiting the stage.</a:documentation>
               <value>onStage</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">character moves on stage</a:documentation>
               <data type="Name"/>
            </choice>
         </attribute>
      </optional>
      <optional>
         <attribute name="where">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the direction of a stage movement.
Sample values include: 1] L(left) ; 2] R(right) ; 3] C(center) </a:documentation>
            <list>
               <ref name="data.enumerated"/>
               <zeroOrMore>
                  <ref name="data.enumerated"/>
               </zeroOrMore>
            </list>
         </attribute>
      </optional>
      <optional>
         <attribute name="perf">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(performance) identifies the performance or performances in which this movement occurred as specified.</a:documentation>
            <list>
               <ref name="data.pointer"/>
               <zeroOrMore>
                  <ref name="data.pointer"/>
               </zeroOrMore>
            </list>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="performance">
      <element name="performance">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a section of front or back matter describing how a dramatic piece is to be
    performed in general or how it was performed on some specific occasion. </a:documentation>
         <ref name="performance.content"/>
         <ref name="performance.localattributes"/>
      </element>
   </define>
   <define name="performance.content">
      <group xmlns:rng="http://relaxng.org/ns/structure/1.0">
         <zeroOrMore>
            <choice>
               <ref name="model.divTop"/>
               <ref name="model.global"/>
            </choice>
         </zeroOrMore>
         <oneOrMore>
            <group>
               <ref name="model.common"/>
            </group>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
         </oneOrMore>
         <zeroOrMore>
            <group>
               <ref name="model.divBottom"/>
            </group>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
         </zeroOrMore>
      </group>
   </define>
   <define name="performance.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="prologue">
      <element name="prologue">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the prologue to a drama, typically spoken by an actor out of character, possibly in
    association with a particular performance or venue.</a:documentation>
         <ref name="prologue.content"/>
         <ref name="prologue.localattributes"/>
      </element>
   </define>
   <define name="prologue.content">
      <group xmlns:rng="http://relaxng.org/ns/structure/1.0">
         <zeroOrMore>
            <choice>
               <ref name="model.divTop"/>
               <ref name="model.global"/>
            </choice>
         </zeroOrMore>
         <oneOrMore>
            <group>
               <ref name="model.common"/>
            </group>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
         </oneOrMore>
         <zeroOrMore>
            <group>
               <ref name="model.divBottom"/>
            </group>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
         </zeroOrMore>
      </group>
   </define>
   <define name="prologue.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="role">
      <element name="role">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the name of a dramatic role, as given in a cast list.</a:documentation>
         <ref name="role.content"/>
         <ref name="role.localattributes"/>
      </element>
   </define>
   <define name="role.content">
      <ref name="macro.phraseSeq"/>
   </define>
   <define name="role.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="roleDesc">
      <element name="roleDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(role description) describes a character's role in a drama.</a:documentation>
         <ref name="roleDesc.content"/>
         <ref name="roleDesc.localattributes"/>
      </element>
   </define>
   <define name="roleDesc.content">
      <ref name="macro.phraseSeq"/>
   </define>
   <define name="roleDesc.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="set">
      <element name="set">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(setting) contains a description of the setting, time, locale, appearance, etc., of the action of a
    play, typically found in the front matter of a printed performance text (not a stage direction).</a:documentation>
         <ref name="set.content"/>
         <ref name="set.localattributes"/>
      </element>
   </define>
   <define name="set.content">
      <group xmlns:rng="http://relaxng.org/ns/structure/1.0">
         <zeroOrMore>
            <choice>
               <ref name="model.headLike"/>
               <ref name="model.global"/>
            </choice>
         </zeroOrMore>
         <zeroOrMore>
            <group>
               <group>
                  <ref name="model.common"/>
               </group>
               <zeroOrMore>
                  <ref name="model.global"/>
               </zeroOrMore>
            </group>
         </zeroOrMore>
      </group>
   </define>
   <define name="set.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="sound">
      <element name="sound">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a sound effect or musical sequence specified within a screen play or radio script.</a:documentation>
         <ref name="sound.content"/>
         <ref name="sound.localattributes"/>
      </element>
   </define>
   <define name="sound.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="sound.localattributes">
      <ref name="att.global.attributes"/>
      <optional>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the sound in some respect, e.g. as music, special effect, etc.</a:documentation>
            <ref name="data.enumerated"/>
         </attribute>
      </optional>
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="discrete"
                    a:defaultValue="unknown">
            <a:documentation>indicates whether the sound overlaps the surrounding speeches or interrupts them.</a:documentation>
            <ref name="data.xTruthValue"/>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="tech">
      <element name="tech">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(technical stage direction) describes a special-purpose stage direction that is not
meant for the actors.</a:documentation>
         <ref name="tech.content"/>
         <ref name="tech.localattributes"/>
      </element>
   </define>
   <define name="tech.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="tech.localattributes">
      <ref name="att.global.attributes"/>
      <optional>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the technical stage direction.</a:documentation>
            <choice>
               <value>light</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a lighting cue</a:documentation>
               <value>sound</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a sound cue</a:documentation>
               <value>prop</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a prop cue</a:documentation>
               <value>block</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a blocking instruction</a:documentation>
            </choice>
         </attribute>
      </optional>
      <optional>
         <attribute name="perf">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(performance) identifies the performance or performances to which this
technical direction applies.</a:documentation>
            <ref name="data.enumerated"/>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="view">
      <element name="view">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the visual context of some part of a screen play in
terms of what the spectator sees, generally independent of any
dialogue.</a:documentation>
         <ref name="view.content"/>
         <ref name="view.localattributes"/>
      </element>
   </define>
   <define name="view.content">
      <ref name="macro.specialPara"/>
   </define>
   <define name="view.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <!--3. macros--></grammar>