<?xml version="1.0" encoding="ISO-8859-1"?>

<xsd:schema targetNamespace="http://neca.sysis.at/2002/04/necarrl"
	    xmlns="http://neca.sysis.at/2002/04/necarrl"
	    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	    elementFormDefault="qualified"
	    >

  <!-- include the domain-independent part of the Schema -->
  <xsd:include schemaLocation="file:neca_rrl.0.4.xsd"/>

  <!-- hp.12.11.2002: created on basis of  "neca_eshowroom.0.3.xsd" -->
  
 <xsd:annotation>
    <xsd:documentation>
      This is the schema for the scenario dependent part of the necaRRL
      Copyright (C) 2002, 2003 The NECA Consortium. All rights reserved.	
    </xsd:documentation>
  </xsd:annotation>
  
  <!-- ************************************************************* -->
  <!-- ********* scenario-specific content definitions ************* -->
  <!-- ************************************************************* -->

  <!-- as long as we do not know how/if  to specify "overlap" it is of type "string" -->
  <xsd:complexType name="domainSpecificParticipantsType">
    <xsd:attribute name="bodyoverlap" type="xsd:string" use="optional"/>
  </xsd:complexType>

  <!-- A <person>'s <domainSpecificAttr> element.
       It has a *role* attribute  -->
  <xsd:complexType name="domainSpecificPersonAttrType">
    <xsd:attribute name="role" use="required">
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="storyteller"/>
          <xsd:enumeration value="listener"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:attribute>
    <!-- A <person>'s X position relative to window.screenLeft -->
    <!--    <xsd:attribute name="x-position" type="xsd:positiveInteger" use="optional"/> -->
    <!-- A <person>'s Y position relative to window.screenTop -->
    <!-- <xsd:attribute name="y-position" type="xsd:positiveInteger" use="optional"/> -->
  </xsd:complexType>

  <!-- A <dialogueAct>'s <domainSpecificAttr> element.
       Here, it has a *type* attribute. -->

  <!-- OPENQUESTION: where and how to put  speech-relevant subtypes 
 by Martine and Stefan -->

 <!-- 
<xsd:restriction base="xsd:string">
 <xsd:enumeration value="WQ"/>
 <xsd:enumeration value="inititiate"/>
 <xsd:enumeration value="unfinished"/>
</xsd:restriction>

