@ATTACK - @Default.Stops
QTIPS - Stop Lists
Reader's Clinic - Stop Lists
QTIPS - Default Stop Lists
QTIPS - Manipulating XREF formulae.
VERBatim - V16
Popups
Utility Diskette # 3 - Part I
Reader's Clinic - RList Column Names
Reader's Clinic - Blank Column Headings in RLIST
QTIPS - Column Heading Limit
QTIPS - Using @Upper.Case and @Lower.Case with Foreign Languages
@ATTACK - @Lower.Case
@ATTACK - @Upper.Case
Sorting out Collation Sequences by Mike Pope
@ATTACK - @Macro.Words
Utility Diskette # 4
Reader's Clinic - Scribe Replace Processes in Window
Utility Diskette # 4
Version 3 Technical Highlights - Customising NewApplication Creation
Bugs and PCs - Xlate with Multipart Keys
VROOM - Window Processing II
Indexing on Xlates
Collector Windows
QTIPS - Reusing Symbolics in Windows
QTIPS - Hiding Symbolic Source Code
Utility Diskette # 4
Simple Security
QTIPS - Hiding Symbolic Source Code
Using One Dictionary With Multiple Tables - Aaron Kaplan - SoftMart Inc
QTIPS - DOSTime
VERBatim - V11
@ATTACK - @Backgrnd.Time
@ATTACK - @Index.Time
QTIPS - Time-outs in Windows
VERBatim - V47
QTIPS - Manipulating XREF formulae.
VERBatim - V17
VERBatim - V6
VERBatim - V125
Utility Diskette # 3 - Part I
Version 3 Technical Highlights - Copying Rows Programmatically
Version 3 TCL Subroutines - Copying Rows
SecureUser
VERBatim - V25
@ATTACK - @Files.System
Advanced Revelation Initialisation Sequence (Overview) by Mike Pope
REVMEDIA Revisted
@ATTACK - @Modal
RTP Series - RTP1
VERBatim - V20
File Variables
VERBatim - V126
Esc.To.Exit
Uncommon Knowledge - WC_WST_CHAR%
Background Processing
Vroom - Window Processing
VROOM - Window Processing II
Catalyst
@ATTACK - @Ans
QTIPS - Compiling Work around on runtimes
QTIPS - Potential Problem When Using @ANS
Make.Index
QTIPS - Btree.Extract
!File Records
Index Sub Revisited
QTIPS - Stop Lists
Reader's Clinic - Stop Lists
Utility Diskette # 4
QTIPS - Manipulating XREF formulae.
Compiling 64K on a Shoestring by Blaise Wrenn (LexStat Systems Ltd)
Playing with Scan Codes
QTIPS - Compiling Protection Code
QTIPS - Invalid Code and Command
QTIPS - Code/Command Help
Compiling 64K on a Shoestring by Blaise Wrenn (LexStat Systems Ltd)
Form.List.S
Make.Index
Index Sub Revisited
QTIPS - Make.Index 2.11+
QUERY.SUB
Version 3 Technical Highlights - Creating New Accounts Programmatically
Version 3 TCL Subroutines - Creating New Accounts
Version 3 TCL Subroutines - Creating Tables
Capture Playback and Convert.Keystrokes
QTIPS - Using @Upper.Case and @Lower.Case with Foreign Languages
@ATTACK - @Lower.Case
Sorting out Collation Sequences by Mike Pope
QTIPS - Using @Upper.Case and @Lower.Case with Foreign Languages
@ATTACK - @Upper.Case
Sorting out Collation Sequences by Mike Pope
Vroom
QTIPS - Replacing GAS.BAR routine during PERFORM "SELECT"
QTIPS - Extended Select BY
QTIPS - PERFORM Arguments and FMT Specifications
What's New (and un(der)documented!) In 2.12
WP Bond, from Professional Systems Development - A review by Michael Ruane - Phoenix Solutions.
Argument passing - Subroutines and Functions - Mike Pope

RevMedia FKB

DocumentV4I8A11
TitleQTIPS - Manipulating XREF formulae.
KeywordsXREF
FORMULA
STOP LIST
TextPerry Howell at the Inland Revenue recently encountered PROBLEMS when trying
to set a large stop list for a cross reference index on a text column Even
though the index itself was DEFINED to be case insensitive words were only
stopped if they were entered into the text in UPPER case This fairly
fundamental flaw will not be addressed in 3 03 so a short term work round
was required (Ideally RevTI would provide two separate flags for case
sensitivity so that even in a case sensitive cross reference the stop list
could still be tagged as case insensitive)

A simple solution is to create a symbolic which takes the text and converts
it into upper case and then index the symbolic instead However similar
requirements encountered over the years have involved the elimination of
numeric "words" and the exclusion of all words of less than four letters
Unless you have a Scrabble dictionary and a long long time to enter the
stop list there is a more general technique which addresses all these
requirements and many more besides

Caveat : This technique involves editing the formula generated for the
Column_XREF dictionary item If the index is ever removed and reinstalled
any changes made to the formula will be lost so it is a good idea to keep a
backup copy safe

The standard formula generated by the system for a cross reference is of the
form

CALL XREF({COLUMN} HexDelimiters StopList StopMode)

(see REVMEDIA passim for a full discussion of these parameters) Pre
processing can be applied to the data before the call is made to avoid the
case sensitivity problem In addition any subsequent processing can be
applied to the multi valued @ANS which is returned by the XREF call
allowing words to be excluded according to any pre programmed general rule
The source code EXAMPLE given below shows the formula for a column called
TEXT_XREF which implements all of the rules mentioned above

* Make stop list case insensitive
Temp = {TEXT}
Convert @Lower Case To @Upper Case In Temp
CALL XREF(Temp \202E2C\ "COMPUTER":@VM:"PRINTER" "2")

* Now perform any additional FILTERING resetting @ANS
NewList = ''
Col = 0
Loop
Remove Word FROM @Ans At Col SETTING Flag
While Word
Begin Case
Case Word Matches "0N" ;Null
Case Len(Word) LT 4 ;Null
Case 1 ;NewList:= Word:@Vm
End Case
Repeat
NewList[ 1 1] = ''
Transfer NewList To @Ans


(Volume 4 Issue 8 Pages 13 14)
[revmedia/copyrigh.htm]

Page last modified: 08/02/03