The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

XML::Template::Element - XML::Template plug-in element base class.

SYNOPSIS

package XML::Template::Element::MyElement;

use base qw(XML::Template::Element); use XML::Template::Element;

DESCRIPTION

This module provides base functionality for XML::Template plug-in element modules.

CONSTRUCTOR

The first parameter of the constructor is hash containing namespace prefix/expanded namespace name/value pairs. The second parameter is the current namespace. The remaining named parameters are passed to the XML::Template::Base constructor. The constructor returns a reference to a new element object or undef if an error occurred. If undef is returned, you can use the method error to retrieve the error. For instance:

  my $element = XML::Template::Element->new ($namespaces, $namespace, %params)
    || die XML::Template::Element->error;

PUBLIC METHODS

namespace

  my $namespace = $self->namespace;

This method returns the current namespace.

generate_named_params

  my $attribs_named_params = $self->generate_named_params (\%attrbs);

This method generates Perl code for a named parameter list. The first parameter is a reference to a hash containing parameter name/value pairs. For instance,

  my $attribs_named_params = $self->generate_named_params ({
                               type             => "'newsletter'",
                               date             => "'2002%'",
                               'map.num'        => 3});

would return the following string

  'type' => 'newsletter', 'date' => '2002%', 'map.num' => 3

generate_xmlinfo_code

  my $xmlinfo_code = $self->generate_xmlinfo_code ($self->{_xmlinfo});

This method generates Perl code that creates the data structure that store current XML information (currently declared namespaces. This is necessary for passing current XML information from the parse-time to run-time. For instance, sometimes it is necessary to make the XML information current when an element module is called available when the code the element module generates is later evaluated.

get_attrib

  my $field = $self->get_attrib ($attribs, ['field', 'fields']) || 'undef';
  my $name = $self->get_attrib ($attribs, 'name'], 0) || '"default"';

This method returns an attribute value. The first parameter is a reference to a hash containing attribute/value pairs. The second parameter is a scalar or a reference to an array of attribute names to look for. The value of the first attribute name found is returned.

Unless the optional third parameter is true, the attribute is deleted from the attribute hash.

AUTHOR

Jonathan Waxman jowaxman@bbl.med.upenn.edu

COPYRIGHT

Copyright (c) 2002 Jonathan A. Waxman All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.