Name

TagGroup — group Interchange code declarations in groups, for later convenient inclusion or exclusion from the setup

SYNOPSIS

:group_name code_declaration_names...

DESCRIPTION

The directive groups symbols (usually depending on their type) under group names. This allows for very convenient inclusion or exclusion of whole tag groups from the Interchange server.

DIRECTIVE TYPE AND DEFAULT VALUE

Global directive

EXAMPLES

Example: Defining TagGroup

TagGroup :file "counter file include log value_extended"

Require taggroup :file

NOTES

AVAILABILITY

TagGroup is available in Interchange versions:

4.6.0-5.9.0 (git-head)

SOURCE

Interchange 5.9.0:

Source: lib/Vend/Config.pm
Line 464

['TagGroup',     'tag_group',     $StdTags],

Source: lib/Vend/Config.pm
Line 2592 (context shows lines 2592-2623)

sub parse_tag_group {
my ($var, $setting) = @_;

my $c;
if(defined $C) {
  $c = $C->{$var} || {};
}
else {
  no strict 'refs';
  $c = ${"Global::$var"} || {};
}

$setting =~ tr/-/_/;
$setting =~ s/[,\s]+/ /g;
$setting =~ s/^\s+//;
$setting =~ s/\s+$//;

my @pairs = Text::ParseWords::shellwords($setting);

while(@pairs) {
  my ($group, $sets) = splice @pairs, 0, 2;
  my @sets = grep $_, split /\s+/, $sets;
  my @groups = grep /:/, @sets;
  @sets = grep $_ !~ /:/, @sets;
  for(@groups) {
    next unless $c->{$_};
    push @sets, @{$c->{$_}};
  }
  $c->{$group} = \@sets;
}
return $c;
}

AUTHORS

Interchange Development Group

SEE ALSO

TagInclude(7ic)

DocBook! Interchange!