ZIG91-015 PROXIMITY SEARCHING Mark Hinnebusch FCLA May 28, 1991 This is an updated version and superceeds that found in ZIG91-006. It contains the modifications agreed upon at the May 20, 1991 meeting. These changes include moving the not function from the operator to the proximity operator structure and removing comments restricting the operands of the proximity operator. Operator ::= ›46| CHOICE { and ›0| IMPLICIT NULL, or ›1| IMPLICIT NULL, and-not ›2| IMPLICIT NULL, prox ›3| ProximityOperator } ProximityOperator ::= SEQUENCE { ›1| Not OPTIONAL IMPLICIT BOOLEAN, -- "Not" specifies that the not operator is to be applied to the -- proximity operation. TRUE indicates NOT is to be applied. FALSE -- indicates that it is not to be applied. If Not is not provided, -- FALSE is implied. ›2| Distance IMPLICIT INTEGER, -- Distance is the number of units between the operands plus one. -- That is, the difference between the ordinal position values of the -- two operands. The first RPNStructure is assumed to be "first" in -- the record, that is, above or to the left of the second -- RPNStructure. Distance will never be negative. -- ›3| Ordered IMPLICIT BOOLEAN, -- TRUE indicates right proximity only -- FALSE indicates right and left ›4| RelationType IMPLICIT INTEGER { LessThan(1), LessThanOrEqual(2), Equal(3) GreaterThanOrEqual(4), GreaterThan(5), NotEqual(6) } ›5| ProximityUnitCode OPTIONAL CHOICE { ›1| IMPLICIT INTEGER { Word(1), Sentence(2), Paragraph(3), Section(4), Chapter(5), Document(6), Field(7), Subfield(8), Fieldtype(9), Character(10) }, -- other codes may be added ›2| ProximityUnit IMPLICIT VisibleString}