---
name: "Net::EPP::Frame::Command"
section: "3pm"
platform: "linux"
package: "libnet-epp-perl"
version: "0.28-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::EPP::Frame::Command"
---

# Net::EPP::Frame::Command(3pm)

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

## 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();
```
