Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Template::Declare::TagUser3Contributed Perl DocumeTemplate::Declare::TagSet(3)

NAME
       Template::Declare::TagSet - Base	class for tag sets used	by
       Template::Declare::Tags

SYNOPSIS
	   package My::TagSet;
	   use base 'Template::Declare::TagSet';

	   # returns an	array ref for the tag names
	   sub get_tag_list {
	       [ qw(
		   html	body tr	td table
		   base	meta link hr
	       )]
	   }

	   # prevents potential	naming conflicts:
	   sub get_alternate_spelling {
	       my ($self, $tag)	= @_;
	       return 'row'  if	$tag eq	'tr';
	       return 'cell' if	$tag eq	'td';
	   }

	   # Specifies whether "<tag></tag>" can be
	   # combined to "<tag />":
	   sub can_combine_empty_tags {
	       my ($self, $tag)	= @_;
	       $tag =~ /^ (?: base | meta | link | hr )	$/x;
	   }

DESCRIPTION
       Template::Declare::TagSet is the	base class for declaring packages of
       Template::Delcare tags. If you need to create new tags for use in your
       templates, this is the base class for you! Review the source code of
       Template::Declare::TagSet::HTML for a useful example.

METHODS
   new(	PARAMS )
	   my $tag_set = Template::Declare::TagSet->new({
	       package	 => 'Foo::Bar',
	       namespace => undef,
	   });

       Constructor created by "Class::Accessor::Fast", accepting an optional
       hash reference of parameters.

   get_tag_list
	   my $list = $tag_set->get_tag_list();

       Returns an array	ref for	the tag	names offered by a tag set.

   get_alternate_spelling( TAG )
	   $bool = $obj->get_alternate_spelling($tag);

       Returns true if a tag has an alternative	spelling. Basically it
       provides	a way to work around naming conflicts. For example, the	"tr"
       tag in HTML conflicts with Perl's "tr" operator,	and the	"template" tag
       in XUL conflicts	with the "template" sub	exported by
       "Template::Declare::Tags".

   can_combine_empty_tags( TAG )
	   $bool = $obj->can_combine_empty_tags($tag);

       Specifies whether "<tag></tag>" can be combined into a single token,
       "<tag />". By default, all tags can be combined into a single token;
       override	in a subclass to change	this value where appropriate. For
       example,
       "Template::Declare::TagSet::HTML->can_combine_empty_tags('img')"
       returns true since "<img	src="..." />" is always	required for HTML
       pages.
       "Template::Declare::TagSet::HTML->can_combine_empty_tags('script')", on
       the other hand, returns false, since some browsers can't	handle a
       single script token.

ACCESSORS
       This class has two read-only accessors:

   package
	   my $package = $obj->package();

       Retrieves the value of the "package" option set via the constructor.

   namespace
	   my $namespace = $obj->namespace();

       Retrieves the value of the "namespace" option set via the constructor.

AUTHOR
       Agent Zhang <agentzh@yahoo.cn>.

SEE ALSO
       Template::Declare::TagSet::HTML,	Template::Declare::TagSet::XUL,
       Template::Declare::Tags,	Template::Declare.

perl v5.32.1			  2014-12-12	  Template::Declare::TagSet(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | ACCESSORS | AUTHOR | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Template::Declare::TagSet&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help