NAME

Net::EPP::Frame::ObjectSpec - metadata about EPP objects and extensions.

SYNOPSIS

use Net::EPP::Frame;
use strict;

# create an EPP frame:
my $check = Net::EPP::Frame::Command::Check->new;

# get the spec:
my @spec = Net::EPP::Frame::ObjectSpec->spec('domain');

# create an object:
my $domain = $check->addObject(@spec);

# set the attributes:
my $name = $check->createElement('domain:name');
$name->addText('example.tld');

# assemble the frame:
$domain->appendChild($name);
$check->getCommandNode->appendChild($domain);

print $check->toString;

DESCRIPTION

Net::EPP::Frame::ObjectSpec is a simple module designed to provide easy access to metadata for the objects and extensions defined in EPP and various extensions.

METHODS

xmlns()

my $xmlns = Net::EPP::Frame::ObjectSpec->xmlns($type);

Returns a string containing the XML namespace URI of the thing identified by $type, or undef if $type is unknown.

See below for possible values of $type.

spec()

my @spec = Net::EPP::Frame::ObjectSpec->spec($type);

This function returns an array containing metadata for the given object type. If no metadata is registered then the function returns undef.

The returned array contains three members:

@spec = (
	$type,
	$xmlns,
	$schemaLocation, # (deprecated)
);

$type is the same as the supplied argument, while $xmlns is the XML namespace URI for the given type. The third argument is suitable for inclusion in a schemaLocation attribute, but is now deprecated and will be undef for any value of $type other than domain, host contact, secDNS and rgp.

THE $type ARGUMENT

The $type argument to xmlns() and spec() identifies the object or extension desired. Possible values are:

OBJECT MAPPINGS

  • domain, for domain names;

  • host, for host objects;

  • contact, for contact objects;

  • org, for organization object.

EXTENSIONS

  • secDNS, for the DNSSEC extension;

  • rgp, for Registry Grace Period extension;

  • ttl, for the TTL extension;

  • maintenance, for the Maintenance extension;

  • secure-authinfo-transfer, for the Secure authInfo extension;

  • b-dn, for the bundled domain names extension;

  • unhandled-namespaces, for the unhandled namespaces extension;

  • loginSec, for the Login Security extension;

  • fee, for the Fee extension;

  • changePoll, for the Change Poll extension;

  • orgext, for the Organization extension;

  • allocationToken, for the Allocation Token extension;

  • launch, for the Launch extension;

  • keyrelay, for the Key Relay extension;

  • ttl, for the TTL extension.

COPYRIGHT

This module is (c) 2008 - 2023 CentralNic Ltd and 2024 Gavin Brown. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.