<?xml version="1.0" encoding="utf-8"?>
<pml_schema xmlns="http://ufal.mff.cuni.cz/pdt/pml/schema/" version="1.1">
  <revision>1.0.0</revision>
  <description>PDT 3.0 tectogrammatic trees</description>
  <reference name="adata" readas="trees"/>

  <import schema="wdata_30_schema.xml" type="bool.type"/>

  <root name="tdata" type="t-tdata.type"/>

  <type name="t-tdata.type">
    <structure>
      <member name="meta" required="0" type="t-meta.type"/>
      <member name="trees" role="#TREES" required="1">
        <list ordered="1" type="t-root.type"/>
      </member>
    </structure>
  </type>

  <type name="t-meta.type">
    <structure>
      <member name="annotation_info" type="t-annotation-info.type"/>
      <member name="genre" type="t-genre.type" required="0"/>
    </structure>
  </type>

  <type name="t-annotation-info.type">
    <structure name="t-annotation-info">
      <member name="version_info">
        <cdata format="any"/>
      </member>
      <member name="desc">
        <cdata format="any"/>
      </member>
    </structure>
  </type>

  <type name="t-genre.type">
    <choice>
      <value>review</value>
      <value>invitation</value>
      <value>letter</value>
      <value>advice</value>
      <value>program</value>
      <value>plot</value>
      <value>sport</value>
      <value>comment</value>
      <value>news</value>
      <value>essay</value>
      <value>overview</value>
      <value>description</value>
      <value>weather</value>
      <value>survey</value>
      <value>topic_interv</value>
      <value>person_interv</value>
      <value>collection</value>
      <value>caption</value>
      <value>metatext</value>
      <value>other</value>
    </choice>
  </type>

  <type name="t-root.type">
    <structure role="#NODE" name="t-root">
      <member as_attribute="1" name="id" role="#ID" required="1">
        <cdata format="ID"/>
      </member>
      <member name="atree.rf">
        <cdata format="PMLREF"/>
      </member>
      <member name="nodetype">
        <constant>root</constant>
      </member>
      <member name="deepord" role="#ORDER" required="0">
        <cdata format="nonNegativeInteger"/>
      </member>
      <member name="mwes" required="0">
        <list ordered="0" type="st-node.type"/>
      </member>
      <member name="genre" type="t-genre.type" required="0"/> <!-- for searching in PML-TQ only (not in the distributed data) -->
      <member name="children" role="#CHILDNODES">
        <list ordered="1" type="t-node.type"/>
      </member>
      <member name="sentence" required="0"> <!-- for searching in PML-TQ only (not in the distributed data) -->
        <cdata format="any"/>
      </member>
    </structure>
  </type>

  <type name="st-node.type">
    <structure name="st-node">
      <member as_attribute="1" name="id" role="#ID" required="1"><cdata format="ID"/></member>
      <member name="basic-form" required="0"><cdata format="any"/></member>
      <member name="type" required="1"><cdata format="any"/></member>
      <member name="tnode.rfs">
        <list ordered="0">
          <cdata format="PMLREF"/>
        </list>
      </member> 
    </structure>
  </type>

  <type name="t-node.type">
    <structure role="#NODE" name="t-node">
      <member as_attribute="1" name="id" role="#ID" required="1">
        <cdata format="ID"/>
      </member>
      <member name="a" type="t-a.type"/>
      <member name="nodetype" required="1" type="t-nodetype.type"/>
      <member name="is_generated" type="bool.type"/>
      <member name="t_lemma" required="1">
        <cdata format="any"/>
      </member>
      <member name="functor" required="1">
        <alt type="func.type"/>
      </member>
      <member name="subfunctor" type="t-subfunctor.type"/>
      <member name="sentmod" type="t-sentmod.type"/>
      <member name="quot">
        <list ordered="0">
          <structure>
            <member name="type" required="1" type="t-type.type"/>
            <member name="set_id" required="1">
              <cdata format="any"/>
            </member>
          </structure>
        </list>
      </member>
      <member name="is_dsp_root" type="bool.type"/>
      <member name="is_member" type="bool.type"/>
      <member name="is_name_of_person" type="bool.type"/>
      <member name="is_parenthesis" type="bool.type"/>
      <member name="is_state" type="bool.type"/>
      <member name="gram" type="t-gram.type"/>
      <member name="tfa" type="t-tfa.type"/>
      <member name="deepord" role="#ORDER" required="1">
        <cdata format="nonNegativeInteger"/>
      </member>
      <member name="discourse_special" type="t-discourse-special.type" required="0"/>
      <member name="discourse" required="0">
        <list ordered="0" type="t-discourse-link.type"/>
      </member>
      <member name="discourse_groups" required="0">
        <list ordered="0" type="t-discourse-groups.type"/>
      </member>
      <member name="bridging" required="0">
        <list ordered="0" type="t-bridging-link.type"/>
      </member>
      <member name="coref_text" required="0">
        <list ordered="0" type="t-coref_text-link.type"/>
      </member>
      <member name="coref_gram.rf">
        <list ordered="0">
          <cdata format="PMLREF"/>
        </list>
      </member>
      <member name="coref_special" type="coref_special.type"/>
      <member name="compl.rf">
        <list ordered="0">
          <cdata format="PMLREF"/>
        </list>
      </member>
      <member name="val_frame.rf">
        <alt>
          <cdata format="PMLREF"/>
        </alt>
      </member>
      <member name="children" role="#CHILDNODES">
        <list ordered="1" type="t-node.type"/>
      </member>
    </structure>
  </type>

  <type name="t-tfa.type">
    <choice>
      <value>t</value>
      <value>f</value>
      <value>c</value>
    </choice>
  </type>

  <type name="t-gram.type">
    <structure>
      <member name="sempos" required="1" type="t-sempos.type"/>
      <member name="gender" type="t-gender.type"/>
      <member name="number" type="t-number.type"/>
      <member name="typgroup" type="t-typgroup.type"/>
      <member name="degcmp" type="t-degcmp.type"/>
      <member name="deontmod" type="t-deontmod.type"/>
      <member name="tense" type="t-tense.type"/>
      <member name="aspect" type="t-aspect.type"/>
      <member name="iterativeness" type="t-iterativeness.type"/>
      <member name="indeftype" type="t-indeftype.type"/>
      <member name="person" type="t-person.type"/>
      <member name="numertype" type="t-numertype.type"/>
      <member name="politeness" type="t-politeness.type"/>
      <member name="negation" type="t-negation.type"/>
      <member name="diatgram" type="t-diatgram.type"/>
      <member name="factmod" type="t-factmod.type"/>
    </structure>
  </type>

  <type name="t-diatgram.type">
    <choice>
      <value>act</value>
      <value>deagent</value>
      <value>disp</value>
      <value>pas</value>
      <value>recip</value>
      <value>res1</value>
      <value>res2.1</value>
      <value>res2.2</value>
    </choice>
  </type>

  <type name="t-factmod.type">
    <choice>
      <value>appeal</value>
      <value>asserted</value>
      <value>irreal</value>
      <value>potential</value>
      <value>nil</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-negation.type">
    <choice>
      <value>neg0</value>
      <value>neg1</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-politeness.type">
    <choice>
      <value>polite</value>
      <value>basic</value>
      <value>inher</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-numertype.type">
    <choice>
      <value>basic</value>
      <value>set</value>
      <value>kind</value>
      <value>ord</value>
      <value>frac</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-person.type">
    <choice>
      <value>1</value>
      <value>2</value>
      <value>3</value>
      <value>inher</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-indeftype.type">
    <choice>
      <value>relat</value>
      <value>indef1</value>
      <value>indef2</value>
      <value>indef3</value>
      <value>indef4</value>
      <value>indef5</value>
      <value>indef6</value>
      <value>inter</value>
      <value>negat</value>
      <value>total1</value>
      <value>total2</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-iterativeness.type">
    <choice>
      <value>it1</value>
      <value>it0</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-aspect.type">
    <choice>
      <value>proc</value>
      <value>cpl</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-tense.type">
    <choice>
      <value>sim</value>
      <value>ant</value>
      <value>post</value>
      <value>nr</value>
      <value>nil</value>
    </choice>
  </type>

  <type name="t-deontmod.type">
    <choice>
      <value>deb</value>
      <value>hrt</value>
      <value>vol</value>
      <value>poss</value>
      <value>perm</value>
      <value>fac</value>
      <value>decl</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-degcmp.type">
    <choice>
      <value>pos</value>
      <value>comp</value>
      <value>acomp</value>
      <value>sup</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-number.type">
    <choice>
      <value>sg</value>
      <value>pl</value>
      <value>inher</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-typgroup.type">
    <choice>
      <value>single</value>
      <value>group</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-gender.type">
    <choice>
      <value>anim</value>
      <value>inan</value>
      <value>fem</value>
      <value>neut</value>
      <value>inher</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-sempos.type">
    <choice>
      <value>n.denot</value>
      <value>n.denot.neg</value>
      <value>n.pron.def.demon</value>
      <value>n.pron.def.pers</value>
      <value>n.pron.indef</value>
      <value>n.quant.def</value>
      <value>adj.denot</value>
      <value>adj.pron.def.demon</value>
      <value>adj.pron.indef</value>
      <value>adj.quant.def</value>
      <value>adj.quant.indef</value>
      <value>adj.quant.grad</value>
      <value>adv.denot.grad.nneg</value>
      <value>adv.denot.ngrad.nneg</value>
      <value>adv.denot.grad.neg</value>
      <value>adv.denot.ngrad.neg</value>
      <value>adv.pron.def</value>
      <value>adv.pron.indef</value>
      <value>v</value>
    </choice>
  </type>

  <type name="t-sentmod.type">
    <choice>
      <value>enunc</value>
      <value>excl</value>
      <value>desid</value>
      <value>imper</value>
      <value>inter</value>
    </choice>
  </type>

  <type name="t-type.type">
    <choice>
      <value>citation</value>
      <value>dsp</value>
      <value>meta</value>
      <value>other</value>
      <value>title</value>
    </choice>
  </type>

  <type name="t-subfunctor.type">
    <choice>
      <value>above</value>
      <value>abstr</value>
      <value>across</value>
      <value>after</value>
      <value>agst</value>
      <value>along</value>
      <value>approx</value>
      <value>around</value>
      <value>basic</value>
      <value>before</value>
      <value>begin</value>
      <value>behind</value>
      <value>below</value>
      <value>betw</value>
      <value>circ</value>
      <value>elsew</value>
      <value>end</value>
      <value>ext</value>
      <value>flow</value>
      <value>front</value>
      <value>incl</value>
      <value>in</value>
      <value>less</value>
      <value>mid</value>
      <value>more</value>
      <value>near</value>
      <value>opp</value>
      <value>target</value>
      <value>than</value>
      <value>to</value>
      <value>wout</value>
      <value>wrt</value>
      <value>nr</value>
    </choice>
  </type>

  <type name="t-nodetype.type">
    <choice>
      <value>atom</value>
      <value>coap</value>
      <value>complex</value>
      <value>dphr</value>
      <value>fphr</value>
      <value>list</value>
      <value>qcomplex</value>
    </choice>
  </type>

  <type name="t-a.type">
    <structure>
      <member name="lex.rf">
        <cdata format="PMLREF"/>
      </member>
      <member name="aux.rf">
        <list ordered="0">
          <cdata format="PMLREF"/>
        </list>
      </member>
    </structure>
  </type>

  <type name="coref_special.type">
    <choice>
      <value>segm</value>
      <value>exoph</value>
    </choice>
  </type>

  <type name="func.type">
    <choice>
      <value>ACT</value>
      <value>AUTH</value>
      <value>PAT</value>
      <value>ADDR</value>
      <value>EFF</value>
      <value>ORIG</value>
      <value>ACMP</value>
      <value>ADVS</value>
      <value>AIM</value>
      <value>APP</value>
      <value>APPS</value>
      <value>ATT</value>
      <value>BEN</value>
      <value>CAUS</value>
      <value>CNCS</value>
      <value>CM</value>
      <value>COMPL</value>
      <value>CONJ</value>
      <value>COND</value>
      <value>CONFR</value>
      <value>CONTRA</value>
      <value>CONTRD</value>
      <value>CPHR</value>
      <value>CPR</value>
      <value>CRIT</value>
      <value>CSQ</value>
      <value>DENOM</value>
      <value>DIFF</value>
      <value>DIR1</value>
      <value>DIR2</value>
      <value>DIR3</value>
      <value>DISJ</value>
      <value>DPHR</value>
      <value>EXT</value>
      <value>FPHR</value>
      <value>GRAD</value>
      <value>HER</value>
      <value>ID</value>
      <value>INTF</value>
      <value>INTT</value>
      <value>LOC</value>
      <value>MANN</value>
      <value>MAT</value>
      <value>MEANS</value>
      <value>MOD</value>
      <value>OPER</value>
      <value>PAR</value>
      <value>PARTL</value>
      <value>PREC</value>
      <value>PRED</value>
      <value>REAS</value>
      <value>REG</value>
      <value>RESL</value>
      <value>RESTR</value>
      <value>RHEM</value>
      <value>RSTR</value>
      <value>SUBS</value>
      <value>TFHL</value>
      <value>TFRWH</value>
      <value>THL</value>
      <value>THO</value>
      <value>TOWH</value>
      <value>TPAR</value>
      <value>TSIN</value>
      <value>TTILL</value>
      <value>TWHEN</value>
      <value>VOCAT</value>
    </choice>
  </type>

  <type name="t-discourse-special.type">
    <choice>
      <value>caption</value>
      <value>heading</value>
      <value>metatext</value>
    </choice>
  </type>

  <type name="t-discourse-groups.type">
    <structure>
      <member name="id" required="1">
        <cdata format="nonNegativeInteger"/>
      </member>
    </structure>
  </type>

  <type name="t-discourse-link.type">
    <structure>
      <member name="target_node.rf" required="0">
        <cdata format="PMLREF"/>
      </member>
      <member name="type" required="1">
        <choice>
          <value>discourse</value>
          <value>list</value>
        </choice>
      </member>
      <member name="start_group_id" required="0">
        <cdata format="nonNegativeInteger"/>
      </member>
      <member name="start_range" required="1">
        <cdata format="any"/>
      </member>
      <member name="target_group_id" required="0">
        <cdata format="nonNegativeInteger"/>
      </member>
      <member name="target_range" required="0">
        <cdata format="any"/>
      </member>
      <member name="discourse_type"  type="t-discourse-type.type" required="0"/>
      <member name="a-connectors.rf" required="0">
        <list ordered="0">
          <cdata format="PMLREF"/>
        </list>
      </member>
      <member name="t-connectors.rf" required="0">
        <list ordered="0">
          <cdata format="PMLREF"/>
        </list>
      </member>
      <member name="all_a-connectors.rf" required="0"> <!-- for searching in PML-TQ only (not in the distributed data) -->
        <list ordered="0">
          <cdata format="PMLREF"/>
        </list>
      </member>
      <member name="connective" required="0"> <!-- for searching in PML-TQ only (not in the distributed data) -->
        <cdata format="any"/>
      </member>
    </structure>
  </type>

  <type name="t-discourse-type.type">
    <choice>
      <value>conc</value>
      <value>cond</value>
      <value>confr</value>
      <value>conj</value>
      <value>conjalt</value>
      <value>corr</value>
      <value>disjalt</value>
      <value>equiv</value>
      <value>exempl</value>
      <value>explicat</value>
      <value>f_cond</value>
      <value>f_opp</value>
      <value>f_reason</value>
      <value>gener</value>
      <value>grad</value>
      <value>opp</value>
      <value>preced</value>
      <value>purp</value>
      <value>reason</value>
      <value>restr</value>
      <value>spec</value>
      <value>synchr</value>
      <value>other</value>
    </choice>
  </type>

  <type name="t-bridging-link.type">
    <structure>
      <member name="target_node.rf" required="1">
        <cdata format="PMLREF"/>
      </member>
      <member name="type" type="t-bridging-type.type" required="1"/>
    </structure>
  </type>

  <type name="t-bridging-type.type">
    <choice>
      <value>CONTRAST</value>
      <value>SUB_SET</value>
      <value>SET_SUB</value>
      <value>PART_WHOLE</value>
      <value>WHOLE_PART</value>
      <value>FUNCT_P</value>
      <value>P_FUNCT</value>
      <value>REST</value>
      <value>ANAF</value>
    </choice>
  </type>

  <type name="t-coref_text-link.type">
    <structure>
      <member name="target_node.rf" required="1">
        <cdata format="PMLREF"/></member>
      <member name="type" required="1">
        <choice>
          <value>SPEC</value>
          <value>GEN</value>
        </choice>
      </member>
    </structure>
  </type>

</pml_schema>
