Concepts

@definitionlist-present

  • no parameters

  • see also: @has-definition

Returns true if at least one definition-list is present in the document. This function, together with @has-definition, allows you check whether some defined term has a definition attached to it.

Note that this function will also return true when the only definition list that is currently present, happens to be a non-exhaustive definition list in which only certain terms are currently visible.

@has-autonomous-definition

  • first parameter: a #concept

  • returns: true or false

Like @has-definition, but only returns true if the defined term has an “autonomous” definition assigned to it, i.e. a real definition that will separately show up in the definition list, as opposed to some regular clause that simulatenously acts as a definition.

Tip: you can easily invert the behaviour of this special function: not(@has-autonomous-definition(#employee)) will return true if no autonomous definition is assigned to concept employee.

@has-definition

  • first parameter: a #concept

  • returns: true or false

Returns true if the specified concept currently has any kind of definition assigned to in the document/binder (i.e., either an integrated definition or an autonomous definition).

For example, @has-definition(#employee) will return true if some definition has been assigned to concept “employee” through the terms-pane of Assemble Document. Note that this function will also return true when a definition has been assigned, but no definition-list is currently present in the document/binder — if this possibility exists, then you should also check for @definitionlist-present.

Tip: you can easily invert the behaviour of this special function: not(@has-definition(#employee)) will return true if no definition is assigned to concept employee.

@has-integrated-definition

  • first parameter: a #concept

  • returns: true or false

Like @has-definition, but returns true if the defined term has an integrated definition assigned to it, i.e. a regular clause that contains, and simulatenously acts as, a definition — as opposed to a real definition that will separately show up in the definition list.

Tip: you can easily invert the behaviour of this special function: not(@has-integrated-definition(#employee)) will return true if no integrated definition is assigned to concept employee.

@implemented

  • parameter: #concept or §cross-tag

  • returns true or false

Returns true if the specified #concept or §cross-tag is implemented in the document, i.e. if some clause is present that textually represents this concept or cross-tag. (This will technically be the case when some clause contains an “implements” link towards the concept, respectively contains that cross-tag.)

Tip: you can easily invert the behaviour of this special function: not(@implemented(#concept)) will return true if clause is currently implementing that concept.

@implemented-all

  • parameters: one or more #concepts or §cross-tags

  • returns true or false

Returns true if all of the #concepts or §cross-tags mentioned as parameters have been implemented. Returns false if @implemented is false for any of those.

Tip: you can easily invert the behaviour of this special function: not(@implemented-all(#employee, #contract, #started)) will return true if any of those three concepts is not implemented by a clause.

@implemented-any

  • parameters: one or more #concepts or §cross-tags

  • returns true or false

Returns true if any of the concepts of §cross-tags mentioned as parameters have been implemented. Returns false if @implemented is false for all of those.

Tip: you can easily invert the behaviour of this special function: not(@implemented-any(#employee, #contract, #started)) will return true if none of those three concepts is implemented by a clause.

@ref-if

  • parameter: #concept

  • returns a reference, or nothing

Returns a reference if the concept is implemented, otherwise results in nothing. Calling @ref-if(#concept) is largely similar to calling {@implemented(#concept): §#concept}, but will not result in an error message if the concept would happen to not be implemented.

Last updated