<sch:schema xmlns:sch="http://www.ascc.net/xml/schematron" >
     <sch:title>Abstract rules</sch:title>
     <sch:pattern name="Check items" see="http://zvon.org/friendsRule.html">
          <sch:rule context="email">
               <sch:extends rule="phone"/>
               <sch:extends rule="email"/>
          </sch:rule>
          <sch:rule abstract="yes" id="phone">
               <sch:assert test="../phone">There is no phone.</sch:assert>
          </sch:rule>
          <sch:rule abstract="yes" id="email">
               <sch:assert test="contains(.,'@')"> @ is missing</sch:assert>
               <sch:report test="contains(normalize-space(.),' ')">Whitespace inside address</sch:report>
          </sch:rule>
     </sch:pattern>
</sch:schema>