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

NAME

MarpaX::ESLIF::URI::tag - URI::tag syntax as per RFC4151

VERSION

version 0.005

SUBROUTINES/METHODS

MarpaX::ESLIF::URI::tag inherits, and eventually overwrites some, methods of MarpaX::ESLIF::URI::_generic.

$class->bnf

Overwrites parent's bnf implementation. Returns the BNF used to parse the input.

$class->grammar

Overwrite parent's grammar implementation. Returns the compiled BNF used to parse the input as MarpaX::ESLIF::Grammar singleton.

$self->entity($type)

Returns the tag entity. $type is either 'decoded' (default value), 'origin' or 'normalized'.

$self->authority($type)

Returns the tag authority. $type is either 'decoded' (default value), 'origin' or 'normalized'.

$self->date($type)

Returns the tag date as a DateTime object. $type is either 'decoded' (default value), 'origin' or 'normalized'.

Note that date in a tag URI is always expressed using UTC timezone.

$self->year($type)

Returns the tag date's year. $type is either 'decoded' (default value), 'origin' or 'normalized'.

$self->month($type)

Returns the tag date's month. $type is either 'decoded' (default value), 'origin' or 'normalized'.

$self->day($type)

Returns the tag date's day. $type is either 'decoded' (default value), 'origin' or 'normalized'.

$self->dnsname($type)

Returns the tag's DNS name when entity is made from it. $type is either 'decoded' (default value), 'origin' or 'normalized'.

As per RFC4151: "It is RECOMMENDED that the domain name should be in lowercase form. Alternative formulations of the same authority name will be counted as distinct".

$self->email($type)

Returns the tag email when entity is made from it. $type is either 'decoded' (default value), 'origin' or 'normalized'.

NOTES

Errata 1485 has been applied.

SEE ALSO

RFC4151, MarpaX::ESLIF::URI::_generic, DateTime

AUTHOR

Jean-Damien Durand <jeandamiendurand@free.fr>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Jean-Damien Durand.

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