<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE universe SYSTEM "http://www.birot.hu/OTKit/files/OTKit.dtd">
<universe name="MyUniverse">
<my_candidate name="b" scheme="sf_from_string">
<param number="1">b</param>
</my_candidate>
<my_candidate name="c" scheme="sf_from_string">
<param number="1">c</param>
</my_candidate>
<my_candidate name="a" scheme="sf_from_string">
<param number="1">a</param>
</my_candidate>
<my_candidate name="aa" scheme="sf_from_string">
<param number="1">aa</param>
</my_candidate>
<my_candidate name="bb" scheme="sf_from_string">
<param number="1">bb</param>
</my_candidate>
<my_candidate name="cc" scheme="sf_from_string">
<param number="1">cc</param>
</my_candidate>
<my_constraint name="*c" scheme="*P1">
<param number="1">c</param>
<short_descr>Assign one violation mark to each c. </short_descr>
<long_descr>Candidates are strings, and let c be a string. This constraint counts the number of substrings in the surface form that are equal to c (possibly overlapping substrings), and this value will be the number of violation marks assigned to the candidate. </long_descr>
</my_constraint>
<my_constraint name="*b" scheme="*P1">
<param number="1">b</param>
<short_descr>Assign one violation mark to each b. </short_descr>
<long_descr>Candidates are strings, and let b be a string. This constraint counts the number of substrings in the surface form that are equal to b (possibly overlapping substrings), and this value will be the number of violation marks assigned to the candidate. </long_descr>
</my_constraint>
<my_constraint name="*a" scheme="*P1">
<param number="1">a</param>
<short_descr>Assign one violation mark to each a. </short_descr>
<long_descr>Candidates are strings, and let a be a string. This constraint counts the number of substrings in the surface form that are equal to a (possibly overlapping substrings), and this value will be the number of violation marks assigned to the candidate. </long_descr>
</my_constraint>
<my_constraint name="Constant_2.71" scheme="Constant_P1">
<param number="1">2.71</param>
<short_descr>Assign 2.71 violation mark(s) to any candidate. </short_descr>
<long_descr>This constraint is a constant function: it assigns the same violation level (namely, 2.71 violation mark(s)) to all candidates. Although this constraint does not seem to be very useful, you may use it to construct other constraints. </long_descr>
</my_constraint>
<my_constraint name="Cand_aa_gets_1.975" scheme="Cand_P1_gets_P2">
<param number="1">aa</param>
<param number="2">1.975</param>
<short_descr>Candidate 'aa' gets 1.975 violation(s). </short_descr>
<long_descr>This constraint assigns 1.975 violation(s) to the candidate whose name is 'aa'; zero violations to all other candidates. NB: 1.975 must be parsable to an integer or double.</long_descr>
</my_constraint>
<my_constraint name="Constant_3.14" scheme="Constant_P1">
<param number="1">3.14</param>
<short_descr>Assign 3.14 violation mark(s) to any candidate. </short_descr>
<long_descr>This constraint is a constant function: it assigns the same violation level (namely, 3.14 violation mark(s)) to all candidates. Although this constraint does not seem to be very useful, you may use it to construct other constraints. </long_descr>
</my_constraint>
<my_constraint name="*Contain_c" scheme="*Contain_P1">
<param number="1">c</param>
<short_descr>Assign one violation if contains c. </short_descr>
<long_descr>Candidates are strings, and let c be a string. This constraint assigns a single violation mark to the candidate, if the surface form contains c as a substring. </long_descr>
</my_constraint>
<my_constraint name="*Contain_b" scheme="*Contain_P1">
<param number="1">b</param>
<short_descr>Assign one violation if contains b. </short_descr>
<long_descr>Candidates are strings, and let b be a string. This constraint assigns a single violation mark to the candidate, if the surface form contains b as a substring. </long_descr>
</my_constraint>
<my_constraint name="*Contain_a" scheme="*Contain_P1">
<param number="1">a</param>
<short_descr>Assign one violation if contains a. </short_descr>
<long_descr>Candidates are strings, and let a be a string. This constraint assigns a single violation mark to the candidate, if the surface form contains a as a substring. </long_descr>
</my_constraint>
<hierarchy name="hier1" type="OT">
<constr name="Constant_3.14">
<rank rvariable="rank" value="3.0"/>
<rank rvariable="weight" value="-27.0"/>
</constr>
<constr name="Cand_aa_gets_1.975">
<rank rvariable="rank" value="2.0"/>
<rank rvariable="weight" value="-9.0"/>
</constr>
<constr name="*Contain_c">
<rank rvariable="rank" value="1.0"/>
<rank rvariable="weight" value="-3.0"/>
</constr>
<constr name="*b">
<rank rvariable="rank" value="0.0"/>
<rank rvariable="weight" value="-1.0"/>
</constr>
</hierarchy>
</universe>

