Problem with a German XML rule

I’ve been working on the following rule using the online rule editor in expert mode:

<rule id="EINWEIHEN_EINWEISEN" name="'einweist' vs. 'einweihst'" default="temp_off">
    <pattern>
        <token>in</token>
        <token regexp="yes">die(ses?)?|das</token>
        <token min="0" postag="ADJ:AKK.+" postag_regexp="yes" />
        <token regexp="yes">Geheimnis(se)?</token>
        <token min="0" max="3" />
        <marker><token>einweist</token></marker>
    </pattern>
    <message>&verw;Meinten Sie <suggestion>einweihst</suggestion>, eine Form des Verbs 'einweihen' (ins Vertrauen ziehen)?</message>
    <example correction="einweihst">Wenn du mich in das große Geheimnis <marker>einweist</marker>, bin ich hinterher klüger!</example>
    <example correction="einweihst">Wenn du mich in das Geheimnis <marker>einweist</marker>, bin ich hinterher klüger!</example>
    <example correction="einweihst">Wenn du mich in dieses Geheimnis <marker>einweist</marker>, werde ich weiser.</example>
    <example correction="einweihst">Wenn du mich in diese Geheimnisse <marker>einweist</marker>, werde ich weiser.</example>
</rule>

All the examples in the code work, but apparently the line <token min="0" max="3" /> does not do what I think it does: The pattern does not match the sentence Wenn du mich in die Geheimnisse des Lebens einweist, werde ich klüger. as I expected it to. What I expected was that any number of words from zero to three can be there.

It’s probably a bug, but you can use skip="3" on the token that matches Geheimnis instead.

1 Like

That worked, thanks a bunch!