NAME

Net::EPP::Frame::Command - an instance of Net::EPP::Frame for client commands

DESCRIPTION

This module is a base class for the Net::EPP::Frame::* subclasses, you should never need to access it directly.

OBJECT HIERARCHY

L<XML::LibXML::Node>
+----L<XML::LibXML::Document>
    +----L<Net::EPP::Frame>
        +----L<Net::EPP::Frame::Command>

METHODS

my $object = $frame->addObject(@spec);

This method creates and returns a new element corresponding to the data in @spec, and appends it to the "command" element (as returned by the getCommandType() method below).

The Net::EPP::Frame::ObjectSpec module can be used to quickly retrieve EPP object specifications.

my $type = $frame->getCommandType;

This method returns a scalar containing the command type (eg 'create').

my $type = $frame->getCommandNode;

This method returns the XML::LibXML::Element object corresponding to the command in question, eg the <create> element (for a Net::EPP::Frame::Command::Create object). It is within this element that EPP objects are placed.

my $node = $frame->command;

This method returns the XML::LibXML::Element object corresponding to the <command> element.

my $node = $frame->clTRID;

This method returns the XML::LibXML::Element object corresponding to the <clTRID> element.

my $extension = $frame->extension;

This method returns the XML::LibXML::Element object corresponding to the <extension> element. If one does not exist, it will be created and inserted at the correct position.

my $element = $frame->createExtensionElementFor($xmlns);

This methods creates a new element in the <extension> element for the EPP extension specified by $xmlns which can be obtained from Net::EPP::Frame::ObjectSpec. The element's tag name will correspond to the command name (create, update etc).

Example usage:

my $frame = Net::EPP::Frame::Command::Info::Domain->new;

my $element = $frame->createExtensionElementFor(
    Net::EPP::Frame::ObjectSpec->xmlns('foobar')
);

// prints <info xmlns="namespace:for:foobar"/>
print $element->toString();