descendant               // consider all descendants
 [                       // for which is true:
  @f-id-class=="PRM" &   // f-id-class is "PRM" AND
  child                  // has a child
    [                    // for which is true:
     ?prm-char &         // GID is "PRM-CHAR" and
     child[?min].data    // child with GID "MIN"
       >                 // is greater than one of
     child               // the children with
       [?typ | ?max]     // GID is "TYP" or "MAX"
       .data             // for each of those: PCDATA
   ]
  ]
.                        // for each of those
 child[?short-name]      // children with GID "SHORT-NAME"
   . data                // for each of those return PCDATA