swirl Guide to OmniMark 5   OmniMark home
docs home 
IndexConceptsTasksSyntaxLibrariesOMX VariablesErrors
 
  Related Syntax    
control structure   using attribute    

Syntax

  using attribute attribute-name element-qualifier*
     (([...] | {...}) numeric-expression)?


Purpose

This prefix allows attributes to be referenced without repeating the element qualifiers or the [...]item indexer. It is also useful when using the "%v" format item on an attribute which does not belong to the current element.

Either the element qualifier or the [...] item indexer must be specified.

The scope of the using prefix is the action it precedes. It does not carry down into subelements through a %c operator. The using prefix is frequently employed with compound actions.

Each time an item on the specified shelf is referenced in the action without an indexer, the item specified by using is used.

The item specified by the using prefix is looked up every time the shelf is referenced without an indexer. That means that when the using prefix specifies the item using:

Specifying lastmost in a usingprefix, or in a passed read-only or modifiable function argument, effectively re-establishes the default behavior for the current item on the shelf. That is, the last item on the shelf when it is referenced is the default item. It can be used to cancel the effect of any outer establishment of a default item.

A using attribute prefix will cause input to the parser to be buffered until the action to which it applies completes.

This following example illustrates how attribute aliases can be used to simplify attribute identification when more than one opened element has an attribute with the same name.

In this example, the attribute alias parent-type allows the parent's type attribute to be easily identified, especially in "%v" formats, even if the currently opened element has an attribute named "type".

  using attribute type of parent as parent-type
     do when attribute type != attribute parent-type
        output "Type attributes differ:%n" _
               "  current: %v(type)%n" _
               "  parent's: %v(parent-type)%n"
     done

    Related Syntax
   lastmost
 
 
----

Top [ INDEX ] [ CONCEPTS ] [ TASKS ] [ SYNTAX ] [ LIBRARIES ] [ OMX ] [ OMX ] [ ERRORS ]

Generated: August 11, 2000 at 3:08:08 pm
If you have any comments about this section of the documentation, send email to docerrors@omnimark.com

Copyright © OmniMark Technologies Corporation, 1988-2000.