NAME

SGML::Simple::BuilderBuilder - build a simple transformation package

SYNOPSIS

use SGML::SPGrove;
use SGML::Simple::Spec;
use SGML::Simple::SpecBuilder;
use SGML::Simple::BuilderBuilder;

$spec_grove = SGML::SPGrove->new ($spec_sysid);
$spec = SGML::Simple::Spec->new;
$spec_grove->accept (SGML::Simple::SpecBuilder->new, $spec);
$builder = SGML::Simple::BuilderBuilder->new (spec => $spec[, no_gi => 1]);

$grove = SGML::SPGrove->new ($sysid);
$object_tree_root = My::Object->new();
$grove->accept ($builder->new, $object_tree_root);

DESCRIPTION

BuilderBuilder returns the package name of a package built using a specification read from a specification file. The key `spec' contains the specification. The key `no_gi' chooses between `visit_gi_' (0) and `visit_' (1) calls being created.

Passing a new ``builder'' to accept_gi of a grove will cause an output object tree to be generated under $object_tree_root using the builder.

Builder packages are all singletons, calling new always returns the same object.

AUTHOR

Ken MacLeod, ken@bitsko.slc.ut.us

SEE ALSO

perl(1), SGML::SPGrove(3), SGML::Simple::Spec(3),
SGML::Simple::SpecBuilder(3)