open element is

operator

Return type:
Switch
Returns:
Returns true if the element or one of its ancestors is the specified element, and false otherwise. Replacing is with isnt reverses the result.
Syntax
open element (of element-expression)? (is | isnt) namespace-modifier? (element-name | element-name-list)
    


Purpose

open element is tests whether the element stack of the currently-active parse contains an instance of the element element-name, or one of the elements listed in element-name-list. element-name-list is a parenthesized list of elements, separated by |. Replacing is with isnt will reverse these results.

If element-expression is not specified, the test searches the element stack starting with the current element. If element-expression is specified, the search begins with the element specified by element-expression.

You can specify the name dynamically by using the identity operator (~) followed by a string expression: for example,

  define string function
     f ()
  elsewhere
  
  
  element #implied when open element is ~f ()
     suppress