- Add namespace to the elements
- Remove backported DB 5.0 constraints since they can now directly be used
This commit is contained in:
parent
d7cb9f9844
commit
e8f31bdaa6
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/projects/db5/; revision=41992
1 changed files with 9 additions and 176 deletions
|
@ -2,31 +2,33 @@
|
|||
|
||||
<!-- $FreeBSD$ -->
|
||||
|
||||
<schema xmlns="http://purl.oclc.org/dsdl/schematron" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<schema xmlns="http://purl.oclc.org/dsdl/schematron"
|
||||
xmlns:db="http://docbook.org/ns/docbook"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<pattern name="Check file reference validity">
|
||||
<rule context="//imagedata|//graphic">
|
||||
<rule context="//db:imagedata|//db:graphic">
|
||||
<report test="contains(@fileref, '.')">Image reference (<xsl:value-of select="@fileref"/>) cannot have an extension; the proper format is inferred by the output type to generate.</report>
|
||||
<report test="@format">Image reference (<xsl:value-of select="@fileref"/>) format must not be specified; it is inferred by the output type to generate.</report>
|
||||
</rule>
|
||||
</pattern>
|
||||
|
||||
<pattern name="Check filenames">
|
||||
<rule context="//filename">
|
||||
<rule context="//db:filename">
|
||||
<report test="@role = 'directory'">Filename (<xsl:value-of select="."/>) has role="directory"; use class="directory"</report>
|
||||
</rule>
|
||||
</pattern>
|
||||
|
||||
<pattern name="Check cross-reference validity">
|
||||
<rule context="//link">
|
||||
<rule context="//db:link">
|
||||
<assert test="* or normalize-space()">Link (<xsl:value-of select="@linkend"/>) element must have a content; or use xref to auto-generate the linking text.</assert>
|
||||
</rule>
|
||||
</pattern>
|
||||
|
||||
<pattern name="Check callout validity">
|
||||
<rule context="/">
|
||||
<report test="//screenco">Callouts with screenco are not supported; use screen and co instead.</report>
|
||||
<report test="//programlistingco">Callouts with programlistingco are not supported; use programlisting and co instead.</report>
|
||||
<report test="//graphicco">Callouts on graphics are not supported.</report>
|
||||
<report test="//db:screenco">Callouts with screenco are not supported; use screen and co instead.</report>
|
||||
<report test="//db:programlistingco">Callouts with programlistingco are not supported; use programlisting and co instead.</report>
|
||||
<report test="//db:graphicco">Callouts on graphics are not supported.</report>
|
||||
</rule>
|
||||
</pattern>
|
||||
|
||||
|
@ -38,173 +40,4 @@
|
|||
<assert test="(. = 'freebsd8') or (. = 'freebsd9') or (. = 'freebsd10')">Invalid os value (<xsl:value-of select="."/>); must be either 'freebsd8', 'freebsd9' or 'freebsd10'.</assert>
|
||||
</rule>
|
||||
</pattern>
|
||||
|
||||
<!--
|
||||
Backported constraints from DocBook 5.0
|
||||
-->
|
||||
|
||||
<pattern name="Glossary 'firstterm' type constraint">
|
||||
<rule context="firstterm[@linkend]">
|
||||
<assert test="name(//*[@id=current()/@linkend]) = 'glossentry'">@linkend on firstterm must point to a glossentry.</assert>
|
||||
</rule>
|
||||
</pattern>
|
||||
|
||||
<pattern name="Footnote reference type constraint">
|
||||
<rule context="footnoteref">
|
||||
<assert test="name(//*[@id=current()/@linkend]) = 'footnote'">@linkend on footnoteref must point to a footnote.</assert>
|
||||
</rule>
|
||||
</pattern>
|
||||
|
||||
<pattern name="Glossary 'glossterm' type constraint">
|
||||
<rule context="glossterm[@linkend]">
|
||||
<assert test="name(//*[@id=current()/@linkend]) = 'glossentry'">@linkend on glossterm must point to a glossentry.</assert>
|
||||
</rule>
|
||||
</pattern>
|
||||
|
||||
<pattern name="Synopsis fragment type constraint">
|
||||
<rule context="synopfragmentref">
|
||||
<assert test="name(//*[@id=current()/@linkend]) = 'synopfragment'">@linkend on synopfragmentref must point to a synopfragment.</assert>
|
||||
</rule>
|
||||
</pattern>
|
||||
|
||||
<pattern name="Glosssary 'see' type constraint">
|
||||
<rule context="glosssee[@otherterm]">
|
||||
<assert test="name(//*[@id=current()/@otherterm]) = 'glossentry'">@otherterm on glosssee must point to a glossentry.</assert>
|
||||
</rule>
|
||||
</pattern>
|
||||
|
||||
<pattern name="Glossary 'seealso' type constraint">
|
||||
<rule context="glossseealso[@otherterm]">
|
||||
<assert test="name(//*[@id=current()/@otherterm]) = 'glossentry'">@otherterm on glossseealso must point to a glossentry.</assert>
|
||||
</rule>
|
||||
</pattern>
|
||||
|
||||
<pattern name="Glossary term definition constraint">
|
||||
<rule context="termdef">
|
||||
<assert test="count(firstterm) = 1">A termdef must contain exactly one firstterm</assert>
|
||||
</rule>
|
||||
</pattern>
|
||||
|
||||
<pattern name="Cardinality of segments and titles">
|
||||
<rule context="seglistitem">
|
||||
<assert test="count(seg) = count(../segtitle)">The number of seg elements must be the same as the number of segtitle elements in the parent segmentedlist</assert>
|
||||
</rule>
|
||||
</pattern>
|
||||
|
||||
<pattern name="Element exclusion">
|
||||
<rule context="annotation">
|
||||
<assert test="not(.//annotation)">annotation must not occur in the descendants of annotation</assert>
|
||||
</rule>
|
||||
<rule context="caution">
|
||||
<assert test="not(.//caution)">caution must not occur in the descendants of caution</assert>
|
||||
<assert test="not(.//important)">important must not occur in the descendants of caution</assert>
|
||||
<assert test="not(.//note)">note must not occur in the descendants of caution</assert>
|
||||
<assert test="not(.//tip)">tip must not occur in the descendants of caution</assert>
|
||||
<assert test="not(.//warning)">warning must not occur in the descendants of caution</assert>
|
||||
</rule>
|
||||
<rule context="important">
|
||||
<assert test="not(.//caution)">caution must not occur in the descendants of important</assert>
|
||||
<assert test="not(.//important)">important must not occur in the descendants of important</assert>
|
||||
<assert test="not(.//note)">note must not occur in the descendants of important</assert>
|
||||
<assert test="not(.//tip)">tip must not occur in the descendants of important</assert>
|
||||
<assert test="not(.//warning)">warning must not occur in the descendants of important</assert>
|
||||
</rule>
|
||||
<rule context="note">
|
||||
<assert test="not(.//caution)">caution must not occur in the descendants of note</assert>
|
||||
<assert test="not(.//important)">important must not occur in the descendants of note</assert>
|
||||
<assert test="not(.//note)">note must not occur in the descendants of note</assert>
|
||||
<assert test="not(.//tip)">tip must not occur in the descendants of note</assert>
|
||||
<assert test="not(.//warning)">warning must not occur in the descendants of note</assert>
|
||||
</rule>
|
||||
<rule context="tip">
|
||||
<assert test="not(.//caution)">caution must not occur in the descendants of tip</assert>
|
||||
<assert test="not(.//important)">important must not occur in the descendants of tip</assert>
|
||||
<assert test="not(.//note)">note must not occur in the descendants of tip</assert>
|
||||
<assert test="not(.//tip)">tip must not occur in the descendants of tip</assert>
|
||||
<assert test="not(.//warning)">warning must not occur in the descendants of tip</assert>
|
||||
</rule>
|
||||
<rule context="warning">
|
||||
<assert test="not(.//caution)">caution must not occur in the descendants of warning</assert>
|
||||
<assert test="not(.//important)">important must not occur in the descendants of warning</assert>
|
||||
<assert test="not(.//note)">note must not occur in the descendants of warning</assert>
|
||||
<assert test="not(.//tip)">tip must not occur in the descendants of warning</assert>
|
||||
<assert test="not(.//warning)">warning must not occur in the descendants of warning</assert>
|
||||
</rule>
|
||||
<rule context="caption">
|
||||
<assert test="not(.//caution)">caution must not occur in the descendants of caption</assert>
|
||||
<assert test="not(.//equation)">equation must not occur in the descendants of caption</assert>
|
||||
<assert test="not(.//example)">example must not occur in the descendants of caption</assert>
|
||||
<assert test="not(.//figure)">figure must not occur in the descendants of caption</assert>
|
||||
<assert test="not(.//important)">important must not occur in the descendants of caption</assert>
|
||||
<assert test="not(.//note)">note must not occur in the descendants of caption</assert>
|
||||
<assert test="not(.//sidebar)">sidebar must not occur in the descendants of caption</assert>
|
||||
<assert test="not(.//table)">table must not occur in the descendants of caption</assert>
|
||||
<assert test="not(.//task)">task must not occur in the descendants of caption</assert>
|
||||
<assert test="not(.//tip)">tip must not occur in the descendants of caption</assert>
|
||||
<assert test="not(.//warning)">warning must not occur in the descendants of caption</assert>
|
||||
</rule>
|
||||
<rule context="equation">
|
||||
<assert test="not(.//caution)">caution must not occur in the descendants of equation</assert>
|
||||
<assert test="not(.//equation)">equation must not occur in the descendants of equation</assert>
|
||||
<assert test="not(.//example)">example must not occur in the descendants of equation</assert>
|
||||
<assert test="not(.//figure)">figure must not occur in the descendants of equation</assert>
|
||||
<assert test="not(.//important)">important must not occur in the descendants of equation</assert>
|
||||
<assert test="not(.//note)">note must not occur in the descendants of equation</assert>
|
||||
<assert test="not(.//table)">table must not occur in the descendants of equation</assert>
|
||||
<assert test="not(.//tip)">tip must not occur in the descendants of equation</assert>
|
||||
<assert test="not(.//warning)">warning must not occur in the descendants of equation</assert>
|
||||
</rule>
|
||||
<rule context="example">
|
||||
<assert test="not(.//caution)">caution must not occur in the descendants of example</assert>
|
||||
<assert test="not(.//equation)">equation must not occur in the descendants of example</assert>
|
||||
<assert test="not(.//example)">example must not occur in the descendants of example</assert>
|
||||
<assert test="not(.//figure)">figure must not occur in the descendants of example</assert>
|
||||
<assert test="not(.//important)">important must not occur in the descendants of example</assert>
|
||||
<assert test="not(.//note)">note must not occur in the descendants of example</assert>
|
||||
<assert test="not(.//table)">table must not occur in the descendants of example</assert>
|
||||
<assert test="not(.//tip)">tip must not occur in the descendants of example</assert>
|
||||
<assert test="not(.//warning)">warning must not occur in the descendants of example</assert>
|
||||
</rule>
|
||||
<rule context="figure">
|
||||
<assert test="not(.//caution)">caution must not occur in the descendants of figure</assert>
|
||||
<assert test="not(.//equation)">equation must not occur in the descendants of figure</assert>
|
||||
<assert test="not(.//example)">example must not occur in the descendants of figure</assert>
|
||||
<assert test="not(.//figure)">figure must not occur in the descendants of figure</assert>
|
||||
<assert test="not(.//important)">important must not occur in the descendants of figure</assert>
|
||||
<assert test="not(.//note)">note must not occur in the descendants of figure</assert>
|
||||
<assert test="not(.//table)">table must not occur in the descendants of figure</assert>
|
||||
<assert test="not(.//tip)">tip must not occur in the descendants of figure</assert>
|
||||
<assert test="not(.//warning)">warning must not occur in the descendants of figure</assert>
|
||||
</rule>
|
||||
<rule context="table">
|
||||
<assert test="not(.//caution)">caution must not occur in the descendants of table</assert>
|
||||
<assert test="not(.//equation)">equation must not occur in the descendants of table</assert>
|
||||
<assert test="not(.//example)">example must not occur in the descendants of table</assert>
|
||||
<assert test="not(.//figure)">figure must not occur in the descendants of table</assert>
|
||||
<assert test="not(.//important)">important must not occur in the descendants of table</assert>
|
||||
<assert test="not(.//informaltable)">informaltable must not occur in the descendants of table</assert>
|
||||
<assert test="not(.//note)">note must not occur in the descendants of table</assert>
|
||||
<assert test="not(.//tip)">tip must not occur in the descendants of table</assert>
|
||||
<assert test="not(.//warning)">warning must not occur in the descendants of table</assert>
|
||||
</rule>
|
||||
<rule context="footnote">
|
||||
<assert test="not(.//caution)">caution must not occur in the descendants of footnote</assert>
|
||||
<assert test="not(.//epigraph)">epigraph must not occur in the descendants of footnote</assert>
|
||||
<assert test="not(.//equation)">equation must not occur in the descendants of footnote</assert>
|
||||
<assert test="not(.//example)">example must not occur in the descendants of footnote</assert>
|
||||
<assert test="not(.//figure)">figure must not occur in the descendants of footnote</assert>
|
||||
<assert test="not(.//footnote)">footnote must not occur in the descendants of footnote</assert>
|
||||
<assert test="not(.//important)">important must not occur in the descendants of footnote</assert>
|
||||
<assert test="not(.//indexterm)">indexterm must not occur in the descendants of footnote</assert>
|
||||
<assert test="not(.//note)">note must not occur in the descendants of footnote</assert>
|
||||
<assert test="not(.//sidebar)">sidebar must not occur in the descendants of footnote</assert>
|
||||
<assert test="not(.//table)">table must not occur in the descendants of footnote</assert>
|
||||
<assert test="not(.//task)">task must not occur in the descendants of footnote</assert>
|
||||
<assert test="not(.//tip)">tip must not occur in the descendants of footnote</assert>
|
||||
<assert test="not(.//warning)">warning must not occur in the descendants of footnote</assert>
|
||||
</rule>
|
||||
<rule context="sidebar">
|
||||
<assert test="not(.//sidebar)">sidebar must not occur in the descendants of sidebar</assert>
|
||||
</rule>
|
||||
</pattern>
|
||||
</schema>
|
||||
|
|
Loading…
Reference in a new issue