<commit_before><?xml version="1.0" encoding="utf-8"?>
<!--
Rules: German grammar errors and typos
See tagset.txt for the meaning of the POS tags
Copyright (C) 2001-2006 <NAME> (http://www.danielnaber.de)
$Id: grammar.xml,v 1.64 2006-12-09 15:38:03 dnaber Exp $
-->
<rules lang="de">

  <category name="Mögliche Tippfehler">

  <rule id="LEERZEICHEN_UND" name="Möglicher Tippfehler: vergessenes Leerzeichen'">
    <pattern>
      <token regexp="yes">(.*)-(und|oder|bzw)</token>
    </pattern>
    <!-- TODO: we need a way to refer to regex parts for a better message -->
    <message>Möglicherweise fehlt ein Leerzeichen nach dem Bindestrich.</message>
    <example type="correct">Das ist <marker>Haus- bzw</marker>. Grundbesitz.</example>
    <example type="incorrect">Das ist <marker>Haus-bzw</marker>. Grundbesitz.</example>
    <example type="correct">Das ist <marker>Haus- und</marker> Grundbesitz.</example>
    <example type="incorrect">Das ist <marker>Haus-und</marker> Grundbesitz.</example>
  </rule>

  <rulegroup id="HAUTE_COUTURE" name="Möglicher Tippfehler 'Haut(Haute) Couture'">
    <rule>
      <pattern mark_to="-1">
        <token>haut</token>
        <token regexp="yes">couture|coiffure|volée</token>
      </pattern>
      <message>Meinten Sie <suggestion>Haute</suggestion> (franz. "hoch, bedeutend")?</message>
      <example type="correct">Vom Schneider bis zur <marker>Haute</marker> Couture.</example>
      <example type="incorrect">Vom Schneider bis zur <marker>Haut</marker> Couture.</example>
      <example type="incorrect">Vom Schneider bis zur <marker>haut</marker> couture.</example>
    </rule>
  </rulegroup>
  
  <rulegroup id="WAR_WERDEN" name="Möglicher Tippfehler 'war(wahr) werden'">
    <rule>
      <pattern mark_to="-1">
        <token>war</token>
        <token regexp="yes">werden|wird</token>
      </pattern>
      <message>Meinten Sie <suggestion>wahr</suggestion> (=wahrhaftig, authentisch) statt 'war' (Vergangenheit von 'sein')?</message>
      <example type="correct">Das kann schnell <marker>wahr</marker> werden.</example>
      <example type="correct">Ich glaube, dass es schnell <marker>wahr</marker> wird.</example>
      <example type="incorrect">Das kann schnell <marker>war</marker> werden.</example>
      <example type="incorrect">Ich glaube, dass es schnell <marker>war</marker> wird.</example>
    </rule>
    <rule>
      <pattern mark_from="1">
        <token regexp="yes">wird|wurde|wurden|würde</token>
        <token>war</token>
      </pattern>
      <message>Meinten Sie <suggestion>wahr</suggestion> (=wahrhaftig, authentisch) statt 'war' (Vergangenheit von 'sein')?</message>
      <example type="correct">Seine Träume wurden <marker>wahr</marker>.</example>
      <example type="incorrect">Seine Träume wurden <marker>war</marker>.</example>
    </rule>
  </rulegroup>

  <rulegroup id="DU_WUENSCHT" name="Möglicher Tippfehler 'du wünscht(wünschst)'">
    <rule>
      <!-- TODO: mehr Fälle finden mit "grep "schen/BDIOXYcd" de_DE_neu.dic|less" -->
      <pattern mark_from="1">
        <token>du</token>
        <token>wünscht</token>
      </pattern>
      <message>Meinten Sie <suggestion>wünschst</suggestion> (ich wünsche, du wünschst, er wünscht, ...)?</message>
      <example type="correct">Du <marker>wünschst</marker> dir so viel.</example>
      <example type="incorrect">Du <marker>wünscht</marker> dir so viel.</example>
    </rule>
    <rule>
      <pattern mark_to="-1">
        <token>wünscht</token>
        <token>du</token>
      </pattern>
      <message>Meinten Sie <suggestion>wünschst</suggestion> (ich wünsche, du wünschst, er wünscht, ...)?</message>
      <example type="correct"><marker>Wünschst</marker> du dir mehr Zeit?</example>
      <example type="incorrect"><marker>Wünscht</marker> du dir mehr Zeit?</example>
    </rule>
  </rulegroup>

  <rule id="ZU_ZUMUTEN" name="Möglicher Tippfehler 'zu zu... (zuzu...)'">
    <!-- TODO: gilt das für alle Verben mit "zu.*"? -->
    <pattern>
      <token>zu</token>
      <token regexp="yes">zumuten|zugeben|zulassen|zubinden|zubereiten|zugestehen|zumachen</token>
    </pattern>
    <message>Meinten Sie <suggestion>\1\2</suggestion>?</message>
    <example type="correct">Das ist ihm wohl nicht <marker>zuzumuten</marker>.</example>
    <example type="incorrect">Das ist ihm wohl nicht <marker>zu zumuten</marker>.</example>
  </rule>

  <rule id="HIN_UNS_WIEDER" name="Möglicher Tippfehler 'hin uns(und) wieder'">
    <pattern mark_from="1" mark_to="-1">
      <token>hin</token>
      <token>uns</token>
      <token>wieder</token>
    </pattern>
    <message>Meinten Sie <suggestion>und</suggestion>?</message>
    <example type="correct">Hin <marker>und</marker> wieder kann man das machen.</example>
    <example type="incorrect">Hin <marker>uns</marker> wieder kann man das machen.</example>
  </rule>

  <rule id="SONDER_NUR" name="Möglicher Tippfehler 'sonder(sondern)'">
    <!-- "sonder" wird vom Spellchecker akzeptiert, ist aber fast nie richtig -->
    <pattern>
      <token>sonder</token>
    </pattern>
    <message>Meinten Sie <suggestion>sondern</suggestion>?</message>
    <example type="correct">Es gibt keine neuen Features, <marker>sondern</marker> nur Fehlerkorrekturen.</example>
    <example type="incorrect">Es gibt keine neuen Features, <marker>sonder</marker> nur Fehlerkorrekturen.</example>
  </rule>

  <rule id="SEID_BESTEHEN" name="Möglicher Tippfehler 'seid(seit) Bestehen'">
    <!-- TODO: generalize -->
    <pattern mark_to="-1">
      <token>seid</token>
      <token>Bestehen</token>
    </pattern>
    <message>Meinten Sie <suggestion>seit</suggestion>?</message>
    <example type="correct">Noch nie so viele Auswanderer <marker>seit</marker> Bestehen der BRD</example>
    <example type="incorrect">Noch nie so viele Auswanderer <marker>seid</marker> Bestehen der BRD</example>
  </rule>
  
  <rule id="IN_DIE_ANALEN" name="Möglicher Tippfehler 'in die Analen(Annalen)'">
    <pattern mark_from="2">
      <token>in</token>
      <token>die</token>
      <token>Analen</token>
    </pattern>
    <message>Meinten Sie <suggestion>Annalen</suggestion>?</message>
    <example type="correct">Wir können in die <marker>Annalen</marker> des Klubs eingehen</example>
    <example type="incorrect">Wir können in die <marker>Analen</marker> des Klubs eingehen</example>
  </rule>
  
  <rule id="ALLES_OLLES" name="Möglicher Tippfehler 'alles/olles'">
    <!-- "olles" is (very) colloquial, but anyway... -->
    <pattern mark_from="1">
      <token regexp="yes">ist|war|mir|dir</token>
      <token>olles</token>
    </pattern>
    <message>Meinten Sie <suggestion>alles</suggestion>?</message>
    <example type="correct">Das ist mir <marker>alles</marker> zu viel.</example>
    <example type="incorrect">Das ist mir <marker>olles</marker> zu viel.</example>
  </rule>

  <rulegroup id="SCHON_SCHOEN" name="Möglicher Tippfehler 'schon/schön'">
    <rule>
      <pattern mark_from="1">
        <token>ganz</token>
        <token>schon</token>
      </pattern>
      <message>Meinten Sie <suggestion>schön</suggestion>?</message>
      <example type="correct">Das ist ganz <marker>schön</marker> teuer.</example>
      <example type="incorrect">Das ist ganz <marker>schon</marker> teuer.</example>
    </rule>
    <rule>
      <pattern mark_to="-1">
        <token>schön</token>
        <token regexp="yes">sehr|recht</token>
      </pattern>
      <message>Meinten Sie <suggestion>schon</suggestion>?</message>
      <example type="correct">Das ist <marker>schon</marker> sehr teuer.</example>
      <example type="incorrect">Das ist <marker>schön</marker> sehr teuer.</example>
    </rule>
  </rulegroup>
  
  <rulegroup id="WIE_WIR" name="Möglicher Tippfehler 'wie/wir'">
    <rule>
      <pattern mark_from="2">
        <token>wie</token>
        <token regexp="yes">.+</token>
        <token>wie</token>
      </pattern>
      <message>Meinten Sie <suggestion>wir</suggestion>?</message>
      <example type="correct">Wie können <marker>wir</marker> vorgehen?</example>
      <example type="incorrect">Wie können <marker>wie</marker> vorgehen?</example>
    </rule>
    <rule>
      <pattern mark_from="1">
        <token regexp="yes">so|genauso|nach|sie|konnte|wollte|sollte|möchte</token>
        <token>wir</token>
      </pattern>
      <message>Meinten Sie <suggestion>wie</suggestion>?</message>
      <example type="correct">Das gilt nach <marker>wie</marker> vor.</example>
      <example type="incorrect">Das gilt nach <marker>wir</marker> vor.</example>
    </rule>
  </rulegroup>

  <!-- TODO: "NOUN wir" außer "welches/was für ein NOUN wir" -->
  <rule id="OHNE_GEWEHR" name="Möglicher Tippfehler 'ohne Gewehr(Gewähr)'">
    <pattern mark_from="1">
      <token>ohne</token>
      <token>Gewehr</token>
    </pattern>
    <message>Hinweis: Gewehr = Schusswaffe, <suggestion>Gewähr</suggestion> = Garantie/Gewährleistung/Sicherheit</message>
    <example type="correct">Alle Angaben ohne <marker>Gewähr</marker>.</example>
    <example type="incorrect">Alle Angaben ohne <marker>Gewehr</marker>.</example>
  </rule>

  <rule id="PER_NACHNAME" name="Möglicher Tippfehler 'per Nachname(Nachnahme)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token>per</token>
      <token>Nachname</token>
    </pattern>
    <message>Meinten Sie <suggestion>Nachnahme</suggestion> ('Nachnahme' = Versandart, 'Nachname' = Familienname)?</message>
    <example type="correct">Warum liefern Firmen lieber per <marker>Nachnahme</marker>?</example>
    <example type="incorrect">Warum liefern Firmen lieber per <marker>Nachname</marker>?</example>
  </rule>

  <rule id="MOEGLICHER_WEISE" name="Möglicher Tippfehler 'möglicher Weise(möglicherweise)'">
    <pattern>
      <token>möglicher</token>
      <token>Weise</token>
    </pattern>
    <message><suggestion>Möglicherweise</suggestion> wird zusammengeschrieben.</message>
    <example type="correct"><marker>Möglicherweise</marker> ist die Gelbphase zu kurz eingestellt.</example>
    <example type="incorrect"><marker>Möglicher Weise</marker> ist die Gelbphase zu kurz eingestellt.</example>
  </rule>

  <rule id="LASEN_LASSEN" name="Möglicher Tippfehler 'zu lasen(lassen)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token>zu</token>
      <token>lasen</token>
    </pattern>
    <message>Meinten Sie 'zu <suggestion>lassen</suggestion>'?</message>
    <example type="correct">...sie mit einem Maulkorb rumlaufen zu <marker>lassen</marker>.</example>
    <example type="incorrect">...sie mit einem Maulkorb rumlaufen zu <marker>lasen</marker>.</example>
  </rule>

  <rule id="OEKONOMISCH_OEKUMENISCH" name="Möglicher Tippfehler 'ökonomischer(ökumenischer) Gottesdienst/...'">
    <pattern mark_to="-1">
      <token regexp="yes">ökonomischen|ökonomischer</token>
      <token regexp="yes">.*[Gg]ottesdienst.*|Trauung|Taufe|Kirchentag|Kirchentags|Kirchentages|Abendmahl|Abendmahls</token>
    </pattern>
    <message>Meinten Sie <suggestion>ökumenisch</suggestion> (ökonomisch = auf die Wirtschaft bezogen)?</message>
    <example type="correct">Was ist ein <marker>ökumenischer</marker> Gottesdienst?</example>
    <example type="incorrect">Was ist ein <marker>ökonomischer</marker> Gottesdienst?</example>
    <example type="incorrect">Was ist das Merkmal eines <marker>ökonomischen</marker> Gedenkgottesdienstes?</example>
    <example type="incorrect">Was ist das Merkmal eines <marker>ökonomischen</marker> Gottesdienstes?</example>
    <example type="incorrect">Was ist das Merkmal von <marker>ökonomischen</marker> Gottesdiensten?</example>
  </rule>

  <rule id="ETHISCH_ETHNISCH" name="Möglicher Tippfehler 'ethische(ethnische) Minderheiten/...'">
    <pattern mark_to="-1">
      <token regexp="yes">[Ee]thische|[Ee]thischer|[Ee]thischen</token>
      <token regexp="yes">Minderheit|Minderheiten|Säuberung|Säuberungen|Herkunft|Konflikt|Konflikte</token>
    </pattern>
    <message>Meinten Sie <suggestion>ethnisch</suggestion> (ethisch = Ethik/Moral betreffend, ethnisch = zu einer bestimmten Ethnie/Volksgruppe gehörend)?</message>
    <example type="correct">Bücher über <marker>ethnische</marker> Minderheiten und Vertriebene</example>
    <example type="incorrect">Bücher über <marker>ethische</marker> Minderheiten und Vertriebene</example>
  </rule>

  <rule id="DENN_DEN" name="Möglicher Tippfehler 'aber denn(dann)'">
    <pattern mark_from="1">
      <token regexp="yes">[Aa]ber|[Dd]och|[Uu]nd</token>
      <token>denn</token>
    </pattern>
    <message>Meinten Sie <suggestion>den</suggestion> oder <suggestion>dann</suggestion>?</message>
    <example type="correct">Aber <marker>dann</marker> ging es los.</example>
    <example type="correct">Aber <marker>den</marker> haben Sie ja schon.</example>
    <example type="incorrect">Aber <marker>denn</marker> haben Sie ja schon.</example>
  </rule>

  <rule id="ZAUN_ZAUM" name="Möglicher Tippfehler 'im Zaun(Zaum) halten'">
    <pattern mark_from="1" mark_to="-1">
      <token>im</token>
      <token regexp="yes">Zaun</token>
      <token regexp="yes">halten|hielt|hält|haltet|hälst|gehalten</token>
    </pattern>
    <message>Meinten Sie <suggestion>Zaum</suggestion>?</message>
    <example type="correct">Da konnt ich meine Finger nicht mehr im <marker>Zaum</marker> halten.</example>
    <example type="incorrect">Da konnt ich meine Finger nicht mehr im <marker>Zaun</marker> halten.</example>
  </rule>

  <rule id="BESCHEIDE_BESCHEID" name="Möglicher Tippfehler 'Bescheide/Bescheid'">
    <pattern mark_to="-1">
      <token regexp="yes">Bescheide|Bescheids</token>
      <token regexp="yes">sagen|sagst|sagt|wissen|weißt|wisst|geben|gebt</token>
    </pattern>
    <message>Meinten Sie <suggestion>Bescheid</suggestion>?</message>
    <example type="correct">Da würde ich auch <marker>Bescheid</marker> sagen.</example>
    <example type="incorrect">Da würde ich auch <marker>Bescheide</marker> sagen.</example>
    <example type="incorrect">Da würde ich auch <marker>Bescheids</marker> geben.</example>
  </rule>

  <rule id="WIEDER_WILLEN" name="Möglicher Tippfehler 'wieder(wider) Willen/Erwarten'">
    <pattern mark_to="-1">
      <token>wieder</token>
      <token regexp="yes">Willen|Erwarten</token>
    </pattern>
    <message>Meinten Sie <suggestion>wider</suggestion> (wider = gegen, wieder = nochmals)?</message>
    <example type="correct">Wunschwitz wird zum Aufständler und Rebellen <marker>wider</marker> Willen.</example>
    <example type="incorrect">Wunschwitz wird zum Aufständler und Rebellen <marker>wieder</marker> Willen.</example>
  </rule>

  <rule id="ICH_VERALTE" name="Möglicher Tippfehler 'ich veralte(verwalte/verhalte)'">
    <pattern mark_from="1">
      <token>ich</token>
      <token>veralte</token>
    </pattern>
    <message>Meinten Sie <suggestion>verhalte</suggestion> oder <suggestion>verwalte</suggestion>?</message>
    <example type="correct">Ich <marker>verwalte</marker> auf diese Weise so 100 E-Mail-Adressen.</example>
    <example type="incorrect">Ich <marker>veralte</marker> auf diese Weise so 100 E-Mail-Adressen.</example>
  </rule>

  <rule id="VON_WIEDER_VON" name="Möglicher Tippfehler 'von(schon) wieder von'">
    <pattern mark_to="-2">
      <token>von</token>
      <token>wieder</token>
      <token>von</token>
    </pattern>
    <message>Meinten Sie <suggestion>schon</suggestion>?</message>
    <example type="correct">Das war's auch <marker>schon</marker> wieder von mir.</example>
    <example type="incorrect">Das war's auch <marker>von</marker> wieder von mir.</example>
  </rule>

  <rule id="BEREIT_BESTEHENDE" name="Möglicher Tippfehler 'bereit(bereits) bestehende'">
    <pattern mark_to="-1">
      <token>bereit</token>
      <token>bestehende</token>
    </pattern>
    <message>Meinten Sie <suggestion>bereits</suggestion>?</message>
    <example type="correct">Sie können dies als Service für Ihre <marker>bereits</marker> bestehende Seite benutzen.</example>
    <example type="incorrect">Sie können dies als Service für Ihre <marker>bereit</marker> bestehende Seite benutzen.</example>
  </rule>

  <rule id="MIT_OHNE" name="Möglicher Tippfehler 'mit ohne'">
    <pattern>
      <token>mit</token>
      <token>ohne</token>
    </pattern>
    <message>Meinten Sie <suggestion>ohne</suggestion>? 'Mit ohne' ist eine umgangssprachliche Wendung.</message>
    <example type="correct">Internet <marker>ohne</marker> Schnur</example>
    <example type="incorrect">Internet <marker>mit ohne</marker> Schnur</example>
  </rule>
  
  <rule id="TROTZ_ALLEDEM" name="'Möglicher Tippfehler 'trotz alle dem(alledem)'">
    <pattern mark_from="1">
      <token regexp="yes">bei|bei|trotz|nach|von|hinter</token>
      <token>alle</token>
      <token>dem</token>
    </pattern>
    <message>Meinten Sie <suggestion>alledem</suggestion>?</message>
    <example type="correct">Hinter <marker>alledem</marker> steht die Universität.</example>
    <example type="incorrect">Hinter <marker>alle dem</marker> steht die Universität.</example>
  </rule>

  <rule id="INS_BEZUG" name="'Möglicher Tippfehler 'ins(in) Bezug'">
    <pattern mark_to="-1">
      <token>ins</token>
      <token regexp="yes">Bezug|Relation</token>
    </pattern>
    <message>Meinten Sie <suggestion>in</suggestion>?</message>
    <example type="correct">Auffächerung der Altersgruppen <marker>in</marker> Bezug zu den Einwohnerzahlen.</example>
    <example type="incorrect">Auffächerung der Altersgruppen <marker>ins</marker> Bezug zu den Einwohnerzahlen.</example>
  </rule>

  <rule id="AUFS_TRAPEZ_BRINGEN" name="Möglicher Tippfehler 'aufs Trapez(Tapet) bringen'">
    <pattern mark_from="1" mark_to="-1">
      <token>aufs</token>
      <token>Trapez</token>
      <token inflected="yes">bringen</token>
    </pattern>
    <message>Meinten Sie <suggestion>Tapet</suggestion>?</message>
    <example type="correct">Dieses Thema habe ich auch aufs <marker>Tapet</marker> gebracht.</example>
    <example type="incorrect">Dieses Thema habe ich auch aufs <marker>Trapez</marker> gebracht.</example>
  </rule>

  <rule id="WAS_LANGE_WEHRT" name="Möglicher Tippfehler 'was lange wehrt(währt)'">
    <pattern mark_from="2">
      <token>was</token>
      <token>lange</token>
      <token>wehrt</token>
    </pattern>
    <message>Meinten Sie <suggestion>währt</suggestion>?</message>
    <example type="correct">Was lange <marker>währt</marker>...</example>
    <example type="incorrect">Was lange <marker>wehrt</marker>...</example>
  </rule>

  </category>
  
  <!--  Rules about upper/lowercase:  -->

  <category name="Groß-/Kleinschreibung">
  
  <!-- TODO: Gut und böse; gut und Böse -->
  <rule id="GUT_UND_BOESE" name="Groß-/Kleinschreibung: 'jenseits von gut(Gut) und böse(Böse)'">
    <pattern mark_from="2" case_sensitive="yes">
      <token regexp="yes">[Jj]enseits</token>
      <token>von</token>
      <token>gut</token>
      <token>und</token>
      <token>böse</token>
    </pattern>
    <message><suggestion>Gut und Böse</suggestion> in der Wendung 'jenseits von Gut und Böse' wird groß geschrieben.</message>
    <example type="correct">Das ist jenseits von <marker>Gut und Böse</marker>.</example>
    <example type="incorrect">Das ist jenseits von <marker>gut und böse</marker>.</example>
  </rule>

  <rule id="WENN_UND_ABER" name="Groß-/Kleinschreibung: 'ohne wenn(Wenn) und aber(Aber)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token regexp="yes">[Oo]hne</token>
      <token>wenn</token>
      <token>und</token>
      <token>aber</token>
    </pattern>
    <message><suggestion>Wenn und Aber</suggestion> in der Wendung 'ohne Wenn und Aber' wird groß geschrieben.</message>
    <example type="correct">Das gilt von <marker>Wenn und Aber</marker>.</example>
    <example type="incorrect">Das gilt ohne <marker>wenn und aber</marker>.</example>
  </rule>

  <rule id="DAS_ERSTE_MAL" name="Groß-/Kleinschreibung: 'das erste mal(Mal)'">
    <pattern mark_from="2" case_sensitive="yes">
      <token regexp="yes">[Bb]eim|[Zz]um|[Dd]as</token>
      <token regexp="yes">erste|ersten|letzte|letzte|letzten|vorige|vorigen</token>
      <token>mal</token>
    </pattern>
    <message><suggestion>Mal</suggestion> in der Wendung 'das erste/letzte Mal' wird groß geschrieben.</message>
    <example type="correct">...als du ihn das erste <marker>Mal</marker> gesehen hast?</example>
    <example type="incorrect">...als du ihn das erste <marker>mal</marker> gesehen hast?</example>
    <example type="incorrect">...als du ihn zum ersten <marker>mal</marker> gesehen hast?</example>
  </rule>

  <rule id="IN_ACHT_NEHMEN" name="Groß-/Kleinschreibung: 'in acht(Acht) nehmen'">
    <pattern mark_from="1" mark_to="-1" case_sensitive="yes">
      <token>in</token>
      <token>acht</token>
      <token regexp="yes">nehmen|nahm|genommen</token>
    </pattern>
    <message><suggestion>Acht</suggestion> in der Wendung '(sich) in Acht nehmen' wird groß geschrieben.</message>
    <example type="correct">Er sollte sich in <marker>Acht</marker> nehmen.</example>
    <example type="incorrect">Er sollte sich in <marker>acht</marker> nehmen.</example>
  </rule>

  <rule id="AUS_VERSEHEN" name="Groß-/Kleinschreibung: 'aus versehen(Versehen)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token>aus</token>
      <token>versehen</token>
    </pattern>
    <message>In der Wendung 'aus Versehen' wird <suggestion>Versehen</suggestion> groß geschrieben.</message>
    <example type="correct">Die SPD meuchelt aus <marker>Versehen</marker> ihren Chef.</example>
    <example type="incorrect">Die SPD meuchelt aus <marker>versehen</marker> ihren Chef.</example>
  </rule>

  <rule id="AUF_DEM_LAUFENDEN" name="Groß-/Kleinschreibung: 'auf dem laufenden(Laufenden)'">
    <pattern mark_from="2" case_sensitive="yes">
      <token>auf</token>
      <token>dem</token>
      <token>laufenden</token>
    </pattern>
    <message>In der Wendung 'auf dem Laufenden' wird <suggestion>Laufenden</suggestion> groß geschrieben.</message>
    <example type="correct">Bitte halte mich auf dem <marker>Laufenden</marker>.</example>
    <example type="incorrect">Bitte halte mich auf dem <marker>laufenden</marker>
      </example>
  </rule>

  <rule id="ETWAS_WICHTIGES" name="Groß-/Kleinschreibung: 'etwas/nichts wichtiges(Wichtiges)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token regexp="yes">etwas|nichts</token>
      <token>wichtiges</token>
    </pattern>
    <message><suggestion>Wichtiges</suggestion> als Nomen wird groß geschrieben.</message>
    <example type="correct">Beiträge die etwas <marker>Wichtiges</marker> über den Spielverlauf verraten bitte kennzeichnen.</example>
    <example type="incorrect">Beiträge die etwas <marker>wichtiges</marker> über den Spielverlauf verraten bitte kennzeichnen.</example>
  </rule>

  <rule id="ETWAS_GUTES" name="Groß-/Kleinschreibung: 'etwas/nichts gutes(Gutes)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token regexp="yes">etwas|nichts</token>
      <token>gutes</token>
    </pattern>
    <message><suggestion>Gutes</suggestion> als Nomen wird groß geschrieben.</message>
    <example type="correct">Dahinter verbirgt sich nichts <marker>Gutes</marker>.</example>
    <example type="incorrect">Dahinter verbirgt sich nichts <marker>gutes</marker>.</example>
  </rule>

  <rule id="ZU_BUCHE" name="Groß-/Kleinschreibung: 'zu buche(Buche) schlagen'">
    <pattern mark_from="1" case_sensitive="yes">
      <token>zu</token>
      <token>buche</token>
    </pattern>
    <message>In der Wendung "zu Buche schlagen" schreibt man <suggestion>Buche</suggestion> groß.</message>
    <example type="correct">Das schlägt nicht so sehr zu <marker>Buche</marker>.</example>
    <example type="incorrect">Das schlägt nicht so sehr zu <marker>buche</marker>.</example>
  </rule>

  <rulegroup id="FRAGEN_HABEN" name="Groß-/Kleinschreibung: 'fragen(Fragen) haben/stellen'">
    <rule>
      <pattern mark_to="-1" case_sensitive="yes">
        <token>fragen</token>
        <token inflected="yes" regexp="yes">haben|stellen</token>
      </pattern>
      <message><suggestion>Fragen</suggestion> als Nomen wird groß geschrieben.</message>
      <example type="correct">Meine <marker>Fragen</marker> hat bislang keiner gelesen.</example>
      <example type="correct">Dazu möchte ich gerne <marker>Fragen</marker> stellen.</example>
      <example type="correct">Dazu wurden <marker>Fragen</marker> gestellt.</example>
      <example type="incorrect">Meine <marker>fragen</marker> hat bislang keiner gelesen</example>
      <example type="incorrect">Dazu möchte ich gerne <marker>fragen</marker> stellen.</example>
      <example type="incorrect">Dazu wurden <marker>fragen</marker> gestellt.</example>
    </rule>
    <rule>
      <!-- TODO: "habe ein paar fragen"... -->
      <pattern mark_from="1" case_sensitive="yes">
        <token inflected="yes" regexp="yes">haben|stellen</token>
        <token>fragen</token>
      </pattern>
      <message><suggestion>Fragen</suggestion> als Nomen wird groß geschrieben.</message>
      <example type="correct">Ich habe <marker>Fragen</marker> dazu.</example>
      <example type="correct">Ich stellte <marker>Fragen</marker> dazu.</example>
      <example type="incorrect">Ich habe <marker>fragen</marker> dazu.</example>
      <example type="incorrect">Ich stellte <marker>fragen</marker> dazu.</example>
    </rule>
  </rulegroup>

  <rule id="SEIT_BESTEHEN" name="Groß-/Kleinschreibung: 'seit bestehen(Bestehen)'">
    <!-- TODO: seit seinem/ihrem/... Bestehen -->
    <pattern mark_from="1" case_sensitive="yes">
      <token>seit</token>
      <token>bestehen</token>
    </pattern>
    <message>Meinten Sie <suggestion>Bestehen</suggestion>?</message>
    <example type="correct">Noch nie so viele Auswanderer seit <marker>Bestehen</marker> der BRD</example>
    <example type="incorrect">Noch nie so viele Auswanderer seit <marker>bestehen</marker> der BRD</example>
  </rule>

  <rule id="ZUM_MITNEHMEN" name="Groß-/Kleinschreibung: 'zum mitnehmen(Mitnehmen)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token>zum</token>
      <token>mitnehmen</token>
    </pattern>
    <message>Meinten Sie <suggestion>Mitnehmen</suggestion>?</message>
    <example type="correct">Alle Gerichte auch zum <marker>Mitnehmen</marker>.</example>
    <example type="incorrect">Alle Gerichte auch zum <marker>mitnehmen</marker>.</example>
  </rule>

  <rule id="AUF_DEM_GEWISSEN" name="Groß-/Kleinschreibung: 'auf dem gewissen(Gewissen)'">
    <pattern mark_from="2" case_sensitive="yes">
      <token>auf</token>
      <token>dem</token>
      <token>gewissen</token>
    </pattern>
    <message>Meinten Sie <suggestion>Gewissen</suggestion>?</message>
    <example type="correct">Er hat sie auf dem <marker>Gewissen</marker>.</example>
    <example type="incorrect">Er hat sie auf dem <marker>gewissen</marker>.</example>
  </rule>

  <rulegroup id="ODER_FLUSS" name="Groß-/Kleinschreibung: 'oder/Oder(der Fluß)'">
    <rule>
      <pattern case_sensitive="yes">
        <token>Frankfurt/oder</token>
      </pattern>
      <message>Meinten Sie <suggestion>Frankfurt/Oder</suggestion>?</message>
      <example type="correct">In <marker>Frankfurt/Oder</marker> steht ein Hofbräuhaus.</example>
      <example type="incorrect">In <marker>Frankfurt/oder</marker> steht ein Hofbräuhaus.</example>
    </rule>
    <rule>
      <pattern mark_from="2" mark_to="-1" case_sensitive="yes">
        <token>Frankfurt</token>
        <token>(</token>
        <token>oder</token>
        <token>)</token>
      </pattern>
      <message>Meinten Sie <suggestion>Oder</suggestion>?</message>
      <example type="correct">In Frankfurt (<marker>Oder</marker>) steht ein Hofbräuhaus.</example>
      <example type="incorrect">In Frankfurt (<marker>oder</marker>) steht ein Hofbräuhaus.</example>
    </rule>
    <rule>
      <pattern mark_from="2" case_sensitive="yes">
        <token regexp="yes">an|jenseits</token>
        <token>der</token>
        <token>oder</token>
      </pattern>
      <message>Meinten Sie <suggestion>Oder</suggestion>?</message>
      <example type="correct">Die Stadt liegt an der <marker>Oder</marker>.</example>
      <example type="incorrect">Die Stadt liegt an der <marker>oder</marker>.</example>
    </rule>
  </rulegroup>

  <rule id="AUSSER_BETRIEB" name="Groß-/Kleinschreibung: 'außer betrieb(Betrieb)'">
    <!-- TODO: could this be covered by excepting nouns after "außer"? -->
    <pattern mark_from="1" case_sensitive="yes">
      <token regexp="yes">außer|in</token>
      <token>betrieb</token>
    </pattern>
    <message>Meinten Sie <suggestion>Betrieb</suggestion>?</message>
    <example type="correct">Der Fahrstuhl ist außer <marker>Betrieb</marker>.</example>
    <example type="correct">Der Fahrstuhl ist nicht in <marker>Betrieb</marker>.</example>
    <example type="incorrect">Der Fahrstuhl ist außer <marker>betrieb</marker>.</example>
    <example type="incorrect">Der Fahrstuhl ist nicht in <marker>betrieb</marker>.</example>
  </rule>

  <rule id="ZUR_FOLGE" name="Groß-/Kleinschreibung: 'zur folge(Folge)'">
    <!-- TODO: could this be covered by excepting nouns after "zur"? -->
    <pattern mark_from="1" case_sensitive="yes">
      <token>zur</token>
      <token>folge</token>
    </pattern>
    <message>Meinten Sie <suggestion>Folge</suggestion>?</message>
    <example type="correct">Das hatte ein Anhalten des Zuges zur <marker>Folge</marker>.</example>
    <example type="incorrect">Das hatte ein Anhalten des Zuges zur <marker>folge</marker>.</example>
  </rule>

  </category>

  <category name="Grammatik">

    <rule id="AN_HERR" name="Grammatik: 'an/für Herr(Herrn)'">
      <pattern mark_from="1" mark_to="-1" case_sensitive="yes">
        <token regexp="yes">[Aa]n|[Zz]u|[Ff]ür|[Dd]es</token>
        <token>Herr</token>
        <token regexp="yes">[A-Z].*</token> <!--  don't match: "die Rechte an Herr der Ringe" -->
      </pattern>
      <message>Meinten Sie <suggestion>Herrn</suggestion>?</message>
      <example type="correct">Mein Brief an <marker>Herrn</marker> Schmidt.</example>
      <example type="correct">Er ging zu <marker>Herrn</marker> Schmidt.</example>
      <example type="incorrect">Mein Brief an <marker>Herr</marker> Schmidt.</example>
      <example type="incorrect">Er ging zu <marker>Herr</marker> Schmidt.</example>
    </rule>

  </category>

</rules>
<commit_msg>new rule Beim/Bein<commit_after><?xml version="1.0" encoding="utf-8"?>
<!--
Rules: German grammar errors and typos
See tagset.txt for the meaning of the POS tags
Copyright (C) 2001-2006 <NAME> (http://www.danielnaber.de)
$Id: grammar.xml,v 1.65 2006-12-09 21:40:00 dnaber Exp $
-->
<rules lang="de">

  <category name="Mögliche Tippfehler">

  <rulegroup id="BEIN_NAECHSTEN" name="Möglicher Tippfehler: Bein(Beim) nächsten/...'">
    <rule>
      <!-- case_sensitive: "bein" (lowercase) is a typo anyway -->
      <pattern case_sensitive="yes" mark_to="-1">
        <token>Bein</token>
        <token regexp="yes">nächsten|ersten|vorgigen|letzten|endgültigen|Endstand</token>
      </pattern>
      <message>Meinten Sie <suggestion>Beim</suggestion>?</message>
      <example type="correct"><marker>Beim</marker> nächsten Update wird das gemacht.</example>
      <example type="incorrect"><marker>Bein</marker> nächsten Update wird das gemacht.</example>
    </rule>
    <rule>
      <pattern case_sensitive="yes" mark_to="-1">
        <token>Bein</token>
        <token postag_regexp="yes" postag="(PA1|PA2):.*"/>
      </pattern>
      <message>Meinten Sie <suggestion>Beim</suggestion>?</message>
      <example type="correct"><marker>Beim</marker> überraschenden Sieg.</example>
      <example type="correct"><marker>Beim</marker> eingeplanten Sieg.</example>
      <example type="incorrect"><marker>Bein</marker> überraschenden Sieg.</example>
      <example type="incorrect"><marker>Bein</marker> eingeplanten Sieg.</example>
    </rule>
  </rulegroup>

  <rule id="LEERZEICHEN_UND" name="Möglicher Tippfehler: vergessenes Leerzeichen'">
    <pattern>
      <token regexp="yes">(.*)-(und|oder|bzw)</token>
    </pattern>
    <!-- TODO: we need a way to refer to regex parts for a better message -->
    <message>Möglicherweise fehlt ein Leerzeichen nach dem Bindestrich.</message>
    <example type="correct">Das ist <marker>Haus- bzw</marker>. Grundbesitz.</example>
    <example type="incorrect">Das ist <marker>Haus-bzw</marker>. Grundbesitz.</example>
    <example type="correct">Das ist <marker>Haus- und</marker> Grundbesitz.</example>
    <example type="incorrect">Das ist <marker>Haus-und</marker> Grundbesitz.</example>
  </rule>

  <rulegroup id="HAUTE_COUTURE" name="Möglicher Tippfehler 'Haut(Haute) Couture'">
    <rule>
      <pattern mark_to="-1">
        <token>haut</token>
        <token regexp="yes">couture|coiffure|volée</token>
      </pattern>
      <message>Meinten Sie <suggestion>Haute</suggestion> (franz. "hoch, bedeutend")?</message>
      <example type="correct">Vom Schneider bis zur <marker>Haute</marker> Couture.</example>
      <example type="incorrect">Vom Schneider bis zur <marker>Haut</marker> Couture.</example>
      <example type="incorrect">Vom Schneider bis zur <marker>haut</marker> couture.</example>
    </rule>
  </rulegroup>
  
  <rulegroup id="WAR_WERDEN" name="Möglicher Tippfehler 'war(wahr) werden'">
    <rule>
      <pattern mark_to="-1">
        <token>war</token>
        <token regexp="yes">werden|wird</token>
      </pattern>
      <message>Meinten Sie <suggestion>wahr</suggestion> (=wahrhaftig, authentisch) statt 'war' (Vergangenheit von 'sein')?</message>
      <example type="correct">Das kann schnell <marker>wahr</marker> werden.</example>
      <example type="correct">Ich glaube, dass es schnell <marker>wahr</marker> wird.</example>
      <example type="incorrect">Das kann schnell <marker>war</marker> werden.</example>
      <example type="incorrect">Ich glaube, dass es schnell <marker>war</marker> wird.</example>
    </rule>
    <rule>
      <pattern mark_from="1">
        <token regexp="yes">wird|wurde|wurden|würde</token>
        <token>war</token>
      </pattern>
      <message>Meinten Sie <suggestion>wahr</suggestion> (=wahrhaftig, authentisch) statt 'war' (Vergangenheit von 'sein')?</message>
      <example type="correct">Seine Träume wurden <marker>wahr</marker>.</example>
      <example type="incorrect">Seine Träume wurden <marker>war</marker>.</example>
    </rule>
  </rulegroup>

  <rulegroup id="DU_WUENSCHT" name="Möglicher Tippfehler 'du wünscht(wünschst)'">
    <rule>
      <!-- TODO: mehr Fälle finden mit "grep "schen/BDIOXYcd" de_DE_neu.dic|less" -->
      <pattern mark_from="1">
        <token>du</token>
        <token>w<PASSWORD></token>
      </pattern>
      <message>Meinten Sie <suggestion>wünschst</suggestion> (ich wünsche, du wünschst, er wünscht, ...)?</message>
      <example type="correct">Du <marker>wünschst</marker> dir so viel.</example>
      <example type="incorrect">Du <marker>wünscht</marker> dir so viel.</example>
    </rule>
    <rule>
      <pattern mark_to="-1">
        <token>w<PASSWORD></token>
        <token>du</token>
      </pattern>
      <message>Meinten Sie <suggestion>wünschst</suggestion> (ich wünsche, du wünschst, er wünscht, ...)?</message>
      <example type="correct"><marker>Wünschst</marker> du dir mehr Zeit?</example>
      <example type="incorrect"><marker>Wünscht</marker> du dir mehr Zeit?</example>
    </rule>
  </rulegroup>

  <rule id="ZU_ZUMUTEN" name="Möglicher Tippfehler 'zu zu... (zuzu...)'">
    <!-- TODO: gilt das für alle Verben mit "zu.*"? -->
    <pattern>
      <token>zu</token>
      <token regexp="yes">zumuten|zugeben|zulassen|zubinden|zubereiten|zugestehen|zumachen</token>
    </pattern>
    <message>Meinten Sie <suggestion>\1\2</suggestion>?</message>
    <example type="correct">Das ist ihm wohl nicht <marker>zuzumuten</marker>.</example>
    <example type="incorrect">Das ist ihm wohl nicht <marker>zu zumuten</marker>.</example>
  </rule>

  <rule id="HIN_UNS_WIEDER" name="Möglicher Tippfehler 'hin uns(und) wieder'">
    <pattern mark_from="1" mark_to="-1">
      <token>hin</token>
      <token>uns</token>
      <token>wieder</token>
    </pattern>
    <message>Meinten Sie <suggestion>und</suggestion>?</message>
    <example type="correct">Hin <marker>und</marker> wieder kann man das machen.</example>
    <example type="incorrect">Hin <marker>uns</marker> wieder kann man das machen.</example>
  </rule>

  <rule id="SONDER_NUR" name="Möglicher Tippfehler 'sonder(sondern)'">
    <!-- "sonder" wird vom Spellchecker akzeptiert, ist aber fast nie richtig -->
    <pattern>
      <token>sonder</token>
    </pattern>
    <message>Meinten Sie <suggestion>sondern</suggestion>?</message>
    <example type="correct">Es gibt keine neuen Features, <marker>sondern</marker> nur Fehlerkorrekturen.</example>
    <example type="incorrect">Es gibt keine neuen Features, <marker>sonder</marker> nur Fehlerkorrekturen.</example>
  </rule>

  <rule id="SEID_BESTEHEN" name="Möglicher Tippfehler 'seid(seit) Bestehen'">
    <!-- TODO: generalize -->
    <pattern mark_to="-1">
      <token>seid</token>
      <token>Bestehen</token>
    </pattern>
    <message>Meinten Sie <suggestion>seit</suggestion>?</message>
    <example type="correct">Noch nie so viele Auswanderer <marker>seit</marker> Bestehen der BRD</example>
    <example type="incorrect">Noch nie so viele Auswanderer <marker>seid</marker> Bestehen der BRD</example>
  </rule>
  
  <rule id="IN_DIE_ANALEN" name="Möglicher Tippfehler 'in die Analen(Annalen)'">
    <pattern mark_from="2">
      <token>in</token>
      <token>die</token>
      <token>Analen</token>
    </pattern>
    <message>Meinten Sie <suggestion>Annalen</suggestion>?</message>
    <example type="correct">Wir können in die <marker>Annalen</marker> des Klubs eingehen</example>
    <example type="incorrect">Wir können in die <marker>Analen</marker> des Klubs eingehen</example>
  </rule>
  
  <rule id="ALLES_OLLES" name="Möglicher Tippfehler 'alles/olles'">
    <!-- "olles" is (very) colloquial, but anyway... -->
    <pattern mark_from="1">
      <token regexp="yes">ist|war|mir|dir</token>
      <token>olles</token>
    </pattern>
    <message>Meinten Sie <suggestion>alles</suggestion>?</message>
    <example type="correct">Das ist mir <marker>alles</marker> zu viel.</example>
    <example type="incorrect">Das ist mir <marker>olles</marker> zu viel.</example>
  </rule>

  <rulegroup id="SCHON_SCHOEN" name="Möglicher Tippfehler 'schon/schön'">
    <rule>
      <pattern mark_from="1">
        <token>ganz</token>
        <token>schon</token>
      </pattern>
      <message>Meinten Sie <suggestion>schön</suggestion>?</message>
      <example type="correct">Das ist ganz <marker>schön</marker> teuer.</example>
      <example type="incorrect">Das ist ganz <marker>schon</marker> teuer.</example>
    </rule>
    <rule>
      <pattern mark_to="-1">
        <token>schön</token>
        <token regexp="yes">sehr|recht</token>
      </pattern>
      <message>Meinten Sie <suggestion>schon</suggestion>?</message>
      <example type="correct">Das ist <marker>schon</marker> sehr teuer.</example>
      <example type="incorrect">Das ist <marker>schön</marker> sehr teuer.</example>
    </rule>
  </rulegroup>
  
  <rulegroup id="WIE_WIR" name="Möglicher Tippfehler 'wie/wir'">
    <rule>
      <pattern mark_from="2">
        <token>wie</token>
        <token regexp="yes">.+</token>
        <token>wie</token>
      </pattern>
      <message>Meinten Sie <suggestion>wir</suggestion>?</message>
      <example type="correct">Wie können <marker>wir</marker> vorgehen?</example>
      <example type="incorrect">Wie können <marker>wie</marker> vorgehen?</example>
    </rule>
    <rule>
      <pattern mark_from="1">
        <token regexp="yes">so|genauso|nach|sie|konnte|wollte|sollte|möchte</token>
        <token>wir</token>
      </pattern>
      <message>Meinten Sie <suggestion>wie</suggestion>?</message>
      <example type="correct">Das gilt nach <marker>wie</marker> vor.</example>
      <example type="incorrect">Das gilt nach <marker>wir</marker> vor.</example>
    </rule>
  </rulegroup>

  <!-- TODO: "NOUN wir" außer "welches/was für ein NOUN wir" -->
  <rule id="OHNE_GEWEHR" name="Möglicher Tippfehler 'ohne Gewehr(Gewähr)'">
    <pattern mark_from="1">
      <token>ohne</token>
      <token>Gewehr</token>
    </pattern>
    <message>Hinweis: Gewehr = Schusswaffe, <suggestion>Gewähr</suggestion> = Garantie/Gewährleistung/Sicherheit</message>
    <example type="correct">Alle Angaben ohne <marker>Gewähr</marker>.</example>
    <example type="incorrect">Alle Angaben ohne <marker>Gewehr</marker>.</example>
  </rule>

  <rule id="PER_NACHNAME" name="Möglicher Tippfehler 'per Nachname(Nachnahme)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token>per</token>
      <token>Nachname</token>
    </pattern>
    <message>Meinten Sie <suggestion>Nachnahme</suggestion> ('Nachnahme' = Versandart, 'Nachname' = Familienname)?</message>
    <example type="correct">Warum liefern Firmen lieber per <marker>Nachnahme</marker>?</example>
    <example type="incorrect">Warum liefern Firmen lieber per <marker>Nachname</marker>?</example>
  </rule>

  <rule id="MOEGLICHER_WEISE" name="Möglicher Tippfehler 'möglicher Weise(möglicherweise)'">
    <pattern>
      <token>möglicher</token>
      <token>Weise</token>
    </pattern>
    <message><suggestion>Möglicherweise</suggestion> wird zusammengeschrieben.</message>
    <example type="correct"><marker>Möglicherweise</marker> ist die Gelbphase zu kurz eingestellt.</example>
    <example type="incorrect"><marker>Möglicher Weise</marker> ist die Gelbphase zu kurz eingestellt.</example>
  </rule>

  <rule id="LASEN_LASSEN" name="Möglicher Tippfehler 'zu lasen(lassen)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token>zu</token>
      <token>lasen</token>
    </pattern>
    <message>Meinten Sie 'zu <suggestion>lassen</suggestion>'?</message>
    <example type="correct">...sie mit einem Maulkorb rumlaufen zu <marker>lassen</marker>.</example>
    <example type="incorrect">...sie mit einem Maulkorb rumlaufen zu <marker>lasen</marker>.</example>
  </rule>

  <rule id="OEKONOMISCH_OEKUMENISCH" name="Möglicher Tippfehler 'ökonomischer(ökumenischer) Gottesdienst/...'">
    <pattern mark_to="-1">
      <token regexp="yes">ökonomischen|ökonomischer</token>
      <token regexp="yes">.*[Gg]ottesdienst.*|Trauung|Taufe|Kirchentag|Kirchentags|Kirchentages|Abendmahl|Abendmahls</token>
    </pattern>
    <message>Meinten Sie <suggestion>ökumenisch</suggestion> (ökonomisch = auf die Wirtschaft bezogen)?</message>
    <example type="correct">Was ist ein <marker>ökumenischer</marker> Gottesdienst?</example>
    <example type="incorrect">Was ist ein <marker>ökonomischer</marker> Gottesdienst?</example>
    <example type="incorrect">Was ist das Merkmal eines <marker>ökonomischen</marker> Gedenkgottesdienstes?</example>
    <example type="incorrect">Was ist das Merkmal eines <marker>ökonomischen</marker> Gottesdienstes?</example>
    <example type="incorrect">Was ist das Merkmal von <marker>ökonomischen</marker> Gottesdiensten?</example>
  </rule>

  <rule id="ETHISCH_ETHNISCH" name="Möglicher Tippfehler 'ethische(ethnische) Minderheiten/...'">
    <pattern mark_to="-1">
      <token regexp="yes">[Ee]thische|[Ee]thischer|[Ee]thischen</token>
      <token regexp="yes">Minderheit|Minderheiten|Säuberung|Säuberungen|Herkunft|Konflikt|Konflikte</token>
    </pattern>
    <message>Meinten Sie <suggestion>ethnisch</suggestion> (ethisch = Ethik/Moral betreffend, ethnisch = zu einer bestimmten Ethnie/Volksgruppe gehörend)?</message>
    <example type="correct">Bücher über <marker>ethnische</marker> Minderheiten und Vertriebene</example>
    <example type="incorrect">Bücher über <marker>ethische</marker> Minderheiten und Vertriebene</example>
  </rule>

  <rule id="DENN_DEN" name="Möglicher Tippfehler 'aber denn(dann)'">
    <pattern mark_from="1">
      <token regexp="yes">[Aa]ber|[Dd]och|[Uu]nd</token>
      <token>denn</token>
    </pattern>
    <message>Meinten Sie <suggestion>den</suggestion> oder <suggestion>dann</suggestion>?</message>
    <example type="correct">Aber <marker>dann</marker> ging es los.</example>
    <example type="correct">Aber <marker>den</marker> haben Sie ja schon.</example>
    <example type="incorrect">Aber <marker>denn</marker> haben Sie ja schon.</example>
  </rule>

  <rule id="ZAUN_ZAUM" name="Möglicher Tippfehler 'im Zaun(Zaum) halten'">
    <pattern mark_from="1" mark_to="-1">
      <token>im</token>
      <token regexp="yes">Zaun</token>
      <token regexp="yes">halten|hielt|hält|haltet|hälst|gehalten</token>
    </pattern>
    <message>Meinten Sie <suggestion>Zaum</suggestion>?</message>
    <example type="correct">Da konnt ich meine Finger nicht mehr im <marker>Zaum</marker> halten.</example>
    <example type="incorrect">Da konnt ich meine Finger nicht mehr im <marker>Zaun</marker> halten.</example>
  </rule>

  <rule id="BESCHEIDE_BESCHEID" name="Möglicher Tippfehler 'Bescheide/Bescheid'">
    <pattern mark_to="-1">
      <token regexp="yes">Bescheide|Bescheids</token>
      <token regexp="yes">sagen|sagst|sagt|wissen|weißt|wisst|geben|gebt</token>
    </pattern>
    <message>Meinten Sie <suggestion>Bescheid</suggestion>?</message>
    <example type="correct">Da würde ich auch <marker>Bescheid</marker> sagen.</example>
    <example type="incorrect">Da würde ich auch <marker>Bescheide</marker> sagen.</example>
    <example type="incorrect">Da würde ich auch <marker>Bescheids</marker> geben.</example>
  </rule>

  <rule id="WIEDER_WILLEN" name="Möglicher Tippfehler 'wieder(wider) Willen/Erwarten'">
    <pattern mark_to="-1">
      <token>wieder</token>
      <token regexp="yes">Willen|Erwarten</token>
    </pattern>
    <message>Meinten Sie <suggestion>wider</suggestion> (wider = gegen, wieder = nochmals)?</message>
    <example type="correct">Wunschwitz wird zum Aufständler und Rebellen <marker>wider</marker> Willen.</example>
    <example type="incorrect">Wunschwitz wird zum Aufständler und Rebellen <marker>wieder</marker> Willen.</example>
  </rule>

  <rule id="ICH_VERALTE" name="Möglicher Tippfehler 'ich veralte(verwalte/verhalte)'">
    <pattern mark_from="1">
      <token>ich</token>
      <token>veralte</token>
    </pattern>
    <message>Meinten Sie <suggestion>verhalte</suggestion> oder <suggestion>verwalte</suggestion>?</message>
    <example type="correct">Ich <marker>verwalte</marker> auf diese Weise so 100 E-Mail-Adressen.</example>
    <example type="incorrect">Ich <marker>veralte</marker> auf diese Weise so 100 E-Mail-Adressen.</example>
  </rule>

  <rule id="VON_WIEDER_VON" name="Möglicher Tippfehler 'von(schon) wieder von'">
    <pattern mark_to="-2">
      <token>von</token>
      <token>wieder</token>
      <token>von</token>
    </pattern>
    <message>Meinten Sie <suggestion>schon</suggestion>?</message>
    <example type="correct">Das war's auch <marker>schon</marker> wieder von mir.</example>
    <example type="incorrect">Das war's auch <marker>von</marker> wieder von mir.</example>
  </rule>

  <rule id="BEREIT_BESTEHENDE" name="Möglicher Tippfehler 'bereit(bereits) bestehende'">
    <pattern mark_to="-1">
      <token>bereit</token>
      <token>bestehende</token>
    </pattern>
    <message>Meinten Sie <suggestion>bereits</suggestion>?</message>
    <example type="correct">Sie können dies als Service für Ihre <marker>bereits</marker> bestehende Seite benutzen.</example>
    <example type="incorrect">Sie können dies als Service für Ihre <marker>bereit</marker> bestehende Seite benutzen.</example>
  </rule>

  <rule id="MIT_OHNE" name="Möglicher Tippfehler 'mit ohne'">
    <pattern>
      <token>mit</token>
      <token>ohne</token>
    </pattern>
    <message>Meinten Sie <suggestion>ohne</suggestion>? 'Mit ohne' ist eine umgangssprachliche Wendung.</message>
    <example type="correct">Internet <marker>ohne</marker> Schnur</example>
    <example type="incorrect">Internet <marker>mit ohne</marker> Schnur</example>
  </rule>
  
  <rule id="TROTZ_ALLEDEM" name="'Möglicher Tippfehler 'trotz alle dem(alledem)'">
    <pattern mark_from="1">
      <token regexp="yes">bei|bei|trotz|nach|von|hinter</token>
      <token>alle</token>
      <token>dem</token>
    </pattern>
    <message>Meinten Sie <suggestion>alledem</suggestion>?</message>
    <example type="correct">Hinter <marker>alledem</marker> steht die Universität.</example>
    <example type="incorrect">Hinter <marker>alle dem</marker> steht die Universität.</example>
  </rule>

  <rule id="INS_BEZUG" name="'Möglicher Tippfehler 'ins(in) Bezug'">
    <pattern mark_to="-1">
      <token>ins</token>
      <token regexp="yes">Bezug|Relation</token>
    </pattern>
    <message>Meinten Sie <suggestion>in</suggestion>?</message>
    <example type="correct">Auffächerung der Altersgruppen <marker>in</marker> Bezug zu den Einwohnerzahlen.</example>
    <example type="incorrect">Auffächerung der Altersgruppen <marker>ins</marker> Bezug zu den Einwohnerzahlen.</example>
  </rule>

  <rule id="AUFS_TRAPEZ_BRINGEN" name="Möglicher Tippfehler 'aufs Trapez(Tapet) bringen'">
    <pattern mark_from="1" mark_to="-1">
      <token>aufs</token>
      <token>Trapez</token>
      <token inflected="yes">bringen</token>
    </pattern>
    <message>Meinten Sie <suggestion>Tapet</suggestion>?</message>
    <example type="correct">Dieses Thema habe ich auch aufs <marker>Tapet</marker> gebracht.</example>
    <example type="incorrect">Dieses Thema habe ich auch aufs <marker>Trapez</marker> gebracht.</example>
  </rule>

  <rule id="WAS_LANGE_WEHRT" name="Möglicher Tippfehler 'was lange wehrt(währt)'">
    <pattern mark_from="2">
      <token>was</token>
      <token>lange</token>
      <token>wehrt</token>
    </pattern>
    <message>Meinten Sie <suggestion>währt</suggestion>?</message>
    <example type="correct">Was lange <marker>währt</marker>...</example>
    <example type="incorrect">Was lange <marker>wehrt</marker>...</example>
  </rule>

  </category>
  
  <!--  Rules about upper/lowercase:  -->

  <category name="Groß-/Kleinschreibung">
  
  <!-- TODO: Gut und böse; gut und Böse -->
  <rule id="GUT_UND_BOESE" name="Groß-/Kleinschreibung: 'jenseits von gut(Gut) und böse(Böse)'">
    <pattern mark_from="2" case_sensitive="yes">
      <token regexp="yes">[Jj]enseits</token>
      <token>von</token>
      <token>gut</token>
      <token>und</token>
      <token>böse</token>
    </pattern>
    <message><suggestion>Gut und Böse</suggestion> in der Wendung 'jenseits von Gut und Böse' wird groß geschrieben.</message>
    <example type="correct">Das ist jenseits von <marker>Gut und Böse</marker>.</example>
    <example type="incorrect">Das ist jenseits von <marker>gut und böse</marker>.</example>
  </rule>

  <rule id="WENN_UND_ABER" name="Groß-/Kleinschreibung: 'ohne wenn(Wenn) und aber(Aber)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token regexp="yes">[Oo]hne</token>
      <token>wenn</token>
      <token>und</token>
      <token>aber</token>
    </pattern>
    <message><suggestion>Wenn und Aber</suggestion> in der Wendung 'ohne Wenn und Aber' wird groß geschrieben.</message>
    <example type="correct">Das gilt von <marker>Wenn und Aber</marker>.</example>
    <example type="incorrect">Das gilt ohne <marker>wenn und aber</marker>.</example>
  </rule>

  <rule id="DAS_ERSTE_MAL" name="Groß-/Kleinschreibung: 'das erste mal(Mal)'">
    <pattern mark_from="2" case_sensitive="yes">
      <token regexp="yes">[Bb]eim|[Zz]um|[Dd]as</token>
      <token regexp="yes">erste|ersten|letzte|letzte|letzten|vorige|vorigen</token>
      <token>mal</token>
    </pattern>
    <message><suggestion>Mal</suggestion> in der Wendung 'das erste/letzte Mal' wird groß geschrieben.</message>
    <example type="correct">...als du ihn das erste <marker>Mal</marker> gesehen hast?</example>
    <example type="incorrect">...als du ihn das erste <marker>mal</marker> gesehen hast?</example>
    <example type="incorrect">...als du ihn zum ersten <marker>mal</marker> gesehen hast?</example>
  </rule>

  <rule id="IN_ACHT_NEHMEN" name="Groß-/Kleinschreibung: 'in acht(Acht) nehmen'">
    <pattern mark_from="1" mark_to="-1" case_sensitive="yes">
      <token>in</token>
      <token>acht</token>
      <token regexp="yes">nehmen|nahm|genommen</token>
    </pattern>
    <message><suggestion>Acht</suggestion> in der Wendung '(sich) in Acht nehmen' wird groß geschrieben.</message>
    <example type="correct">Er sollte sich in <marker>Acht</marker> nehmen.</example>
    <example type="incorrect">Er sollte sich in <marker>acht</marker> nehmen.</example>
  </rule>

  <rule id="AUS_VERSEHEN" name="Groß-/Kleinschreibung: 'aus versehen(Versehen)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token>aus</token>
      <token>versehen</token>
    </pattern>
    <message>In der Wendung 'aus Versehen' wird <suggestion>Versehen</suggestion> groß geschrieben.</message>
    <example type="correct">Die SPD meuchelt aus <marker>Versehen</marker> ihren Chef.</example>
    <example type="incorrect">Die SPD meuchelt aus <marker>versehen</marker> ihren Chef.</example>
  </rule>

  <rule id="AUF_DEM_LAUFENDEN" name="Groß-/Kleinschreibung: 'auf dem laufenden(Laufenden)'">
    <pattern mark_from="2" case_sensitive="yes">
      <token>auf</token>
      <token>dem</token>
      <token>laufenden</token>
    </pattern>
    <message>In der Wendung 'auf dem Laufenden' wird <suggestion>Laufenden</suggestion> groß geschrieben.</message>
    <example type="correct">Bitte halte mich auf dem <marker>Laufenden</marker>.</example>
    <example type="incorrect">Bitte halte mich auf dem <marker>laufenden</marker>
      </example>
  </rule>

  <rule id="ETWAS_WICHTIGES" name="Groß-/Kleinschreibung: 'etwas/nichts wichtiges(Wichtiges)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token regexp="yes">etwas|nichts</token>
      <token>wichtiges</token>
    </pattern>
    <message><suggestion>Wichtiges</suggestion> als Nomen wird groß geschrieben.</message>
    <example type="correct">Beiträge die etwas <marker>Wichtiges</marker> über den Spielverlauf verraten bitte kennzeichnen.</example>
    <example type="incorrect">Beiträge die etwas <marker>wichtiges</marker> über den Spielverlauf verraten bitte kennzeichnen.</example>
  </rule>

  <rule id="ETWAS_GUTES" name="Groß-/Kleinschreibung: 'etwas/nichts gutes(Gutes)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token regexp="yes">etwas|nichts</token>
      <token>gutes</token>
    </pattern>
    <message><suggestion>Gutes</suggestion> als Nomen wird groß geschrieben.</message>
    <example type="correct">Dahinter verbirgt sich nichts <marker>Gutes</marker>.</example>
    <example type="incorrect">Dahinter verbirgt sich nichts <marker>gutes</marker>.</example>
  </rule>

  <rule id="ZU_BUCHE" name="Groß-/Kleinschreibung: 'zu buche(Buche) schlagen'">
    <pattern mark_from="1" case_sensitive="yes">
      <token>zu</token>
      <token>buche</token>
    </pattern>
    <message>In der Wendung "zu Buche schlagen" schreibt man <suggestion>Buche</suggestion> groß.</message>
    <example type="correct">Das schlägt nicht so sehr zu <marker>Buche</marker>.</example>
    <example type="incorrect">Das schlägt nicht so sehr zu <marker>buche</marker>.</example>
  </rule>

  <rulegroup id="FRAGEN_HABEN" name="Groß-/Kleinschreibung: 'fragen(Fragen) haben/stellen'">
    <rule>
      <pattern mark_to="-1" case_sensitive="yes">
        <token>fragen</token>
        <token inflected="yes" regexp="yes">haben|stellen</token>
      </pattern>
      <message><suggestion>Fragen</suggestion> als Nomen wird groß geschrieben.</message>
      <example type="correct">Meine <marker>Fragen</marker> hat bislang keiner gelesen.</example>
      <example type="correct">Dazu möchte ich gerne <marker>Fragen</marker> stellen.</example>
      <example type="correct">Dazu wurden <marker>Fragen</marker> gestellt.</example>
      <example type="incorrect">Meine <marker>fragen</marker> hat bislang keiner gelesen</example>
      <example type="incorrect">Dazu möchte ich gerne <marker>fragen</marker> stellen.</example>
      <example type="incorrect">Dazu wurden <marker>fragen</marker> gestellt.</example>
    </rule>
    <rule>
      <!-- TODO: "habe ein paar fragen"... -->
      <pattern mark_from="1" case_sensitive="yes">
        <token inflected="yes" regexp="yes">haben|stellen</token>
        <token>fragen</token>
      </pattern>
      <message><suggestion>Fragen</suggestion> als Nomen wird groß geschrieben.</message>
      <example type="correct">Ich habe <marker>Fragen</marker> dazu.</example>
      <example type="correct">Ich stellte <marker>Fragen</marker> dazu.</example>
      <example type="incorrect">Ich habe <marker>fragen</marker> dazu.</example>
      <example type="incorrect">Ich stellte <marker>fragen</marker> dazu.</example>
    </rule>
  </rulegroup>

  <rule id="SEIT_BESTEHEN" name="Groß-/Kleinschreibung: 'seit bestehen(Bestehen)'">
    <!-- TODO: seit seinem/ihrem/... Bestehen -->
    <pattern mark_from="1" case_sensitive="yes">
      <token>seit</token>
      <token>bestehen</token>
    </pattern>
    <message>Meinten Sie <suggestion>Bestehen</suggestion>?</message>
    <example type="correct">Noch nie so viele Auswanderer seit <marker>Bestehen</marker> der BRD</example>
    <example type="incorrect">Noch nie so viele Auswanderer seit <marker>bestehen</marker> der BRD</example>
  </rule>

  <rule id="ZUM_MITNEHMEN" name="Groß-/Kleinschreibung: 'zum mitnehmen(Mitnehmen)'">
    <pattern mark_from="1" case_sensitive="yes">
      <token>zum</token>
      <token>mitnehmen</token>
    </pattern>
    <message>Meinten Sie <suggestion>Mitnehmen</suggestion>?</message>
    <example type="correct">Alle Gerichte auch zum <marker>Mitnehmen</marker>.</example>
    <example type="incorrect">Alle Gerichte auch zum <marker>mitnehmen</marker>.</example>
  </rule>

  <rule id="AUF_DEM_GEWISSEN" name="Groß-/Kleinschreibung: 'auf dem gewissen(Gewissen)'">
    <pattern mark_from="2" case_sensitive="yes">
      <token>auf</token>
      <token>dem</token>
      <token>gewissen</token>
    </pattern>
    <message>Meinten Sie <suggestion>Gewissen</suggestion>?</message>
    <example type="correct">Er hat sie auf dem <marker>Gewissen</marker>.</example>
    <example type="incorrect">Er hat sie auf dem <marker>gewissen</marker>.</example>
  </rule>

  <rulegroup id="ODER_FLUSS" name="Groß-/Kleinschreibung: 'oder/Oder(der Fluß)'">
    <rule>
      <pattern case_sensitive="yes">
        <token>Frankfurt/oder</token>
      </pattern>
      <message>Meinten Sie <suggestion>Frankfurt/Oder</suggestion>?</message>
      <example type="correct">In <marker>Frankfurt/Oder</marker> steht ein Hofbräuhaus.</example>
      <example type="incorrect">In <marker>Frankfurt/oder</marker> steht ein Hofbräuhaus.</example>
    </rule>
    <rule>
      <pattern mark_from="2" mark_to="-1" case_sensitive="yes">
        <token>Frankfurt</token>
        <token>(</token>
        <token>oder</token>
        <token>)</token>
      </pattern>
      <message>Meinten Sie <suggestion>Oder</suggestion>?</message>
      <example type="correct">In Frankfurt (<marker>Oder</marker>) steht ein Hofbräuhaus.</example>
      <example type="incorrect">In Frankfurt (<marker>oder</marker>) steht ein Hofbräuhaus.</example>
    </rule>
    <rule>
      <pattern mark_from="2" case_sensitive="yes">
        <token regexp="yes">an|jenseits</token>
        <token>der</token>
        <token>oder</token>
      </pattern>
      <message>Meinten Sie <suggestion>Oder</suggestion>?</message>
      <example type="correct">Die Stadt liegt an der <marker>Oder</marker>.</example>
      <example type="incorrect">Die Stadt liegt an der <marker>oder</marker>.</example>
    </rule>
  </rulegroup>

  <rule id="AUSSER_BETRIEB" name="Groß-/Kleinschreibung: 'außer betrieb(Betrieb)'">
    <!-- TODO: could this be covered by excepting nouns after "außer"? -->
    <pattern mark_from="1" case_sensitive="yes">
      <token regexp="yes">außer|in</token>
      <token>betrieb</token>
    </pattern>
    <message>Meinten Sie <suggestion>Betrieb</suggestion>?</message>
    <example type="correct">Der Fahrstuhl ist außer <marker>Betrieb</marker>.</example>
    <example type="correct">Der Fahrstuhl ist nicht in <marker>Betrieb</marker>.</example>
    <example type="incorrect">Der Fahrstuhl ist außer <marker>betrieb</marker>.</example>
    <example type="incorrect">Der Fahrstuhl ist nicht in <marker>betrieb</marker>.</example>
  </rule>

  <rule id="ZUR_FOLGE" name="Groß-/Kleinschreibung: 'zur folge(Folge)'">
    <!-- TODO: could this be covered by excepting nouns after "zur"? -->
    <pattern mark_from="1" case_sensitive="yes">
      <token>zur</token>
      <token>folge</token>
    </pattern>
    <message>Meinten Sie <suggestion>Folge</suggestion>?</message>
    <example type="correct">Das hatte ein Anhalten des Zuges zur <marker>Folge</marker>.</example>
    <example type="incorrect">Das hatte ein Anhalten des Zuges zur <marker>folge</marker>.</example>
  </rule>

  </category>

  <category name="Grammatik">

    <rule id="AN_HERR" name="Grammatik: 'an/für Herr(Herrn)'">
      <pattern mark_from="1" mark_to="-1" case_sensitive="yes">
        <token regexp="yes">[Aa]n|[Zz]u|[Ff]ür|[Dd]es</token>
        <token>Herr</token>
        <token regexp="yes">[A-Z].*</token> <!--  don't match: "die Rechte an Herr der Ringe" -->
      </pattern>
      <message>Meinten Sie <suggestion>Herrn</suggestion>?</message>
      <example type="correct">Mein Brief an <marker>Herrn</marker> Schmidt.</example>
      <example type="correct">Er ging zu <marker>Herrn</marker> Schmidt.</example>
      <example type="incorrect">Mein Brief an <marker>Herr</marker> Schmidt.</example>
      <example type="incorrect">Er ging zu <marker>Herr</marker> Schmidt.</example>
    </rule>

  </category>

</rules>

{'fraction_non_alphanumeric': 0.16435449386724968, 'fraction_numerical': 0.002957866478049094, 'mean_word_length': 4.370165745856354, 'pattern_counts': {'":': 0, '<': 2537, '<?xml version=': 2, '>': 2537, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1070790', 'n_tokens_mistral': 22377, 'n_tokens_neox': 22089, 'n_words': 4221}