<s:assert test="parent::*[@xlink:type='extended'] or parent::*[@xlink:type='locator'] or parent::*[@xlink:type='arc']">An XLink title type element must occur as the direct child of an XLink extended, locator, or arc type element.</s:assert>
</s:rule>
</s:pattern>
+
+ <!-- Start Goik's additions -->
+ <s:pattern>
+ <s:title>Mandatory title in exercise</s:title>
+ <s:rule context="db:qandaset">
+ <s:assert test="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:rule context="db:qandaset">
+ <s:assert test="@defaultlabel">Attribute defaultlabel must be defined.</s:assert>
+ </s:rule>
+ </s:pattern>
+
+ <s:pattern>
+ <s:title>Mandatory @language</s:title>
+ <s:rule context="db:programlisting">
+ <s:assert test="@language">Attribute language must be defined.</s:assert>
+ </s:rule>
+ </s:pattern>
+
+ <s:pattern>
+ <s:title>Mandatory Id definition constraint</s:title>