<p>5 Ich werde Dich mit Haut und Haar <pb/> und allem drum und dran fressen.</p>
(1) //*[text() contains text ("Haut" ftand "fressen") using stemming using language "de"] (2) //*[text() contains text ("Haut" ftand "fressen" ftand ftnot "Haar") using stemming using language "de"]
(1) should return all <p>-nodes, but does not return 5
This is actually correct, because the <p/> element has two text nodes, and the full-text expression is evaluated against them separately.
You'll get the expected results by replacing the text() step with a dot:
//*[ . contains text ("Haut" ftand "fressen") using stemming using language "de"]
It's important to add, however, that this query cannot be evaluated by the full-text index.
Christian