A rule set has the following basic structure:
<ruleset> <accepts> <rule ...> ... </rule> ... </accepts> <rejects> <rule ...> ... </rule> ... </rejects> <includes> <ruleset src=...> ... </ruleset> ... </includes> <sortby> <sortbyvalue ...> ... </sortby> </ruleset>
The only SGML tags allowed in a rule set are the following:
<ruleset></ruleset>
<accepts></accepts>
<rejects></rejects>
<includes></includes>
<rule></rule>
<valueof>
<sortby></sortby>
<sortbyvalue>
No other SGML constructs are allowed, except for comments. Comments may occur anywhere, except within tags themselves.
A rule set contains one <ruleset>
tag. The <ruleset>
tag must have at least one and at most four child tags: one of <accepts>
, <rejects>
, or <includes>
tags must be present. The <sortby>
tag is optional. Multiple <accepts>
, <rejects>
, <includes>
, and <sortby>
tags are not allowed.
The <accepts>
and <rejects>
tags must contain one or more <rule>
tags. A <rule>
tag must include an op (operation) attribute and one or more <valueof>
tags. You can create complex rules by nesting multiple rule
tags within a <rule>
tag.
You can also create complex rules by incorporating other rule sets with the <includes>
tag. An <includes>
tag contains references to other rule sets to be included in the rule set. It must have at least one child; each child must be a <ruleset>
tag with a src
attribute. See Including Rule Sets, Rules, and Sorting Directives for details. The <ruleset>
tag may also contain a <sortby>
tag, which in turn may contain one or more <sortbyvalue>
tags to establish sorting directives.