Class that represents filter groups.
- See Also
A filter group is a category of filters that all accept the exact same input and output type and execute semantically very similar tasks (e.g. all citation parsers or all citation output filters).
Distinct filter groups can have define the same input and output types if they do semantically different things (e.g. two XSL operations that both take XML as input and output but do different things).
A transformation can only be part of exactly one filter group. If you find that you want to add the same transformation (same input/output type and same parameterization) to two different filter groups then this indicates that the semantics of the two groups has been defined ambivalently.
The rules for defining filter groups are like this: 1) Describe what the transformation does and not in which context the transformation is being used (e.g. "NLM-3.0 citation-element to plaintext citation output conversion" rather than "Reading tool citation filter"). 2) Make sure that the name is really unique with respect to input type, output type and potential parameterizations of filters in the group. Otherwise you can expect to get name clashes later (e.g. use "NLM-3.0 ... conversion" and not "NLM ... conversion" otherwise you'll get a name clash when NLM 4.0 or 3.1 comes out.
It can be difficult to change filter group names later as we expect community contributions to certain filter groups (e.g. citation parsers).
Definition at line 45 of file FilterGroup.inc.php.