<s:report test="(ancestor::tei:p or ancestor::tei:ab) and not(parent::tei:exemplum
|parent::tei:item |parent::tei:note
|parent::tei:q |parent::tei:quote
|parent::tei:remarks |parent::tei:said
|parent::tei:sp |parent::tei:stage
|parent::tei:cell |parent::tei:figure)"> Abstract model violation: Paragraphs may not contain other paragraphs or ab elements. </s:report>
Schematron
<s:report test="ancestor::tei:l[not(.//tei:note//tei:p[. = current()])]"> Abstract model violation: Lines may not contain higher-level structural elements such as div, p, or ab. </s:report>