<?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>P-layer - Phrase-structure (constituency) trees in the Penn treebank style</description>
  <import type="bbn_tag.type" schema="treex_subschema_bbn.xml"/>

  <type name="p-nonterminal.type">
   <structure role="#NODE" name="p-nonterminal">
    <member name="id" role="#ID" as_attribute="1" required="1"><cdata format="ID"/></member>
    <member name="is_head" ><cdata format="any"/></member>
    <!-- label of the incoming edge, as defined in the TIGER-XML and similar formats -->
    <member name="edgelabel"><cdata format="any"/></member>
    <member name="phrase"><cdata format="any"/></member>
    <member name="functions">
      <list type="p-function.type" ordered="1"/>
    </member>
    <member name="index"><cdata format="any"/></member>
    <member name="coindex"><cdata format="any"/></member>
    <member name="children" role="#CHILDNODES">
      <sequence role="#CHILDNODES">
        <element name="nonterminal" type="p-nonterminal.type"/>
        <element name="terminal" type="p-terminal.type"/>
      </sequence>
    </member>
    <member name="wild_dump"><cdata format="any"/></member>
   </structure>
  </type>

  <type name="p-terminal.type">
     <structure role="#NODE" name="p-terminal">
        <member name="id" role="#ID" as_attribute="1" required="1"><cdata format="ID"/></member>
        <member name="is_head" ><cdata format="any"/></member>
        <member name="index"><cdata format="any"/></member>
        <member name="coindex"><cdata format="any"/></member>
        <!-- label of the incoming edge, as defined in the TIGER-XML and similar formats -->
        <member name="edgelabel"><cdata format="any"/></member>
        <member name="form"><cdata format="any"/></member>
        <member name="lemma"><cdata format="any"/></member>
        <member name="tag"><cdata format="any"/></member>
        <member name="bbn_tag" type="bbn_tag.type" />
        <member name="alignment">
            <list ordered="0" type="align-links.type"/>
        </member>
<!--        <member name="m.rf" role="#KNIT" type="m-node.type"/> -->
        <member name="wild_dump"><cdata format="any"/></member>
    </structure>
  </type>

  <type name="p-phrase.type">
    <choice>
      <value>S</value>
      <value>SBAR</value>
      <value>SBARQ</value>
      <value>SINV</value>
      <value>SQ</value>
      <value>ADJP</value>
      <value>JJP</value>
      <value>ADVP</value>
      <value>CONJP</value>
      <value>FRAG</value>
      <value>INTJ</value>
      <value>LST</value>
      <value>NAC</value>
      <value>NP</value>
      <value>NML</value>
      <value>NX</value>
      <value>PP</value>
      <value>PRN</value>
      <value>PRT</value>
      <value>QP</value>
      <value>RRC</value>
      <value>UCP</value>
      <value>VP</value>
      <value>WHADJP</value>
      <value>WHADVP</value>
      <value>WHNP</value>
      <value>WHPP</value>
      <value>X</value>

      <value>TOP</value>  <!-- for Collins parser -->
      <value>NPB</value>  <!-- for Collins parser -->
      <value>ROOT</value> <!-- for Stanford parser -->
      <value>S1</value>   <!-- for Charniak parser -->
    </choice>
  </type>

  <type name="p-function.type">
    <choice>
      <value>ADV</value>
      <value>NOM</value>
      <value>DTV</value>
      <value>LGS</value>
      <value>PRD</value>
      <value>PUT</value>
      <value>SBJ</value>
      <value>TPC</value>
      <value>VOC</value>
      <value>BNF</value>
      <value>DIR</value>
      <value>EXT</value>
      <value>LOC</value>
      <value>MNR</value>
      <value>PRP</value>
      <value>TMP</value>
      <value>CLR</value>
      <value>CLF</value>
      <value>HLN</value>
      <value>TTL</value>
      <!--Brown (Switchboard) specific functions-->
      <value>IMP</value>
      <value>UNF</value>
    </choice>
  </type>

  <type name="p-postag.type">
    <choice>
      <value>CC</value>
      <value>CD</value>
      <value>DT</value>
      <value>EX</value>
      <value>FW</value>
      <value>IN</value>
      <value>JJ</value>
      <value>JJR</value>
      <value>JJS</value>
      <value>LS</value>
      <value>MD</value>
      <value>NN</value>
      <value>NNS</value>
      <value>NNP</value>
      <value>NNPS</value>
      <value>PDT</value>
      <value>POS</value>
      <value>PRP</value>
      <value>PRP$</value>
      <value>RB</value>
      <value>RBR</value>
      <value>RBS</value>
      <value>RP</value>
      <value>SYM</value>
      <value>TO</value>
      <value>UH</value>
      <value>VB</value>
      <value>VBD</value>
      <value>VBG</value>
      <value>VBN</value>
      <value>VBP</value>
      <value>VBZ</value>
      <value>WDT</value>
      <value>WP</value>
      <value>WP$</value>
      <value>WPS</value>
      <value>WRB</value>
      <value>-NONE-</value>
      <value>-LRB-</value>
      <value>-RRB-</value>
      <value>-LSB-</value>
      <value>-RSB-</value>
      <value>-LCB-</value>
      <value>-RCB-</value>
      <value>,</value>
      <value>.</value>
      <value>:</value>
      <value>$</value>
      <value>``</value>
      <value>''</value>
      <value>#</value>
      <value>AUXG</value> <!-- added because of the Charniak parser -->
      <!-- special value generated by Charniak's parser -->
      <value>AUX</value>

      <!-- values generated by  Lingua::EN::Tagger -->
<!--      <value>PP</value>
      <value>PPC</value>
      <value>PPD</value>
      <value>PPL</value>
      <value>PPR</value>
      <value>PPS</value>
      <value>LRB</value>
      <value>RRB</value> -->

    </choice>
  </type>

  <type name="align-links.type">
    <structure>
       <member name="counterpart.rf">
          <cdata format="PMLREF"/>
       </member>
       <member name="type">
          <cdata format="any"/>
       </member>
    </structure>
 </type>


</pml_schema>
