NAME

URI::Namespace - A namespace URI/IRI class with autoload methods

SYNOPSIS

  use URI::Namespace;
  my $foaf = URI::Namespace->new( 'http://xmlns.com/foaf/0.1/' );
  print $foaf->as_string;
  print $foaf->name;

DESCRIPTION

This module provides an object with a URI/IRI attribute, typically used prefix-namespace pairs, typically used in XML, RDF serializations, etc. The local part can be used as a method, these are autoloaded.

METHODS

new ( $string | URI | IRI )

This is the constructor. You may pass a string with a URI or a URI object.

uri ( [ $local_part ] )

Returns a URI object with the namespace IRI. Optionally, the method can take a local part as argument, in which case, it will return the namespace URI with the local part appended.

iri ( [ $local_part ] )

Returns a IRI object with the namespace IRI. Optionally, the method can take a local part as argument, in which case, it will return the namespace IRI with the local part appended.

local_part ( $uri )

Returns the local part string if the given argument URI (which may be a string, URI or IRI object) matches the namespace URI, or undef if not.

The following methods from URI can be used on an URI::Namespace object: as_string, as_iri, canonical, eq, abs, rel.

One important usage for this module is to enable you to create URIs for full URIs, e.g.:

  print $foaf->Person->as_string;

will return

  http://xmlns.com/foaf/0.1/Person

FURTHER DETAILS

See URI::NamespaceMap for further details about authors, license, etc.