<s:asserttest="not(.//db:calloutlist)">XsltNG as of July 2022 disallows calloutlist descendants of mediaobject, see https://github.com/docbook/xslTNG/issues/153</s:assert>
</s:rule>
</s:pattern>
<s:pattern>
<s:title>Mandatory title in exercise</s:title>
<s:rulecontext="db:qandaset">
<s:asserttest="db:title or name(preceding-sibling::*[1])='db:title'">Must be IMMEDIATELY following title or contain a title itself.</s:assert>
</s:rule>
</s:pattern>
<s:pattern>
<s:title>Mandatory defaultlabel</s:title>
<s:rulecontext="db:qandaset">
<s:asserttest="@defaultlabel">Attribute defaultlabel must be defined.</s:assert>
</s:rule>
</s:pattern>
<s:pattern>
<s:title>Mandatory @language</s:title>
<s:rulecontext="db:programlisting">
<s:asserttest="@language">Attribute language must be defined.</s:assert>
</s:rule>
</s:pattern>
<s:pattern>
<s:title>Mandatory Id definition constraint</s:title>