<schema xmlns="http://www.ascc.net/xml/schematron" >
  <title>Some sanity checks for the GNOME desktop help</title>
  <ns prefix="mal" uri="http://projectmallard.org/1.0/"/>
  <ns prefix="xi" uri="http://www.w3.org/2001/XInclude"/>
  <pattern name="Info element checks">
    <rule context="mal:page/mal:info">
      <assert test="not(mal:license)">Must not include license directly</assert>
      <assert test="xi:include[@href='legal.xml']">Must include legal.xml</assert>
    </rule>
  </pattern>
  <pattern name="Desc checks">
    <rule context="mal:page/mal:info">
      <assert test="normalize-space(mal:desc) != ''">Must have non-empty desc</assert>
    </rule>
    <rule context="mal:page/mal:info/mal:desc">
      <assert test="substring(normalize-space(.), string-length(normalize-space(.))) = '.'">Desc must end with a period</assert>
    </rule>
    <rule context="mal:page/mal:info/mal:desc/mal:link">
      <assert test="substring(normalize-space(..), string-length(normalize-space(..)) - 2) = '...'">Desc with links must end with an ellipsis</assert>
    </rule>
  </pattern>
</schema>
