Object to make defining namespaces easier in
XML::Stream::Namespace is a helper package to XML::Stream. It provides a clean way of defining Namespaces for XML::Stream to use when connecting.
This module allows you to set and read elements from an XML::Stream Namespace.
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'"
$myNamespace = new XML::Stream::Namespace("mynamspace"); $myNamespace->SetXMLNS("http://www.mynamespace.org/xmlns"); $myNamespace->SetAttributes(foo=>"bar", bob=>"vila");
$stream = new XML::Stream; $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"> #
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.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.