##############################################################################
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
# Copyright (C) 1998-2004 Jabber Software Foundation http://jabber.org/
#
##############################################################################
package Net::Jabber::Namespaces;
=head1 NAME
Net::Jabber::Namespaces
=head1 SYNOPSIS
Net::Jabber::Namespaces is a pure documentation
module. It provides no code for execution, just
documentation on how the Net::Jabber modules handle
namespaces.
=head1 DESCRIPTION
Net::Jabber::Namespaces is fully documented by Net::XMPP::Namesapces.
=head1 AUTHOR
Ryan Eatmon
=head1 COPYRIGHT
This module is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
use Net::XMPP::Namespaces;
$Net::XMPP::Namespaces::SKIPNS{'__netjabber__'} = 1;
#-----------------------------------------------------------------------------
# jabber:iq:agent
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:agent',
tag => 'query',
xpath => {
Agents => {
type => 'flag',
path => 'agents',
},
Description => { path => 'description/text()' },
JID => {
type => 'jid',
path => '@jid',
},
Name => { path => 'name/text()' },
GroupChat => {
type => 'flag',
path => 'groupchat',
},
Register => {
type => 'flag',
path => 'register',
},
Search => {
type => 'flag',
path => 'search',
},
Service => { path => 'service/text()' },
Transport => { path => 'transport/text()' },
URL => { path => 'url/text()' },
Agent => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
deprecated => 1,
},
);
}
#-----------------------------------------------------------------------------
# jabber:iq:agents
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:agents',
tag => 'query',
xpath => {
Agent => {
type => 'child',
path => 'agent',
child => {
ns => 'jabber:iq:agent',
skip_xmlns => 1,
},
calls => [ 'Add' ],
},
Agents => {
type => 'child',
path => 'agent',
child => { ns => 'jabber:iq:agent' },
},
},
docs => {
module => 'Net::Jabber',
deprecated => 1,
},
);
}
#-----------------------------------------------------------------------------
# jabber:iq:autoupdate
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:autoupdate',
tag => 'query',
xpath => {
Beta => {
type => 'child',
path => 'beta',
child => { ns => '__netjabber__:iq:autoupdate:release' },
calls => [ 'Add' ],
},
Dev => {
type => 'child',
path => 'dev',
child => { ns => '__netjabber__:iq:autoupdate:release' },
calls => [ 'Add' ],
},
Release => {
type => 'child',
path => 'release',
child => { ns => '__netjabber__:iq:autoupdate:release' },
calls => [ 'Add' ],
},
Releases => {
type => 'child',
path => '*',
child => { ns => '__netjabber__:iq:autoupdate:release' },
},
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:autoupdate:release
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:autoupdate:release',
xpath => {
Desc => { path => 'desc/text()' },
Priority => { path => '@priority' },
URL => { path => 'url/text()' },
Version => { path => 'version/text()' },
Release => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:autoupdate - release objects',
},
);
}
#-----------------------------------------------------------------------------
# jabber:iq:browse
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:browse',
tag => 'item',
xpath => {
Category => { path => '@category' },
Item => {
type => 'child',
path => '*[name() != "ns"]',
child => { ns => '__netjabber__:iq:browse:item',
specify_name => 1,
tag => 'item',
},
calls => [ 'Add' ],
},
Items => {
type => 'child',
path => '*[name() != "ns"]',
child => { ns => '__netjabber__:iq:browse:item' },
},
JID => {
type => 'jid',
path => '@jid',
},
Name => { path => '@name' },
NS => {
type => 'array',
path => 'ns/text()',
},
Type => { path => '@type' },
Browse => { type => 'master' }
},
docs => {
module => 'Net::Jabber',
deprecated => 1,
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:browse:item
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:browse:item',
tag => 'item',
xpath => {
Category => { path => '@category' },
Item => {
type => 'child',
path => '*[name() != "ns"]',
child => { ns => '__netjabber__:iq:browse:item',
specify_name => 1,
tag => 'item',
},
calls => [ 'Add' ],
},
Items => {
type => 'child',
path => '*[name() != "ns"]',
child => { ns => '__netjabber__:iq:browse:item' },
},
JID => {
type => 'jid',
path => '@jid',
},
Name => { path => '@name' },
NS => {
type => 'array',
path => 'ns/text()',
},
Type => { path => '@type' },
Browse => { type => 'master' }
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:browse - item objects',
deprecated => 1,
},
);
}
#-----------------------------------------------------------------------------
# jabber:iq:conference
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:conference',
tag => 'query',
xpath => {
ID => { path => 'id/text()' },
Name => { path => 'name/text()' },
Nick => { path => 'nick/text()' },
Privacy => {
type => 'flag',
path => 'privacy',
},
Secret => { path => 'secret/text()' },
Conference => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:iq:filter
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:filter',
tag => 'query',
xpath => {
Rule => {
type => 'child',
path => 'rule',
child => { ns => '__netjabber__:iq:filter:rule' },
calls => [ 'Add' ],
},
Rules => {
type => 'child',
path => 'rule',
child => { ns => '__netjabber__:iq:filter:rule' },
},
},
docs => {
module => 'Net::Jabber',
deprecated => 1,
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:filter:rule
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:filter:rule',
xpath => {
Body => { path => 'body/text()' },
Continued => { path => 'continued/text()' },
Drop => { path => 'drop/text()' },
Edit => { path => 'edit/text()' },
Error => { path => 'error/text()' },
From => { path => 'from/text()' },
Offline => { path => 'offline/text()' },
Reply => { path => 'reply/text()' },
Resource => { path => 'resource/text()' },
Show => { path => 'show/text()' },
Size => { path => 'size/text()' },
Subject => { path => 'subject/text()' },
Time => { path => 'time/text()' },
Type => { path => 'type/text()' },
Unavailable => { path => 'unavailable/text()' },
Rule => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:filter - rule objects',
deprecated => 1,
},
);
}
#-----------------------------------------------------------------------------
# jabber:iq:gateway
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:gateway',
tag => 'query',
xpath => {
Desc => { path => 'desc/text()' },
JID => {
type => 'jid',
path => 'jid/text()',
},
Prompt => { path => 'prompt/text()' },
Gateway => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:iq:last
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:last',
tag => 'query',
xpath => {
Message => { path => 'text()' },
Seconds => { path => '@seconds' },
Last => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:iq:oob
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:oob',
tag => 'query',
xpath => {
Desc => { path => 'desc/text()' },
URL => { path => 'url/text()' },
Oob => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:iq:pass
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:pass',
tag => 'query',
xpath => {
Client => { path => 'client/text()' },
ClientPort => { path => 'client/@port' },
Close => {
type => 'flag',
path => 'close',
},
Expire => { path => 'expire/text()' },
OneShot => {
type => 'flag',
path => 'oneshot',
},
Proxy => { path => 'proxy/text()' },
ProxyPort => { path => 'proxy/@port' },
Server => { path => 'server/text()' },
ServerPort => { path => 'server/@port' },
Pass => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:iq:rpc
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:rpc',
tag => 'query',
xpath => {
MethodCall => {
type => 'child',
path => 'methodCall',
child => { ns => '__netjabber__:iq:rpc:methodCall' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
MethodResponse => {
type => 'child',
path => 'methodResponse',
child => { ns => '__netjabber__:iq:rpc:methodResponse' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:rpc:methodCall
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:rpc:methodCall',
xpath => {
MethodName => { path => 'methodName/text()' },
Params => {
type => 'child',
path => 'params',
child => { ns => '__netjabber__:iq:rpc:params' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
MethodCall => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:rpc - methodCall objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:rpc:methodResponse
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:rpc:methodResponse',
xpath => {
Fault => {
type => 'child',
path => 'fault',
child => { ns => '__netjabber__:iq:rpc:fault' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Params => {
type => 'child',
path => 'params',
child => { ns => '__netjabber__:iq:rpc:params' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:rpc - methodResponse objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:rpc:fault
#-----------------------------------------------------------------------------
{
&add_ns(ns =>'__netjabber__:iq:rpc:fault',
xpath => {
Value => {
type => 'child',
path => 'value',
child => { ns => '__netjabber__:iq:rpc:value' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:rpc - fault objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:rpc:params
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:rpc:params',
xpath => {
Param => {
type => 'child',
path => 'param',
child => { ns => '__netjabber__:iq:rpc:param' },
calls => [ 'Add' ],
},
Params => {
type => 'child',
path => 'param',
child => { ns => '__netjabber__:iq:rpc:param' },
},
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:rpc - params objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:rpc:param
#-----------------------------------------------------------------------------
{
&add_ns(ns =>'__netjabber__:iq:rpc:param',
xpath => {
Value => {
type => 'child',
path => 'value',
child => { ns => '__netjabber__:iq:rpc:value' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:rpc - param objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:rpc:value
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:rpc:value',
xpath => {
Array => {
type => 'child',
path => 'array',
child => { ns => '__netjabber__:iq:rpc:array' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Base64 => { path => 'base64/text()' },
Boolean => { path => 'boolean/text()' },
DateTime => { path => 'dateTime.iso8601/text()' },
Double => { path => 'double/text()' },
I4 => { path => 'i4/text()' },
Int => { path => 'int/text()' },
String => { path => 'string/text()' },
Struct => {
type => 'child',
path => 'struct',
child => { ns => '__netjabber__:iq:rpc:struct' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Value => { path => 'value/text()' },
RPCValue => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:rpc - value objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:rpc:struct
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:rpc:struct',
xpath => {
Member => {
type => 'child',
path => 'member',
child => { ns => '__netjabber__:iq:rpc:struct:member' },
calls => [ 'Add' ],
},
Members => {
type => 'child',
path => 'member',
child => { ns => '__netjabber__:iq:rpc:struct:member' },
},
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:rpc - struct objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:rpc:struct:member
#-----------------------------------------------------------------------------
{
&add_ns(ns =>'__netjabber__:iq:rpc:struct:member',
xpath => {
Name => { path => 'name/text()' },
Value => {
type => 'child',
path => 'value',
child => { ns => '__netjabber__:iq:rpc:value' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Member => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:rpc - member objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:rpc:array
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:rpc:array',
xpath => {
Data => {
type => 'child',
path => 'data',
child => { ns => '__netjabber__:iq:rpc:array:data' },
calls => [ 'Add' ],
},
Datas => {
type => 'child',
path => 'data',
child => { ns => '__netjabber__:iq:rpc:array:data' },
},
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:rpc - array objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:rpc:array:data
#-----------------------------------------------------------------------------
{
&add_ns(ns =>'__netjabber__:iq:rpc:array:data',
xpath => {
Value => {
type => 'child',
path => 'value',
child => { ns => '__netjabber__:iq:rpc:value' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:rpc - data objects',
},
);
}
#-----------------------------------------------------------------------------
# jabber:iq:search
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:search',
tag => 'query',
xpath => {
Email => { path => 'email/text()' },
Family => { path => 'family/text()' },
First => { path => 'first/text()' },
Given => { path => 'given/text()' },
Instructions => { path => 'instructions/text()' },
Item => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:iq:search:item' },
calls => [ 'Add' ],
},
Items => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:iq:search:item', },
},
Key => { path => 'key/text()' },
Last => { path => 'last/text()' },
Name => { path => 'name/text()' },
Nick => { path => 'nick/text()' },
Truncated => {
type => 'flag',
path => 'truncated',
},
Search => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:search:item
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:search:item',
xpath => {
Email => { path => 'email/text()' },
Family => { path => 'family/text()' },
First => { path => 'first/text()' },
Given => { path => 'given/text()' },
JID => {
type => 'jid',
path => '@jid',
},
Key => { path => 'key/text()' },
Last => { path => 'last/text()' },
Name => { path => 'name/text()' },
Nick => { path => 'nick/text()' },
Item => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'jabber:iq:search - item objects',
},
);
}
#-----------------------------------------------------------------------------
# jabber:iq:time
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:time',
tag => 'query',
xpath => {
Display => {
type => ['special','time-display'],
path => 'display/text()',
},
TZ => {
type => ['special','time-tz'],
path => 'tz/text()',
},
UTC => {
type => ['special','time-utc'],
path => 'utc/text()',
},
Time => { type => [ 'master', 'all' ] }
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:iq:version
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:iq:version',
tag => 'query',
xpath => {
Name => { path => 'name/text()' },
OS => {
type => [ 'special', 'version-os' ],
path => 'os/text()',
},
Ver => {
type => [ 'special' ,'version-version' ],
path => 'version/text()',
},
Version => { type => [ 'master', 'all' ] }
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:x:autoupdate
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:x:autoupdate',
tag => 'x',
xpath => {
JID => {
type => 'jid',
path => '@jid',
},
Autoupdate => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:x:conference
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:x:conference',
tag => 'x',
xpath => {
JID => {
type => 'jid',
path => '@jid',
},
Conference => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:x:data
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:x:data',
tag => 'x',
xpath => {
Field => {
type => 'child',
path => 'field',
child => { ns => '__netjabber__:x:data:field' },
calls => [ 'Add' ],
},
Fields => {
type => 'child',
path => 'field',
child => { ns => '__netjabber__:x:data:field', },
},
Form => { path => '@form' },
Instructions => { path => 'instructions/text()' },
Item => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:x:data:item' },
calls => [ 'Add' ],
},
Items => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:x:data:item', },
},
Reported => {
type => 'child',
path => 'reported',
child => { ns => '__netjabber__:x:data:reported' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Title => { path => 'title/text()' },
Type => { path => '@type' },
Data => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:x:data:field
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:x:data:field',
xpath => {
Desc => { path => 'desc/text()' },
Label => { path => '@label' },
Option => {
type => 'child',
path => 'option',
child => { ns => '__netjabber__:x:data:field:option' },
calls => [ 'Add' ],
},
Options => {
type => 'child',
path => 'option',
child => { ns => '__netjabber__:x:data:field:option', },
},
Required => {
type => 'flag',
path => 'required',
},
Type => { path => '@type' },
Value => {
type => 'array',
path => 'value/text()',
},
Var => { path => '@var' },
Field => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'jabber:x:data - field objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:x:data:field:option
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:x:data:field:option',
xpath => {
Label => { path => '@label' },
Value => { path => 'value/text()' },
Option => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'jabber:x:data - option objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:x:data:item
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:x:data:item',
xpath => {
Field => {
type => 'child',
path => 'field',
child => { ns => '__netjabber__:x:data:field' },
calls => [ 'Add' ],
},
Fields => {
type => 'child',
path => 'field',
child => { ns => '__netjabber__:x:data:field', },
},
Item => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'jabber:x:data - item objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:x:data:reported
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:x:data:reported',
xpath => {
Field => {
type => 'child',
path => 'field',
child => { ns => '__netjabber__:x:data:field' },
calls => [ 'Add' ],
},
Fields => {
type => 'child',
path => 'field',
child => { ns => '__netjabber__:x:data:field', },
},
Reported => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'jabber:x:data - reported objects',
},
);
}
#-----------------------------------------------------------------------------
# jabber:x:delay
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:x:delay',
tag => 'x',
xpath => {
From => {
type => 'jid',
path => '@from',
},
Message => { path => 'text()' },
Stamp => {
type => 'timestamp',
path => '@stamp',
},
Delay => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:x:encrypted
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:x:encrypted',
tag => 'x',
xpath => {
Message => { path => 'text()' },
Encrypted => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:x:event
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:x:event',
tag => 'x',
xpath => {
Composing => {
type => 'flag',
path => 'composing',
},
Delivered => {
type => 'flag',
path => 'delivered',
},
Displayed => {
type => 'flag',
path => 'displayed',
},
ID => { path => 'id/text()' },
Offline => {
type => 'flag',
path => 'offline',
},
Event => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:x:expire
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:x:expire',
tag => 'x',
xpath => {
Seconds => { path => '@seconds' },
Expire => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:x:oob
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:x:oob',
tag => 'x',
xpath => {
Desc => { path => 'desc/text()' },
URL => { path => 'url/text()' },
Oob => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# jabber:x:roster
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:x:roster',
tag => 'x',
xpath => {
Item => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:x:roster:item' },
calls => [ 'Add' ],
},
Items => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:x:roster:item', },
},
Roster => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:x:roster:item
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:x:roster:item',
xpath => {
Ask => { path => '@ask' },
Group => {
type => 'array',
path => 'group/text()',
},
JID => {
type => 'jid',
path => '@jid',
},
Name => { path => '@name' },
Subscription => { path => '@subscription' },
Item => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'jabber:x:roster - item objects',
},
);
}
#-----------------------------------------------------------------------------
# jabber:x:signed
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'jabber:x:signed',
tag => 'x',
xpath => {
Signature => { path => 'text()' },
Signed => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/bytestreams
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'http://jabber.org/protocol/bytestreams',
tag => 'query',
xpath => {
Activate => { path => 'activate/text()' },
SID => { path => '@sid' },
StreamHost => {
type => 'child',
path => 'streamhost',
child => { ns => '__netjabber__:iq:bytestreams:streamhost' },
calls => [ 'Add' ],
},
StreamHosts => {
type => 'child',
path => 'streamhost',
child => { ns => '__netjabber__:iq:bytestreams:streamhost', },
},
StreamHostUsedJID => {
type => 'jid',
path => 'streamhost-used/@jid',
},
ByteStreams => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:bytestreams:streamhost
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:bytestreams:streamhost',
xpath => {
Host => { path => '@host' },
JID => {
type => 'jid',
path => '@jid',
},
Port => { path => '@port' },
ZeroConf => { path => '@zeroconf' },
StreamHost => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/bytestreams - streamhost objects',
},
);
}
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/commands
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'http://jabber.org/protocol/commands',
tag => 'command',
xpath => {
Action => { path => '@action' },
Node => { path => '@node' },
Note => {
type => 'child',
path => 'note',
child => { ns => '__netjabber__:iq:commands:note' },
calls => [ 'Add' ],
},
Notes => {
type => 'child',
path => 'note',
child => { ns => '__netjabber__:iq:commands:note', },
},
SessionID => { path => '@sessionid' },
Status => { path => '@status' },
Command => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
# xxx xml:lang
#-----------------------------------------------------------------------------
# __netjabber__:iq:commands:note
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:commands:note',
xpath => {
Type => { path => '@type' },
Message => { path => 'text()' },
Note => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/commands - note objects',
},
);
}
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/disco#info
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'http://jabber.org/protocol/disco#info',
tag => 'query',
xpath => {
Feature => {
type => 'child',
path => 'feature',
child => { ns => '__netjabber__:iq:disco:info:feature' },
calls => [ 'Add' ],
},
Features => {
type => 'child',
path => 'feature',
child => { ns => '__netjabber__:iq:disco:info:feature' },
},
Identity => {
type => 'child',
path => 'identity',
child => { ns => '__netjabber__:iq:disco:info:identity' },
calls => [ 'Add' ],
},
Identities => {
type => 'child',
path => 'identity',
child => { ns => '__netjabber__:iq:disco:info:identity' },
},
Node => { path => '@node' },
DiscoInfo => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:disco:info:feature
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:disco:info:feature',
xpath => {
Var => { path => '@var' },
Feature => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/disco#info - feature objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:disco:info:identity
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:disco:info:identity',
xpath => {
Category => { path => '@category' },
Name => { path => '@name' },
Type => { path => '@type' },
Identity => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/disco#info - identity objects',
},
);
}
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/disco#items
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'http://jabber.org/protocol/disco#items',
tag => 'query',
xpath => {
Item => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:iq:disco:items:item' },
calls => [ 'Add' ],
},
Items => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:iq:disco:items:item' },
},
Node => { path => '@node' },
DiscoItems => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:disco:items:item
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:disco:items:item',
xpath => {
Action => { path => '@action' },
JID => {
type => 'jid',
path => '@jid',
},
Name => { path => '@name' },
Node => { path => '@node' },
Item => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/disco#items - item objects',
},
);
}
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/feature-neg
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'http://jabber.org/protocol/feature-neg',
tag => 'feature',
xpath => {
FeatureNeg => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/muc
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'http://jabber.org/protocol/muc',
tag => 'x',
xpath => {
Password => { path => 'password/text()' },
MUC => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/muc#admin
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'http://jabber.org/protocol/muc#admin',
tag => 'query',
xpath => {
Item => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:iq:muc:admin:item' },
calls => [ 'Add' ],
},
Items => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:iq:muc:admin:item' },
},
Admin => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:muc:admin:item
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:muc:admin:item',
xpath => {
ActorJID => {
type => 'jid',
path => 'actor/@jid',
},
Affiliation => { path => '@affiliation' },
JID => {
type => 'jid',
path => '@jid',
},
Nick => { path => '@nick' },
Reason => { path => 'reason/text()' },
Role => { path => '@role' },
Item => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/muc#admin - item objects',
},
);
}
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/muc#user
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'http://jabber.org/protocol/muc#user',
tag => 'x',
xpath => {
Alt => { path => 'alt/text()' },
Invite => {
type => 'child',
path => 'invite',
child => { ns => '__netjabber__:x:muc:invite' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Item => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:x:muc:item' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Password => { path => 'password/text()' },
StatusCode => { path => 'status/@code' },
User => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:x:muc:invite
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:x:muc:invite',
xpath => {
From => {
type => 'jid',
path => '@from',
},
Reason => { path => 'reason/text()' },
To => {
type => 'jid',
path => '@to',
},
Invite => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/muc#user - invite objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:x:muc:item
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:x:muc:item',
xpath => {
ActorJID => {
type => 'jid',
path => 'actor/@jid',
},
Affiliation => { path => '@affiliation' },
JID => {
type => 'jid',
path => '@jid',
},
Nick => { path => '@nick' },
Reason => { path => 'reason/text()' },
Role => { path => '@role' },
Item => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/muc#user - item objects',
},
);
}
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/pubsub
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'http://jabber.org/protocol/pubsub',
tag => 'pubsub',
xpath => {
Affiliations => {
type => 'child',
path => 'affiliations',
child => { ns => '__netjabber__:iq:pubsub:affiliations' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Configure => {
type => 'child',
path => 'configure',
child => { ns => '__netjabber__:iq:pubsub:configure' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Create => {
type => 'child',
path => 'create',
child => { ns => '__netjabber__:iq:pubsub:create' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Delete => {
type => 'child',
path => 'delete',
child => { ns => '__netjabber__:iq:pubsub:delete' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Entities => {
type => 'child',
path => 'entities',
child => { ns => '__netjabber__:iq:pubsub:entities' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Entity => {
type => 'child',
path => 'entity',
child => { ns => '__netjabber__:iq:pubsub:entity' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Items => {
type => 'child',
path => 'items',
child => { ns => '__netjabber__:iq:pubsub:items' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Item => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:iq:pubsub:item' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Options => {
type => 'child',
path => 'options',
child => { ns => '__netjabber__:iq:pubsub:options' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Publish => {
type => 'child',
path => 'publish',
child => { ns => '__netjabber__:iq:pubsub:publish' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Purge => {
type => 'child',
path => 'purge',
child => { ns => '__netjabber__:iq:pubsub:purge' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Retract => {
type => 'child',
path => 'retract',
child => { ns => '__netjabber__:iq:pubsub:retract' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Subscribe => {
type => 'child',
path => 'subscribe',
child => { ns => '__netjabber__:iq:pubsub:subscribe' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Unsubscribe => {
type => 'child',
path => 'unsubscribe',
child => { ns => '__netjabber__:iq:pubsub:unsubscribe' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
PubSub => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:affiliations
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:affiliations',
xpath => {
Entity => {
type => 'child',
path => 'entity',
child => { ns => '__netjabber__:iq:pubsub:entity' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Affiliations => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - affiliations objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:configure
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:configure',
xpath => {
Node => { path => '@node' },
Configure => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - configure objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:create
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:create',
xpath => {
Node => { path => '@node' },
Create => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - create objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:delete
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:delete',
xpath => {
Node => { path => '@node' },
Delete => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - delete objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:entities
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:entities',
xpath => {
Entity => {
type => 'child',
path => 'entity',
child => { ns => '__netjabber__:iq:pubsub:entity' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Entities => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - entities objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:entity
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:entity',
xpath => {
Affiliation => { path => '@affiliation' },
JID => {
type => 'jid',
path => '@jid',
},
Node => { path => '@node' },
Subscription => { path => '@subscription' },
SubscribeOptions => {
type => 'child',
path => 'subscribe-options',
child => { ns => '__netjabber__:iq:pubsub:subscribe-options' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Entity => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - entity objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:items
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:items',
xpath => {
Item => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:iq:pubsub:item' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Node => { path => '@node' },
MaxItems => { path => '@max_items' },
Items => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - items objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:item
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:item',
xpath => {
ID => { path => '@id' },
Payload => { type => 'raw' },
Item => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - item objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:options
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:options',
xpath => {
JID => {
type => 'jid',
path => '@jid',
},
Node => { path => '@node' },
Options => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - options objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:publish
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:publish',
xpath => {
Item => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:iq:pubsub:item' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Node => { path => '@node' },
Publish => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - publish objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:purge
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:purge',
xpath => {
Node => { path => '@node' },
Purge => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - purge objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:retract
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:retract',
xpath => {
Item => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:iq:pubsub:item' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Node => { path => '@node' },
Retract => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - retract objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:subscribe
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:subscribe',
xpath => {
JID => {
type => 'jid',
path => '@jid',
},
Node => { path => '@node' },
Subscribe => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - subscribe objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:subscribe-options
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:subscribe-options',
xpath => {
Required => {
type => 'flag',
path => 'required',
},
SubscribeOptions => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - subscribe-options objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:unsubscribe
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:unsubscribe',
xpath => {
JID => {
type => 'jid',
path => '@jid',
},
Node => { path => '@node' },
Unsubscribe => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub - unsubscribe objects',
},
);
}
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/pubsub#event
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'http://jabber.org/protocol/pubsub#event',
tag => 'event',
xpath => {
Delete => {
type => 'child',
path => 'delete',
child => { ns => '__netjabber__:iq:pubsub:event:delete' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Items => {
type => 'child',
path => 'items',
child => { ns => '__netjabber__:iq:pubsub:event:items' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Event => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:event:delete
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:event:delete',
xpath => {
Node => { path => '@node' },
Delete => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub#event - delete objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:event:items
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:event:items',
xpath => {
Item => {
type => 'child',
path => 'item',
child => { ns => '__netjabber__:iq:pubsub:event:item' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Node => { path => '@node' },
Items => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub#event - items objects',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:event:item
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:event:item',
xpath => {
ID => { path => '@id' },
Payload => { type => 'raw' },
Item => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub#event - item objects',
},
);
}
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/pubsub#owner
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'http://jabber.org/protocol/pubsub#owner',
tag => 'pubsub',
xpath => {
Action => { path => '@action' },
Configure => {
type => 'child',
path => 'configure',
child => { ns => '__netjabber__:iq:pubsub:owner:configure' },
calls => [ 'Get', 'Defined', 'Add', 'Remove' ],
},
Owner => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# __netjabber__:iq:pubsub:owner:configure
#-----------------------------------------------------------------------------
{
&add_ns(ns => '__netjabber__:iq:pubsub:owner:configure',
xpath => {
Node => { path => '@node' },
Configure => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
name => 'http://jabber.org/protocol/pubsub#owner - configure objects',
},
);
}
#XXX pubsub#errors
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/si
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'http://jabber.org/protocol/si',
tag => 'si',
xpath => {
ID => { path => '@id' },
MimeType => { path => '@mime-type' },
Profile => { path => '@profile' },
Stream => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/si/profile/file-transfer
#-----------------------------------------------------------------------------
{
&add_ns(ns => 'http://jabber.org/protocol/si/profile/file-transfer',
tag => 'file',
xpath => {
Date => { path => '@date' },
Desc => { path => 'desc/text()' },
Hash => { path => '@hash' },
Name => { path => '@name' },
Range => {
type => 'flag',
path => 'range',
},
RangeOffset => { path => 'range/@offset' },
RangeLength => { path => 'range/@length' },
Size => { path => '@size' },
File => { type => 'master' },
},
docs => {
module => 'Net::Jabber',
},
);
}
#-----------------------------------------------------------------------------
# http://jabber.org/protocol/si/profile/tree-transfer
#-----------------------------------------------------------------------------
# XXX do later
$ns = 'http://jabber.org/protocol/si/profile/tree-transfer';
$TAGS{$ns} = "tree";
$NAMESPACES{$ns}->{Directory}->{XPath}->{Type} = 'child';
$NAMESPACES{$ns}->{Directory}->{XPath}->{Path} = 'directory';
$NAMESPACES{$ns}->{Directory}->{XPath}->{Child} = ['Query','__netjabber__:iq:si:profile:tree:directory'];
$NAMESPACES{$ns}->{Directory}->{XPath}->{Calls} = ['Add','Get'];
$NAMESPACES{$ns}->{Numfiles}->{XPath}->{Path} = '@numfiles';
$NAMESPACES{$ns}->{Size}->{XPath}->{Path} = '@size';
$NAMESPACES{$ns}->{Tree}->{XPath}->{Type} = 'master';
#-----------------------------------------------------------------------------
# __netjabber__:iq:si:profile:tree:directory
#-----------------------------------------------------------------------------
$ns = '__netjabber__:iq:si:profile:tree:directory';
$NAMESPACES{$ns}->{Directory}->{XPath}->{Type} = 'child';
$NAMESPACES{$ns}->{Directory}->{XPath}->{Path} = 'directory';
$NAMESPACES{$ns}->{Directory}->{XPath}->{Child} = ['Query','__netjabber__:iq:si:profile:tree:directory'];
$NAMESPACES{$ns}->{Directory}->{XPath}->{Calls} = ['Add','Get'];
$NAMESPACES{$ns}->{File}->{XPath}->{Type} = 'child';
$NAMESPACES{$ns}->{File}->{XPath}->{Path} = 'file';
$NAMESPACES{$ns}->{File}->{XPath}->{Child} = ['Query','__netjabber__:iq:si:profile:tree:file'];
$NAMESPACES{$ns}->{File}->{XPath}->{Calls} = ['Add','Get'];
$NAMESPACES{$ns}->{Name}->{XPath}->{Path} = '@name';
$NAMESPACES{$ns}->{Dir}->{XPath}->{Type} = 'master';
#-----------------------------------------------------------------------------
# __netjabber__:iq:si:profile:tree:file
#-----------------------------------------------------------------------------
$ns = '__netjabber__:iq:si:profile:tree:file';
$NAMESPACES{$ns}->{Name}->{XPath}->{Path} = '@name';
$NAMESPACES{$ns}->{SID}->{XPath}->{Path} = '@sid';
$NAMESPACES{$ns}->{File}->{XPath}->{Type} = 'master';
sub add_ns
{
&Net::XMPP::Namespaces::add_ns(@_);
}
1;