ipqtags This program is used to mangle Quark and/or Xtags. It scans its input directory and each file is processed according to a parameter file specified either as the default or as the DY: FipHdr field. There is also a question of where to send the output file as this, by default, is put in spool/2go for IPWHEEL to distribute. So it needs a Destination(s) or DU FipHdr field. This is added by either : - It there is a DX FipHdr field in the input file, that is used. - If not, the keyword 'dest' is used in the parameter file. - If that is not specified either, it is sent to 'woops' the Intercept queue. - You may also specify it from the incoming data using the 'fiphdr' keyword. In this case the contents of DX, 'dest' or 'woops' will be the default if there is no data. The parameter file in tables/setup defaults to FORMAT and has the keywords: style: (name) (sub keywords describing that style) subkeywords are : fiphdr:XX fiphdr:AA dup: fiphdr:AB dup:+ The data with this style is also added as a FipHdr field. The 'dup' keyword allows for the data of multiple styles all with the same FipHdr field. Any chr specified for 'dup' is used as the separator - space is the default. start:"\n-- Before --\n" Data (in FipSeq) to add when the style first occurs. Double quote for spaces. end:<e> Data (in FipSeq) to add when the next style occurs. convertfield: upper/lower/zapspcextra/zapspc stripfromdata: If FipHdr is also specified for this field - strip from the op of the data Where there are many style all starting with the same name, use a wildcard '=' to denote all following. A single wildcard '=' can also be used Before any text for embedded names. eg style:"= kop=" fiphdr:AH dup:\073 everything with SPACE 'kop' stuff into the FipHdr field AH There can be one and only style lines for a single style. Name is case-insensitive. Note that the Name can have embedded spaces - so put dbl quotes around the name. Styles which are labeled in the data but are not specified in the parameter file are logged and ignored. Rows with no style labeled are assumed to be in the same style as the previous row. eg : style:"Headline=" fiphdr:AA dup:\073 stripfromdata: style:"Shares Head=" fiphdr:AA dup:\073 style:"Reverse=" fiphdr:AA dup:\073 style:"Caption=" fiphdr:AE dup:+ style:"Shares Price=" start:<table> end:</table> zapstyle: Nameof Style to ignore zapstyle:"Story Notes" pifont:(Font name) Zaps all characters in this font if specified OUTSIDE a Style pichr (chr) font:(FontName) replace:(replacment string) pichr:\035 font"Zapf Dingbats" replace:(bullet) Zaps (or replaces) certain characters in this font if specified OUTSIDE a Style tag:(string) data:(replacement string) Replace all occurences of any tagged string - such as special chrs - with the replacement string. If the Tag is NOT specified it is stripped except for Chrs specified as decimal numbers which are translated into their correct chr. eg: <\l> will be stripped if not specified. <\#124> will be converted to the chr '|'. tag:\- data:- tag:\@ data:@ Note that the 'string' is NOT FipSeq, so only one '\' is required. zaptag:(string) Zap this tag and ALL data until next occurance. Use this the remove all data in a particular mode which may be used as a Comment mode. zaptag:/ Other keywords : keepfiphdr: Normally the FipHdr of the incoming file is ignored unless recreated with 'fiphdr'. Use this to presere the entire FipHdr of the input file and stickon the top of the output. nofiphdr: do NOT add a FipHdr to the output file. Any new FipHdr keywords are added without the tilde NL top and bottom. zapfiphdrfld: Zap/delete this fiphdr field This is done to the incoming FipHdr BEFORE any extra fields are added. zapfiphdrfld:DU zapfiphdrfld:DX fiphdr:(2-letter code) (optional FipSeq) Add a FipHdr with optional data preservetags: Preserve any other tags. Default is to strip all tags. dest: (one or more Fip Destinations separated by space or '+') This can be overridden by the DX: FipHdr field. Note that all destinations MUST be in the tables/sys/USERS file. As per normal case is important, so ZAPME and zapme are 2 different destinations. eg. dest:logcopy+outquark. filename: (FipSeq) New filename for the output file name. overwrite: Where 'filename' has been specified, if there is already a file with that name in the output queue, it is deleted first. before: (FipSeq) String to parse and add at the top of the file. after: (FipSeq) String to parse and add at the end of the file. beffile: (Path/filename) Contents of a file in FipSeq to parse and add at the top of the file (after 'before') aftfile: (Path/filename) Contents of a file in FipSeq to parse and add at the bottom of the file (before 'after') number:octal|dec|hex In FipSeq, make all escaped numbers Octal, Dec or Hex. default is octal extralocale: (2chr combinations) For changing uppercase to lower and vice versa, we can add to the normal locale by specifying a series of 2 letters which the lower then the upper. The lowercase chr is 1st then the upper, then a separator or space. eg extralocale:aA,bB,cC,dD,\212\232,\213\237 Normal a-z/A-Z are by default : in the example above they are included to give an idea of syntax chr:(octal/dec/hex number):(FipSeq string) Replace this single character with the string This can be a printable chr or an escaped number. The number is octal/dec/hex depending on the preceding 'number' keyword (if any). eg chr:\313:(pound) chr:<:< Note that ALL data is changed INCLUDING the contents of 'before' etc. Input parameters (all optional) are : Either -1 : filename for a single shot default: spooled or -i : spooled input queue to scan default: spool/2qtags -o : output queue default: spool/2go -d : done queue for original raw data default: none-input deleted -t : scan time for the directory default: 1 sec -w : file wait time for files arriving default: none across a network (for NFS, make about 10 secs) -l : log every new file pls default: do NOT log -S : Splitter string for files which need to be split beforehand default:none Use this for files like Atex Prestige Library extracts which are single files containing many items. These are split into a queue which is zapped afterwards. -z : name of the default parameter file default: tables/setup/QTAGS -v : print version no and exit **************** Notes *********************** **** NULs (characters of binary zero) are stripped from the output file. So a parameter like the following will have no effect at all ! tag:ds data:\000 **** Current Limitations are : No more than 2000 tags may be specified. (copyright) 2019 and previous years FingerPost Ltd.