fae4a91430
This reverts commit 48d5f30226
.
146 lines
3.3 KiB
Perl
146 lines
3.3 KiB
Perl
package C4::TmplTokenType;
|
|
|
|
# Copyright 2011 Tamil
|
|
#
|
|
# This file is part of Koha.
|
|
#
|
|
# Koha is free software; you can redistribute it and/or modify it under the
|
|
# terms of the GNU General Public License as published by the Free Software
|
|
# Foundation; either version 2 of the License, or (at your option) any later
|
|
# version.
|
|
#
|
|
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License along
|
|
# with Koha; if not, write to the Free Software Foundation, Inc.,
|
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
use strict;
|
|
#use warnings; FIXME - Bug 2505
|
|
require Exporter;
|
|
|
|
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
|
|
|
|
###############################################################################
|
|
|
|
=head1 NAME
|
|
|
|
C4::TmplTokenType.pm - Types of TmplToken objects
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
This is a Java-style "safe enum" singleton class for types of TmplToken objects.
|
|
The predefined constants are
|
|
|
|
=cut
|
|
|
|
###############################################################################
|
|
|
|
$VERSION = 3.07.00.049;
|
|
|
|
@ISA = qw(Exporter);
|
|
@EXPORT_OK = qw(
|
|
&TEXT
|
|
&TEXT_PARAMETRIZED
|
|
&CDATA
|
|
&TAG
|
|
&DECL
|
|
&PI
|
|
&DIRECTIVE
|
|
&COMMENT
|
|
&UNKNOWN
|
|
);
|
|
|
|
###############################################################################
|
|
|
|
use vars qw( $_text $_text_parametrized $_cdata
|
|
$_tag $_decl $_pi $_directive $_comment $_null $_unknown );
|
|
|
|
BEGIN {
|
|
my $new = sub {
|
|
my $this = 'C4::TmplTokenType';#shift;
|
|
my $class = ref($this) || $this;
|
|
my $self = {};
|
|
bless $self, $class;
|
|
($self->{'id'}, $self->{'name'}, $self->{'desc'}) = @_;
|
|
return $self;
|
|
};
|
|
$_text = &$new(0, 'TEXT');
|
|
$_text_parametrized = &$new(8, 'TEXT-PARAMETRIZED');
|
|
$_cdata = &$new(1, 'CDATA');
|
|
$_tag = &$new(2, 'TAG');
|
|
$_decl = &$new(3, 'DECL');
|
|
$_pi = &$new(4, 'PI');
|
|
$_directive = &$new(5, 'DIRECTIVE');
|
|
$_comment = &$new(6, 'COMMENT');
|
|
$_unknown = &$new(7, 'UNKNOWN');
|
|
}
|
|
|
|
sub to_string {
|
|
my $this = shift;
|
|
return $this->{'name'}
|
|
}
|
|
|
|
sub TEXT () { $_text }
|
|
sub TEXT_PARAMETRIZED () { $_text_parametrized }
|
|
sub CDATA () { $_cdata }
|
|
sub TAG () { $_tag }
|
|
sub DECL () { $_decl }
|
|
sub PI () { $_pi }
|
|
sub DIRECTIVE () { $_directive }
|
|
sub COMMENT () { $_comment }
|
|
sub UNKNOWN () { $_unknown }
|
|
|
|
###############################################################################
|
|
|
|
=over
|
|
|
|
=item TEXT
|
|
|
|
normal text (#text in the DTD)
|
|
|
|
=item TEXT_PARAMETRIZED
|
|
|
|
parametrized normal text
|
|
(result of simple recognition of text interspersed with <TMPL_VAR> directives;
|
|
this has to be explicitly enabled in the scanner)
|
|
|
|
=item CDATA
|
|
|
|
normal text (CDATA in the DTD)
|
|
|
|
=item TAG
|
|
|
|
something that has the form of an HTML tag
|
|
|
|
=item DECL
|
|
|
|
something that has the form of an SGML declaration
|
|
|
|
=item PI
|
|
|
|
something that has the form of an SGML processing instruction
|
|
|
|
=item DIRECTIVE
|
|
|
|
a Template Toolkit directive
|
|
|
|
=item COMMENT
|
|
|
|
something that has the form of an HTML comment
|
|
(and is not recognized as an HTML::Template directive)
|
|
|
|
=item UNKNOWN
|
|
|
|
something that is not recognized at all by the scanner
|
|
|
|
=back
|
|
|
|
Note that end of file is currently represented by undef,
|
|
instead of a constant predefined by this module.
|
|
|
|
=cut
|
|
|
|
1;
|