greeting (initiate, answer)
question (WQ, default)
assertion (unfinished, default)
-->


  <xsd:complexType name="domainSpecificDialogueActAttrType">
    <!-- as long as not defined: speaker-orientation is of type "string" -->
    <xsd:attribute name="speaker-orientation" type="xsd:string" default="front" use="optional"/>
    <xsd:attribute name="type" use="optional">
      <!-- "type" is the name for the "macro structure" used in Sysis's XML-based generator -->
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
	  <xsd:enumeration value="requestJudgeAction"/>
	  <xsd:enumeration value="reportSympathyLevel"/>
	  <xsd:enumeration value="backchannel"/>
	  <xsd:enumeration value="continueStory"/>
	  <xsd:enumeration value="elaborateStory"/>
	  <xsd:enumeration value="familiarityLevelAction"/>
	  <xsd:enumeration value="familiarityLevelPerson"/>
	  <xsd:enumeration value="futureAction"/>
	  <xsd:enumeration value="goodBye"/>
	  <xsd:enumeration value="greeting"/>
	  <xsd:enumeration value="initiateStory"/>
	  <xsd:enumeration value="judgeAction"/>
	  <xsd:enumeration value="opening"/>
	  <xsd:enumeration value="prepareGoodBye"/>
	  <xsd:enumeration value="reportMood"/>
	  <xsd:enumeration value="requestBackchannel"/>
	  <xsd:enumeration value="requestReportMood"/>
	  <xsd:enumeration value="requestSympathyLevel"/>
	  <xsd:enumeration value="response"/>
	  <xsd:enumeration value="specifyTopic"/>
	  <xsd:enumeration value="negativeResponse"/>
          <!-- these should be temporary / they are included in order to make examples work -->
	  <xsd:enumeration value="v202_question"/>
           <!-- These are NOT found in the specification, only in Brig's example : is it a bug or a frature ??? -->
	  <xsd:enumeration value="disagree"/>
	  <xsd:enumeration value="requestMoreDetail"/>
	  <xsd:enumeration value="specifyRelationship"/>
           <!-- hp. 21.5.02 added because Paul uses this in his examples for Socialite -->
	  <xsd:enumeration value="question"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:attribute>
    <xsd:attribute name="subtype" use="optional" default="none">
      <!-- "subtype" holds the "refining info" for the "macro structure" used in Sysis's XML-based generator -->
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
	  <xsd:enumeration value="none"/>
	  <xsd:enumeration value="positive"/>
	  <xsd:enumeration value="negative"/>
	  <xsd:enumeration value="indifferent"/>
	  <xsd:enumeration value="neutral"/>
	  <xsd:enumeration value="question"/>
	  <xsd:enumeration value="reportLow"/>
	  <xsd:enumeration value="reportMedium"/>
	  <xsd:enumeration value="reportNo"/>
	  <xsd:enumeration value="reportYes"/>
	  <xsd:enumeration value="request"/>
	  <xsd:enumeration value="response"/>
	  <xsd:enumeration value="self"/>
	  <xsd:enumeration value="other"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:attribute>
    <xsd:attribute name="speechtype" use="optional" default="none">
	<!-- "speechtype" is a classification demanded by Stefan and Martine in order to faciliatate the generation of 
      appropriate intonation -->
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
	  <xsd:enumeration value="none"/>
	  <xsd:enumeration value="greeting(initiate)"/>
	  <xsd:enumeration value="greeting(answer)"/>
	  <xsd:enumeration value="question(WQ)"/>
	  <xsd:enumeration value="question(default)"/>
	  <xsd:enumeration value="assertion(unfinished)"/>
	  <xsd:enumeration value="assertion(default)"/>
	<!-- allowing "default" for now -->	
	  <xsd:enumeration value="default"/>

	<!-- 
	  <xsd:enumeration value="none"/>
	  <xsd:enumeration value="wq"/>
	  <xsd:enumeration value="initiate"/>
	  <xsd:enumeration value="answer"/>
	  <xsd:enumeration value="unfinished"/>
	-->
	</xsd:restriction>
      </xsd:simpleType>
    </xsd:attribute>
  </xsd:complexType>


  <!-- *** The semantic "vocabulary" *** -->

  <!-- hp. 13.11.2002: though DRSs and semantic-content are not used in
Socialite right now, some of the types still have to be defined here,
otherwise validation of the neca_rrl-scheme will fail because of
missing types -->


  <!-- drt constants -->
  <xsd:simpleType name="drtConstantType">
    <xsd:restriction base="xsd:string">
      <!-- Car attributes -->
      <xsd:enumeration value="price"/>
      <xsd:enumeration value="consumption"/>
      <xsd:enumeration value="etc."/>
    </xsd:restriction>
  </xsd:simpleType>


  <!-- unary predicates -->
  <xsd:simpleType name="unaryPredicateType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="car"/>
      <xsd:enumeration value="cheap"/>
      <xsd:enumeration value="etc."/>
    </xsd:restriction>
  </xsd:simpleType>

  <!-- binary predicates -->
  <xsd:simpleType name="binaryPredicateType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="have"/>
      <xsd:enumeration value="name"/>
      <xsd:enumeration value="gender"/>
      <xsd:enumeration value="sex"/>
    </xsd:restriction>
  </xsd:simpleType>

  <!-- ternary predicates -->
  <xsd:simpleType name="ternaryPredicateType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="attribute"/>
    </xsd:restriction>
  </xsd:simpleType>


</xsd:schema>




