On this Page

    Multiple Filters Per Run

    A single run of Merge can invoke multiple filters, chained as it were. For example, you might use a .xfilter (from FilterEditor) to convert a spool file to XML, then use the DocumentSort filter to sort that XML by whichever keys you like.

    Maybe you have custom code already that can be used to convert to .dat format, but then want to re-filter that to produce XML.

    If you are using multiple filters then your Merge command line must be getting rather long. You should be using .prm parameter files, in which case each new filter can be readably entered on a new line. E.g. Syntactically

    -filter "filter1 -arg11=value11 -arg12=value12 ..."
    -filter "filter2 -arg21=value21 -arg22=value22 ..."

    within the double quotes, you can use single quotes to deal with spaces in arg names or values.

    You will note that each -filter option takes one long'ish quoted string. That is interpreted as a single argument to Merge, but its parts are treated as individual arguments to the filter in question.

    The first "sub-argument" is the name of the filter to use; e.g. ConvertDatToXml, Delim2Xml, myFilter.wjs, flatToXml.xfilter, myBinaryFilter.exe.

    The remaining sub-arguments are whatever that chosen filter needs. For the DocOrigin ones, that will certainly include a -in and -out pair of parameter names and values. Other options may be desired as well per the foregoing documentation. Note that -in and -out are supplied automatically by Merge.

    You can use a space instead of the = sign. Avoiding the = helps with auto-completion of file names when typing straight into a command shell.