Table 39-5 MR to PMDF Template Processing Metacharacter Control Sequences
  
    | Substitutions  | 
  
  
    | Control  | 
      | 
  
  
    | sequence  | 
    Template processing action  | 
  
  
    
      $U
     | 
    
      Substitute mailbox/username part of address at this point. This has no 
      meaning except in one of the special rules $M, $P, or $D.
     | 
  
  
    
$*
n
     | 
    
Insert the
n
th value,
n
      =0,1,...,9, part from the current ORname.
     | 
  
  
    
$.
n
     | 
    
Insert the
n
th wildcarded attribute name dot suffix,
n
      =0,1,...,9, from the current ORname.
     | 
  
  
    
      $E
     | 
    
      Insert a unique string.
     | 
  
  
    | Substitution processing control  | 
  
  
    | Control  | 
      | 
  
  
    | sequence  | 
    Template processing action  | 
  
  
    
      $A
     | 
    
      Add all subsequent text from the current addition to the RFC822 address 
      being built by this rewrite.
     | 
  
  
    
      $B
     | 
    
Mark the current buffer as containing a bang-style route (the trailing 
"
      !" is inserted automatically).
     | 
  
  
    
      $D
     | 
    
      Activate automatic decoding from printable string encoding for all 
      subsequent substitutions.
     | 
  
  
    
      $H
     | 
    
Mark the current buffer as containing an
@
host
 specification (the "
      @" is inserted automatically).
     | 
  
  
    
      $I
     | 
    
      Deactivate automatic decoding of printable strings.
     | 
  
  
    
      $K
     | 
    
      Mark the current buffer as containing an extracted organization 
      specification. If this address is the message sender this information 
      is promoted to form an Organization: header.
     | 
  
  
    
      $L
     | 
    
      Do not remove enclosing quotes around additions to address.
     | 
  
  
    
      $M
     | 
    
      Mark the current buffer as containing a mailbox specification.
     | 
  
  
    
      $P
     | 
    
Mark the current buffer as containing a percent-style route (the 
leading "
      %" is inserted automatically).
     | 
  
  
    
      $Q
     | 
    
      Remove enclosing quotes around additions to the address, if present.
     | 
  
  
    
      $R
     | 
    
Mark the current buffer as containing a source route (the leading "
@" and trailing "
," or "
      :" are inserted automatically).
     | 
  
  
    
$T
text
     | 
    
      Use all subsequent text as a qualifying tag for all future database 
      queries.
     | 
  
  
    
      $W
     | 
    
      Mark the current buffer as containing the entire address in one part. 
      If any whole address buffers are present they are concatenated and used 
      as the result; all other buffers are ignored.
     | 
  
  
    
      $X
     | 
    
      Mark the current buffer as containing a personal name specification. 
      Personal name information has no semantic content, and is omitted 
      entirely from envelope addresses.
     | 
  
  
    
      $(
     | 
    
      Mark the current buffer as containing a comment string. Comments have 
      no semantic content, and are omitted entirely from envelope addresses.
     | 
  
  
    
      $+
     | 
    
      Append to the current element.
     | 
  
  
    
      $-
     | 
    
      Prepend to the current element.
     | 
  
  
    
$&
n
     | 
    
Move to the
n
th insert buffer,
n
      =0,1,...,9. There are 10 such buffers. Subsequent material will be 
      appended to this buffer.
     | 
  
  
    | Lookups  | 
  
  
    | Control  | 
      | 
  
  
    | sequence  | 
    Template processing action  | 
  
  
    
$[[
...]
     | 
    
      Invoke customer supplied routine; substitute in result. Three 
      comma-separated arguments are required: The image, the routine in the 
      image, and the argument to pass to the routine. See Section 2.2.6.7 for 
      additional information.
     | 
  
  
    
${
...}
     | 
    
      Apply specified mapping to supplied string. Two comma-separated 
      arguments are required: The name of the mapping and the the argument to 
      be mapped. See Section 2.2.6.6 for additional information.
     | 
  
  
    | Interpretation of attribute/value pairs not matched by the rewriting process  | 
  
  
    | Control  | 
      | 
  
  
    | sequence  | 
    Template processing action  | 
  
  
    
      $N
     | 
    
      Take any remaining attributes and values left over after rewriting, 
      encode them using personal name syntax, and invoke the $N rule for 
      processing.
     | 
  
  
    
      $O
     | 
    
Take any remaining attributes and values left over after rewriting, 
encode them using "
/
attribute=
value
      " syntax, and invoke the $M rule for processing.
     | 
  
  
    
      $Y
     | 
    
      Block all interpretation of remaining attributes. Rewriting will fail 
      if there are any.
     | 
  
  
    | Miscellaneous  | 
  
  
    | Control  | 
      | 
  
  
    | sequence  | 
    Template processing action  | 
  
  
    
      $C
     | 
    
      Clear any existing 822 information and values set by previous 
      processing.
     | 
  
  
    
      $F
     | 
    
      Null substitution; always fails and kills this rewrite.
     | 
  
  
    
      $G
     | 
    
      Force failure if backward is not set.
     | 
  
  
    
      $J
     | 
    
      Force failure if backward is set.
     | 
  
  
    
      $S
     | 
    
      Null substitution; always successful.
     | 
  
  
    
      $V
     | 
    
      Force failure if envelope is not set.
     | 
  
  
    
      $Z
     | 
    
      Force failure if header is not set.
     | 
  
  Table 39-6 MR to PMDF Pattern Processing Metacharacter Control Sequences
  
    | Control  | 
      | 
  
  
    | sequence  | 
    Pattern processing action  | 
  
  
    
      $D
     | 
    
Special rewrite called when rewriting fails and X.400 address has to be 
encapsulated in an RFC 822 address. The mailbox string is the entire 
attribute value list in "
/
attribute=
value
      " format.
     | 
  
  
    
      $E
     | 
    
      Special rewrite called when an empty address is presented.
     | 
  
  
    
      $F
     | 
    
Called when attribute-value pairs are left after rewriting is finished,
      $N is set, and a free form name attribute is detected. The 
      mailbox is set to be the free form name. This rule is only activated if 
      the remaining attributes can actually be encoded in personal name 
      format.
     | 
  
  
    
      $I
     | 
    
      Initial rewrite, applied once the AVPL has been encoded successfully.
     | 
  
  
    
      $M
     | 
    
Called when attribute-value pairs are left after rewriting is finished 
and
$O is set. Mailbox specification is set to the remaining 
attributes encoded in "
/
attribute=
value
      " format.
     | 
  
  
    
      $N
     | 
    
Called when attribute-value pairs are left after rewriting is finished 
and
      $N is set. The mailbox is set to the remaining attributes 
      encoded in personal name format. This rule is only activated if the 
      remaining attributes can actually be encoded in personal name format.
     | 
  
  
    
      $P
     | 
    
      Called when unknown attributes are present. This is a truly exceptional 
      condition.
     | 
  
  
    
      $T
     | 
    
Called when attribute-value pairs are left after rewriting is finished,
      $N is set, and a telephone number attribute is detected. 
      The mailbox is set to be the telephone number. This rule is only 
      activated if the remaining attributes can actually be encoded in 
      personal name format.
     |