Predicates

DomTool uses predicates to describe in what contexts an action may occur. For instance, web-related actions should only occur inside the scope of a virtual host directive. Predicates are built up following the grammar in the table below, using the letter P as the non-terminal for predicates.

Meanings are given as statements that must hold about the context where an action is found. The context is represented as a stack of context IDs which have been declared with context declarations.

Syntax

Description

Meaning

Root

Root

The stack is empty.

CSymbol

Context ID

CSymbol is on the top of the stack.

^P

Suffixes

Some (not necessarily strict) suffix of the stack matches P.

!P

Not

The stack doesn't match P.

P1 & P2

And

The stack matches both P1 and P2.

(P)

Grouping

Identical to P