# phpman > man > XML::Stream::Namespace

## NAME
    [XML::Stream::Namespace](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AStream%3A%3ANamespace/markdown) - Object to make defining Namespaces easier in [XML::Stream](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AStream/markdown).

## SYNOPSIS
    [XML::Stream::Namespace](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AStream%3A%3ANamespace/markdown) is a helper package to [XML::Stream](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AStream/markdown). It provides a clean way of defining
    Namespaces for [XML::Stream](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AStream/markdown) to use when connecting.

## DESCRIPTION
      This module allows you to set and read elements from an [XML::Stream](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AStream/markdown)
      Namespace.

## METHODS
      SetNamespace("mynamespace");
      SetXMLNS("<http://www.mynamespace.com/xmlns>");
      SetAttributes(attrib1=>"value1",
                    attrib2=>"value2");

      GetNamespace() returns "mynamespace"
      GetXMLNS() returns "<http://www.mynamespace.com/xmlns>"
      GetAttributes() returns a hash ( attrib1=>"value1",attrib2=>"value2")
      GetStream() returns the following string:
        "xmlns:mynamespace='<http://www.nynamespace.com/xmlns>'
         mynamespace:attrib1='value1'
         mynamespace:attrib2='value2'"

## EXAMPLES
      $myNamespace = [XML::Stream::Namespace](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AStream%3A%3ANamespace/markdown)->new("mynamspace");
      $myNamespace->SetXMLNS("<http://www.mynamespace.org/xmlns>");
      $myNamespace->SetAttributes(foo=>"bar",
                                  bob=>"vila");

      $stream = [XML::Stream](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AStream/markdown)->new;
      $stream->Connect(name=>"foo.bar.org",
                       port=>1234,
                       namespace=>"foo:bar",
                       namespaces=>[ $myNamespace ]);

      #
      # The above Connect will send the following as the opening string
      # of the stream to foo.bar.org:1234...
      #
      #   <stream:stream
      #    xmlns:stream="<http://etherx.jabber.org/streams>"
      #    to="foo.bar.org"
      #    xmlns="foo:bar"
      #    xmlns:mynamespace="<http://www.mynamespace.org/xmlns>"
      #    mynamespace:foo="bar"
      #    mynamespace:bob="vila">
      #

## AUTHOR
    Written by Ryan Eatmon in February 2000 Idea By Thomas Charron in January of 2000 for
    <http://etherx.jabber.org/streams/>

    Currently maintained by Darian Anthony Patrick.

## COPYRIGHT
    Copyright (C) 1998-2004 Jabber Software Foundation <http://jabber.org/>

    This module licensed under the LGPL, version 2.1.

