xmpp.chapril.org-ejabberd/tools/xmpp_codec.erl

18660 lines
654 KiB
Erlang

%% Created automatically by XML generator (xml_gen.erl)
%% Source: xmpp_codec.spec
-module(xmpp_codec).
-compile({nowarn_unused_function,
[{dec_int, 3}, {dec_int, 1}, {dec_enum, 2},
{enc_int, 1}, {get_attr, 2}, {enc_enum, 1}]}).
-export([pp/1, format_error/1, decode/1, decode/2,
is_known_tag/1, encode/1, get_ns/1]).
decode(_el) -> decode(_el, []).
decode({xmlel, _name, _attrs, _} = _el, Opts) ->
IgnoreEls = proplists:get_bool(ignore_els, Opts),
case {_name, get_attr(<<"xmlns">>, _attrs)} of
{<<"failed">>, <<"urn:xmpp:sm:2">>} ->
decode_sm_failed(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"failed">>, <<"urn:xmpp:sm:3">>} ->
decode_sm_failed(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"a">>, <<"urn:xmpp:sm:2">>} ->
decode_sm_a(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"a">>, <<"urn:xmpp:sm:3">>} ->
decode_sm_a(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"r">>, <<"urn:xmpp:sm:2">>} ->
decode_sm_r(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"r">>, <<"urn:xmpp:sm:3">>} ->
decode_sm_r(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"resumed">>, <<"urn:xmpp:sm:2">>} ->
decode_sm_resumed(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"resumed">>, <<"urn:xmpp:sm:3">>} ->
decode_sm_resumed(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"resume">>, <<"urn:xmpp:sm:2">>} ->
decode_sm_resume(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"resume">>, <<"urn:xmpp:sm:3">>} ->
decode_sm_resume(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"enabled">>, <<"urn:xmpp:sm:2">>} ->
decode_sm_enabled(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"enabled">>, <<"urn:xmpp:sm:3">>} ->
decode_sm_enabled(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"enable">>, <<"urn:xmpp:sm:2">>} ->
decode_sm_enable(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"enable">>, <<"urn:xmpp:sm:3">>} ->
decode_sm_enable(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"sm">>, <<"urn:xmpp:sm:2">>} ->
decode_feature_sm(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"sm">>, <<"urn:xmpp:sm:3">>} ->
decode_feature_sm(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"inactive">>, <<"urn:xmpp:csi:0">>} ->
decode_csi_inactive(<<"urn:xmpp:csi:0">>, IgnoreEls,
_el);
{<<"active">>, <<"urn:xmpp:csi:0">>} ->
decode_csi_active(<<"urn:xmpp:csi:0">>, IgnoreEls, _el);
{<<"csi">>, <<"urn:xmpp:csi:0">>} ->
decode_feature_csi(<<"urn:xmpp:csi:0">>, IgnoreEls,
_el);
{<<"sent">>, <<"urn:xmpp:carbons:2">>} ->
decode_carbons_sent(<<"urn:xmpp:carbons:2">>, IgnoreEls,
_el);
{<<"received">>, <<"urn:xmpp:carbons:2">>} ->
decode_carbons_received(<<"urn:xmpp:carbons:2">>,
IgnoreEls, _el);
{<<"private">>, <<"urn:xmpp:carbons:2">>} ->
decode_carbons_private(<<"urn:xmpp:carbons:2">>,
IgnoreEls, _el);
{<<"enable">>, <<"urn:xmpp:carbons:2">>} ->
decode_carbons_enable(<<"urn:xmpp:carbons:2">>,
IgnoreEls, _el);
{<<"disable">>, <<"urn:xmpp:carbons:2">>} ->
decode_carbons_disable(<<"urn:xmpp:carbons:2">>,
IgnoreEls, _el);
{<<"forwarded">>, <<"urn:xmpp:forward:0">>} ->
decode_forwarded(<<"urn:xmpp:forward:0">>, IgnoreEls,
_el);
{<<"x">>, <<"http://jabber.org/protocol/muc">>} ->
decode_muc(<<"http://jabber.org/protocol/muc">>,
IgnoreEls, _el);
{<<"query">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
decode_muc_admin(<<"http://jabber.org/protocol/muc#admin">>,
IgnoreEls, _el);
{<<"reason">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
decode_muc_admin_reason(<<"http://jabber.org/protocol/muc#admin">>,
IgnoreEls, _el);
{<<"continue">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
decode_muc_admin_continue(<<"http://jabber.org/protocol/muc#admin">>,
IgnoreEls, _el);
{<<"actor">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
decode_muc_admin_actor(<<"http://jabber.org/protocol/muc#admin">>,
IgnoreEls, _el);
{<<"item">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
decode_muc_admin_item(<<"http://jabber.org/protocol/muc#admin">>,
IgnoreEls, _el);
{<<"query">>,
<<"http://jabber.org/protocol/muc#owner">>} ->
decode_muc_owner(<<"http://jabber.org/protocol/muc#owner">>,
IgnoreEls, _el);
{<<"destroy">>,
<<"http://jabber.org/protocol/muc#owner">>} ->
decode_muc_owner_destroy(<<"http://jabber.org/protocol/muc#owner">>,
IgnoreEls, _el);
{<<"reason">>,
<<"http://jabber.org/protocol/muc#owner">>} ->
decode_muc_owner_reason(<<"http://jabber.org/protocol/muc#owner">>,
IgnoreEls, _el);
{<<"password">>,
<<"http://jabber.org/protocol/muc#owner">>} ->
decode_muc_owner_password(<<"http://jabber.org/protocol/muc#owner">>,
IgnoreEls, _el);
{<<"x">>, <<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user(<<"http://jabber.org/protocol/muc#user">>,
IgnoreEls, _el);
{<<"item">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_item(<<"http://jabber.org/protocol/muc#user">>,
IgnoreEls, _el);
{<<"status">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_status(<<"http://jabber.org/protocol/muc#user">>,
IgnoreEls, _el);
{<<"continue">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_continue(<<"http://jabber.org/protocol/muc#user">>,
IgnoreEls, _el);
{<<"actor">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_actor(<<"http://jabber.org/protocol/muc#user">>,
IgnoreEls, _el);
{<<"invite">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_invite(<<"http://jabber.org/protocol/muc#user">>,
IgnoreEls, _el);
{<<"destroy">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_destroy(<<"http://jabber.org/protocol/muc#user">>,
IgnoreEls, _el);
{<<"decline">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_decline(<<"http://jabber.org/protocol/muc#user">>,
IgnoreEls, _el);
{<<"reason">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_reason(<<"http://jabber.org/protocol/muc#user">>,
IgnoreEls, _el);
{<<"history">>, <<"http://jabber.org/protocol/muc">>} ->
decode_muc_history(<<"http://jabber.org/protocol/muc">>,
IgnoreEls, _el);
{<<"query">>,
<<"http://jabber.org/protocol/bytestreams">>} ->
decode_bytestreams(<<"http://jabber.org/protocol/bytestreams">>,
IgnoreEls, _el);
{<<"activate">>,
<<"http://jabber.org/protocol/bytestreams">>} ->
decode_bytestreams_activate(<<"http://jabber.org/protocol/bytestreams">>,
IgnoreEls, _el);
{<<"streamhost-used">>,
<<"http://jabber.org/protocol/bytestreams">>} ->
decode_bytestreams_streamhost_used(<<"http://jabber.org/protocol/bytestreams">>,
IgnoreEls, _el);
{<<"streamhost">>,
<<"http://jabber.org/protocol/bytestreams">>} ->
decode_bytestreams_streamhost(<<"http://jabber.org/protocol/bytestreams">>,
IgnoreEls, _el);
{<<"x">>, <<"jabber:x:delay">>} ->
decode_legacy_delay(<<"jabber:x:delay">>, IgnoreEls,
_el);
{<<"delay">>, <<"urn:xmpp:delay">>} ->
decode_delay(<<"urn:xmpp:delay">>, IgnoreEls, _el);
{<<"paused">>,
<<"http://jabber.org/protocol/chatstates">>} ->
decode_chatstate_paused(<<"http://jabber.org/protocol/chatstates">>,
IgnoreEls, _el);
{<<"inactive">>,
<<"http://jabber.org/protocol/chatstates">>} ->
decode_chatstate_inactive(<<"http://jabber.org/protocol/chatstates">>,
IgnoreEls, _el);
{<<"gone">>,
<<"http://jabber.org/protocol/chatstates">>} ->
decode_chatstate_gone(<<"http://jabber.org/protocol/chatstates">>,
IgnoreEls, _el);
{<<"composing">>,
<<"http://jabber.org/protocol/chatstates">>} ->
decode_chatstate_composing(<<"http://jabber.org/protocol/chatstates">>,
IgnoreEls, _el);
{<<"active">>,
<<"http://jabber.org/protocol/chatstates">>} ->
decode_chatstate_active(<<"http://jabber.org/protocol/chatstates">>,
IgnoreEls, _el);
{<<"headers">>,
<<"http://jabber.org/protocol/shim">>} ->
decode_shim_headers(<<"http://jabber.org/protocol/shim">>,
IgnoreEls, _el);
{<<"header">>, <<"http://jabber.org/protocol/shim">>} ->
decode_shim_header(<<"http://jabber.org/protocol/shim">>,
IgnoreEls, _el);
{<<"pubsub">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub(<<"http://jabber.org/protocol/pubsub">>,
IgnoreEls, _el);
{<<"retract">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_retract(<<"http://jabber.org/protocol/pubsub">>,
IgnoreEls, _el);
{<<"options">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_options(<<"http://jabber.org/protocol/pubsub">>,
IgnoreEls, _el);
{<<"publish">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_publish(<<"http://jabber.org/protocol/pubsub">>,
IgnoreEls, _el);
{<<"unsubscribe">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_unsubscribe(<<"http://jabber.org/protocol/pubsub">>,
IgnoreEls, _el);
{<<"subscribe">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_subscribe(<<"http://jabber.org/protocol/pubsub">>,
IgnoreEls, _el);
{<<"affiliations">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_affiliations(<<"http://jabber.org/protocol/pubsub">>,
IgnoreEls, _el);
{<<"subscriptions">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_subscriptions(<<"http://jabber.org/protocol/pubsub">>,
IgnoreEls, _el);
{<<"event">>,
<<"http://jabber.org/protocol/pubsub#event">>} ->
decode_pubsub_event(<<"http://jabber.org/protocol/pubsub#event">>,
IgnoreEls, _el);
{<<"items">>,
<<"http://jabber.org/protocol/pubsub#event">>} ->
decode_pubsub_event_items(<<"http://jabber.org/protocol/pubsub#event">>,
IgnoreEls, _el);
{<<"item">>,
<<"http://jabber.org/protocol/pubsub#event">>} ->
decode_pubsub_event_item(<<"http://jabber.org/protocol/pubsub#event">>,
IgnoreEls, _el);
{<<"retract">>,
<<"http://jabber.org/protocol/pubsub#event">>} ->
decode_pubsub_event_retract(<<"http://jabber.org/protocol/pubsub#event">>,
IgnoreEls, _el);
{<<"items">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_items(<<"http://jabber.org/protocol/pubsub">>,
IgnoreEls, _el);
{<<"item">>, <<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_item(<<"http://jabber.org/protocol/pubsub">>,
IgnoreEls, _el);
{<<"affiliation">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_affiliation(<<"http://jabber.org/protocol/pubsub">>,
IgnoreEls, _el);
{<<"subscription">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_subscription(<<"http://jabber.org/protocol/pubsub">>,
IgnoreEls, _el);
{<<"x">>, <<"jabber:x:data">>} ->
decode_xdata(<<"jabber:x:data">>, IgnoreEls, _el);
{<<"item">>, <<"jabber:x:data">>} ->
decode_xdata_item(<<"jabber:x:data">>, IgnoreEls, _el);
{<<"reported">>, <<"jabber:x:data">>} ->
decode_xdata_reported(<<"jabber:x:data">>, IgnoreEls,
_el);
{<<"title">>, <<"jabber:x:data">>} ->
decode_xdata_title(<<"jabber:x:data">>, IgnoreEls, _el);
{<<"instructions">>, <<"jabber:x:data">>} ->
decode_xdata_instructions(<<"jabber:x:data">>,
IgnoreEls, _el);
{<<"field">>, <<"jabber:x:data">>} ->
decode_xdata_field(<<"jabber:x:data">>, IgnoreEls, _el);
{<<"option">>, <<"jabber:x:data">>} ->
decode_xdata_field_option(<<"jabber:x:data">>,
IgnoreEls, _el);
{<<"value">>, <<"jabber:x:data">>} ->
decode_xdata_field_value(<<"jabber:x:data">>, IgnoreEls,
_el);
{<<"desc">>, <<"jabber:x:data">>} ->
decode_xdata_field_desc(<<"jabber:x:data">>, IgnoreEls,
_el);
{<<"required">>, <<"jabber:x:data">>} ->
decode_xdata_field_required(<<"jabber:x:data">>,
IgnoreEls, _el);
{<<"x">>, <<"vcard-temp:x:update">>} ->
decode_vcard_xupdate(<<"vcard-temp:x:update">>,
IgnoreEls, _el);
{<<"photo">>, <<"vcard-temp:x:update">>} ->
decode_vcard_xupdate_photo(<<"vcard-temp:x:update">>,
IgnoreEls, _el);
{<<"vCard">>, <<"vcard-temp">>} ->
decode_vcard(<<"vcard-temp">>, IgnoreEls, _el);
{<<"CLASS">>, <<"vcard-temp">>} ->
decode_vcard_CLASS(<<"vcard-temp">>, IgnoreEls, _el);
{<<"CATEGORIES">>, <<"vcard-temp">>} ->
decode_vcard_CATEGORIES(<<"vcard-temp">>, IgnoreEls,
_el);
{<<"KEY">>, <<"vcard-temp">>} ->
decode_vcard_KEY(<<"vcard-temp">>, IgnoreEls, _el);
{<<"SOUND">>, <<"vcard-temp">>} ->
decode_vcard_SOUND(<<"vcard-temp">>, IgnoreEls, _el);
{<<"ORG">>, <<"vcard-temp">>} ->
decode_vcard_ORG(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PHOTO">>, <<"vcard-temp">>} ->
decode_vcard_PHOTO(<<"vcard-temp">>, IgnoreEls, _el);
{<<"LOGO">>, <<"vcard-temp">>} ->
decode_vcard_LOGO(<<"vcard-temp">>, IgnoreEls, _el);
{<<"BINVAL">>, <<"vcard-temp">>} ->
decode_vcard_BINVAL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"GEO">>, <<"vcard-temp">>} ->
decode_vcard_GEO(<<"vcard-temp">>, IgnoreEls, _el);
{<<"EMAIL">>, <<"vcard-temp">>} ->
decode_vcard_EMAIL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"TEL">>, <<"vcard-temp">>} ->
decode_vcard_TEL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"LABEL">>, <<"vcard-temp">>} ->
decode_vcard_LABEL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"ADR">>, <<"vcard-temp">>} ->
decode_vcard_ADR(<<"vcard-temp">>, IgnoreEls, _el);
{<<"N">>, <<"vcard-temp">>} ->
decode_vcard_N(<<"vcard-temp">>, IgnoreEls, _el);
{<<"CONFIDENTIAL">>, <<"vcard-temp">>} ->
decode_vcard_CONFIDENTIAL(<<"vcard-temp">>, IgnoreEls,
_el);
{<<"PRIVATE">>, <<"vcard-temp">>} ->
decode_vcard_PRIVATE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PUBLIC">>, <<"vcard-temp">>} ->
decode_vcard_PUBLIC(<<"vcard-temp">>, IgnoreEls, _el);
{<<"EXTVAL">>, <<"vcard-temp">>} ->
decode_vcard_EXTVAL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"TYPE">>, <<"vcard-temp">>} ->
decode_vcard_TYPE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"DESC">>, <<"vcard-temp">>} ->
decode_vcard_DESC(<<"vcard-temp">>, IgnoreEls, _el);
{<<"URL">>, <<"vcard-temp">>} ->
decode_vcard_URL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"UID">>, <<"vcard-temp">>} ->
decode_vcard_UID(<<"vcard-temp">>, IgnoreEls, _el);
{<<"SORT-STRING">>, <<"vcard-temp">>} ->
decode_vcard_SORT_STRING(<<"vcard-temp">>, IgnoreEls,
_el);
{<<"REV">>, <<"vcard-temp">>} ->
decode_vcard_REV(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PRODID">>, <<"vcard-temp">>} ->
decode_vcard_PRODID(<<"vcard-temp">>, IgnoreEls, _el);
{<<"NOTE">>, <<"vcard-temp">>} ->
decode_vcard_NOTE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"KEYWORD">>, <<"vcard-temp">>} ->
decode_vcard_KEYWORD(<<"vcard-temp">>, IgnoreEls, _el);
{<<"ROLE">>, <<"vcard-temp">>} ->
decode_vcard_ROLE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"TITLE">>, <<"vcard-temp">>} ->
decode_vcard_TITLE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"TZ">>, <<"vcard-temp">>} ->
decode_vcard_TZ(<<"vcard-temp">>, IgnoreEls, _el);
{<<"MAILER">>, <<"vcard-temp">>} ->
decode_vcard_MAILER(<<"vcard-temp">>, IgnoreEls, _el);
{<<"JABBERID">>, <<"vcard-temp">>} ->
decode_vcard_JABBERID(<<"vcard-temp">>, IgnoreEls, _el);
{<<"BDAY">>, <<"vcard-temp">>} ->
decode_vcard_BDAY(<<"vcard-temp">>, IgnoreEls, _el);
{<<"NICKNAME">>, <<"vcard-temp">>} ->
decode_vcard_NICKNAME(<<"vcard-temp">>, IgnoreEls, _el);
{<<"FN">>, <<"vcard-temp">>} ->
decode_vcard_FN(<<"vcard-temp">>, IgnoreEls, _el);
{<<"VERSION">>, <<"vcard-temp">>} ->
decode_vcard_VERSION(<<"vcard-temp">>, IgnoreEls, _el);
{<<"CRED">>, <<"vcard-temp">>} ->
decode_vcard_CRED(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PHONETIC">>, <<"vcard-temp">>} ->
decode_vcard_PHONETIC(<<"vcard-temp">>, IgnoreEls, _el);
{<<"ORGUNIT">>, <<"vcard-temp">>} ->
decode_vcard_ORGUNIT(<<"vcard-temp">>, IgnoreEls, _el);
{<<"ORGNAME">>, <<"vcard-temp">>} ->
decode_vcard_ORGNAME(<<"vcard-temp">>, IgnoreEls, _el);
{<<"LON">>, <<"vcard-temp">>} ->
decode_vcard_LON(<<"vcard-temp">>, IgnoreEls, _el);
{<<"LAT">>, <<"vcard-temp">>} ->
decode_vcard_LAT(<<"vcard-temp">>, IgnoreEls, _el);
{<<"USERID">>, <<"vcard-temp">>} ->
decode_vcard_USERID(<<"vcard-temp">>, IgnoreEls, _el);
{<<"NUMBER">>, <<"vcard-temp">>} ->
decode_vcard_NUMBER(<<"vcard-temp">>, IgnoreEls, _el);
{<<"LINE">>, <<"vcard-temp">>} ->
decode_vcard_LINE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"CTRY">>, <<"vcard-temp">>} ->
decode_vcard_CTRY(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PCODE">>, <<"vcard-temp">>} ->
decode_vcard_PCODE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"REGION">>, <<"vcard-temp">>} ->
decode_vcard_REGION(<<"vcard-temp">>, IgnoreEls, _el);
{<<"LOCALITY">>, <<"vcard-temp">>} ->
decode_vcard_LOCALITY(<<"vcard-temp">>, IgnoreEls, _el);
{<<"STREET">>, <<"vcard-temp">>} ->
decode_vcard_STREET(<<"vcard-temp">>, IgnoreEls, _el);
{<<"EXTADD">>, <<"vcard-temp">>} ->
decode_vcard_EXTADD(<<"vcard-temp">>, IgnoreEls, _el);
{<<"POBOX">>, <<"vcard-temp">>} ->
decode_vcard_POBOX(<<"vcard-temp">>, IgnoreEls, _el);
{<<"SUFFIX">>, <<"vcard-temp">>} ->
decode_vcard_SUFFIX(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PREFIX">>, <<"vcard-temp">>} ->
decode_vcard_PREFIX(<<"vcard-temp">>, IgnoreEls, _el);
{<<"MIDDLE">>, <<"vcard-temp">>} ->
decode_vcard_MIDDLE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"GIVEN">>, <<"vcard-temp">>} ->
decode_vcard_GIVEN(<<"vcard-temp">>, IgnoreEls, _el);
{<<"FAMILY">>, <<"vcard-temp">>} ->
decode_vcard_FAMILY(<<"vcard-temp">>, IgnoreEls, _el);
{<<"X400">>, <<"vcard-temp">>} ->
decode_vcard_X400(<<"vcard-temp">>, IgnoreEls, _el);
{<<"INTERNET">>, <<"vcard-temp">>} ->
decode_vcard_INTERNET(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PREF">>, <<"vcard-temp">>} ->
decode_vcard_PREF(<<"vcard-temp">>, IgnoreEls, _el);
{<<"INTL">>, <<"vcard-temp">>} ->
decode_vcard_INTL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"DOM">>, <<"vcard-temp">>} ->
decode_vcard_DOM(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PARCEL">>, <<"vcard-temp">>} ->
decode_vcard_PARCEL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"POSTAL">>, <<"vcard-temp">>} ->
decode_vcard_POSTAL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PCS">>, <<"vcard-temp">>} ->
decode_vcard_PCS(<<"vcard-temp">>, IgnoreEls, _el);
{<<"ISDN">>, <<"vcard-temp">>} ->
decode_vcard_ISDN(<<"vcard-temp">>, IgnoreEls, _el);
{<<"MODEM">>, <<"vcard-temp">>} ->
decode_vcard_MODEM(<<"vcard-temp">>, IgnoreEls, _el);
{<<"BBS">>, <<"vcard-temp">>} ->
decode_vcard_BBS(<<"vcard-temp">>, IgnoreEls, _el);
{<<"VIDEO">>, <<"vcard-temp">>} ->
decode_vcard_VIDEO(<<"vcard-temp">>, IgnoreEls, _el);
{<<"CELL">>, <<"vcard-temp">>} ->
decode_vcard_CELL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"MSG">>, <<"vcard-temp">>} ->
decode_vcard_MSG(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PAGER">>, <<"vcard-temp">>} ->
decode_vcard_PAGER(<<"vcard-temp">>, IgnoreEls, _el);
{<<"FAX">>, <<"vcard-temp">>} ->
decode_vcard_FAX(<<"vcard-temp">>, IgnoreEls, _el);
{<<"VOICE">>, <<"vcard-temp">>} ->
decode_vcard_VOICE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"WORK">>, <<"vcard-temp">>} ->
decode_vcard_WORK(<<"vcard-temp">>, IgnoreEls, _el);
{<<"HOME">>, <<"vcard-temp">>} ->
decode_vcard_HOME(<<"vcard-temp">>, IgnoreEls, _el);
{<<"stream:error">>,
<<"http://etherx.jabber.org/streams">>} ->
decode_stream_error(<<"http://etherx.jabber.org/streams">>,
IgnoreEls, _el);
{<<"unsupported-version">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_unsupported_version(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"unsupported-stanza-type">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_unsupported_stanza_type(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"unsupported-encoding">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_unsupported_encoding(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"undefined-condition">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_undefined_condition(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"system-shutdown">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_system_shutdown(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"see-other-host">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_see_other_host(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"restricted-xml">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_restricted_xml(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"resource-constraint">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_resource_constraint(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"reset">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_reset(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"remote-connection-failed">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_remote_connection_failed(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"policy-violation">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_policy_violation(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"not-well-formed">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_not_well_formed(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"not-authorized">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_not_authorized(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"invalid-xml">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_invalid_xml(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"invalid-namespace">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_invalid_namespace(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"invalid-id">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_invalid_id(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"invalid-from">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_invalid_from(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"internal-server-error">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_internal_server_error(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"improper-addressing">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_improper_addressing(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"host-unknown">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_host_unknown(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"host-gone">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_host_gone(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"connection-timeout">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_connection_timeout(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"conflict">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_conflict(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"bad-namespace-prefix">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_bad_namespace_prefix(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"bad-format">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_bad_format(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"text">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_text(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
IgnoreEls, _el);
{<<"time">>, <<"urn:xmpp:time">>} ->
decode_time(<<"urn:xmpp:time">>, IgnoreEls, _el);
{<<"tzo">>, <<"urn:xmpp:time">>} ->
decode_time_tzo(<<"urn:xmpp:time">>, IgnoreEls, _el);
{<<"utc">>, <<"urn:xmpp:time">>} ->
decode_time_utc(<<"urn:xmpp:time">>, IgnoreEls, _el);
{<<"ping">>, <<"urn:xmpp:ping">>} ->
decode_ping(<<"urn:xmpp:ping">>, IgnoreEls, _el);
{<<"session">>,
<<"urn:ietf:params:xml:ns:xmpp-session">>} ->
decode_session(<<"urn:ietf:params:xml:ns:xmpp-session">>,
IgnoreEls, _el);
{<<"query">>, <<"jabber:iq:register">>} ->
decode_register(<<"jabber:iq:register">>, IgnoreEls,
_el);
{<<"key">>, <<"jabber:iq:register">>} ->
decode_register_key(<<"jabber:iq:register">>, IgnoreEls,
_el);
{<<"text">>, <<"jabber:iq:register">>} ->
decode_register_text(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"misc">>, <<"jabber:iq:register">>} ->
decode_register_misc(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"date">>, <<"jabber:iq:register">>} ->
decode_register_date(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"url">>, <<"jabber:iq:register">>} ->
decode_register_url(<<"jabber:iq:register">>, IgnoreEls,
_el);
{<<"phone">>, <<"jabber:iq:register">>} ->
decode_register_phone(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"zip">>, <<"jabber:iq:register">>} ->
decode_register_zip(<<"jabber:iq:register">>, IgnoreEls,
_el);
{<<"state">>, <<"jabber:iq:register">>} ->
decode_register_state(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"city">>, <<"jabber:iq:register">>} ->
decode_register_city(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"address">>, <<"jabber:iq:register">>} ->
decode_register_address(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"email">>, <<"jabber:iq:register">>} ->
decode_register_email(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"last">>, <<"jabber:iq:register">>} ->
decode_register_last(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"first">>, <<"jabber:iq:register">>} ->
decode_register_first(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"name">>, <<"jabber:iq:register">>} ->
decode_register_name(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"password">>, <<"jabber:iq:register">>} ->
decode_register_password(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"nick">>, <<"jabber:iq:register">>} ->
decode_register_nick(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"username">>, <<"jabber:iq:register">>} ->
decode_register_username(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"instructions">>, <<"jabber:iq:register">>} ->
decode_register_instructions(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"remove">>, <<"jabber:iq:register">>} ->
decode_register_remove(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"registered">>, <<"jabber:iq:register">>} ->
decode_register_registered(<<"jabber:iq:register">>,
IgnoreEls, _el);
{<<"register">>,
<<"http://jabber.org/features/iq-register">>} ->
decode_feature_register(<<"http://jabber.org/features/iq-register">>,
IgnoreEls, _el);
{<<"c">>, <<"http://jabber.org/protocol/caps">>} ->
decode_caps(<<"http://jabber.org/protocol/caps">>,
IgnoreEls, _el);
{<<"ack">>, <<"p1:ack">>} ->
decode_p1_ack(<<"p1:ack">>, IgnoreEls, _el);
{<<"rebind">>, <<"p1:rebind">>} ->
decode_p1_rebind(<<"p1:rebind">>, IgnoreEls, _el);
{<<"push">>, <<"p1:push">>} ->
decode_p1_push(<<"p1:push">>, IgnoreEls, _el);
{<<"stream:features">>,
<<"http://etherx.jabber.org/streams">>} ->
decode_stream_features(<<"http://etherx.jabber.org/streams">>,
IgnoreEls, _el);
{<<"compression">>,
<<"http://jabber.org/features/compress">>} ->
decode_compression(<<"http://jabber.org/features/compress">>,
IgnoreEls, _el);
{<<"method">>,
<<"http://jabber.org/features/compress">>} ->
decode_compression_method(<<"http://jabber.org/features/compress">>,
IgnoreEls, _el);
{<<"compressed">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compressed(<<"http://jabber.org/protocol/compress">>,
IgnoreEls, _el);
{<<"compress">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compress(<<"http://jabber.org/protocol/compress">>,
IgnoreEls, _el);
{<<"method">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compress_method(<<"http://jabber.org/protocol/compress">>,
IgnoreEls, _el);
{<<"failure">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compress_failure(<<"http://jabber.org/protocol/compress">>,
IgnoreEls, _el);
{<<"unsupported-method">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compress_failure_unsupported_method(<<"http://jabber.org/protocol/compress">>,
IgnoreEls, _el);
{<<"processing-failed">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compress_failure_processing_failed(<<"http://jabber.org/protocol/compress">>,
IgnoreEls, _el);
{<<"setup-failed">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compress_failure_setup_failed(<<"http://jabber.org/protocol/compress">>,
IgnoreEls, _el);
{<<"failure">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>} ->
decode_starttls_failure(<<"urn:ietf:params:xml:ns:xmpp-tls">>,
IgnoreEls, _el);
{<<"proceed">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>} ->
decode_starttls_proceed(<<"urn:ietf:params:xml:ns:xmpp-tls">>,
IgnoreEls, _el);
{<<"starttls">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>} ->
decode_starttls(<<"urn:ietf:params:xml:ns:xmpp-tls">>,
IgnoreEls, _el);
{<<"required">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>} ->
decode_starttls_required(<<"urn:ietf:params:xml:ns:xmpp-tls">>,
IgnoreEls, _el);
{<<"mechanisms">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_mechanisms(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"mechanism">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_mechanism(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"failure">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"temporary-auth-failure">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_temporary_auth_failure(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"not-authorized">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_not_authorized(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"mechanism-too-weak">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_mechanism_too_weak(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"malformed-request">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_malformed_request(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"invalid-mechanism">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_invalid_mechanism(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"invalid-authzid">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_invalid_authzid(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"incorrect-encoding">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_incorrect_encoding(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"encryption-required">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_encryption_required(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"credentials-expired">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_credentials_expired(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"account-disabled">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_account_disabled(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"aborted">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_aborted(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"text">>, <<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_text(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"success">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_success(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"response">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_response(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"challenge">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_challenge(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"abort">>, <<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_abort(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"auth">>, <<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_auth(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
IgnoreEls, _el);
{<<"bind">>, <<"urn:ietf:params:xml:ns:xmpp-bind">>} ->
decode_bind(<<"urn:ietf:params:xml:ns:xmpp-bind">>,
IgnoreEls, _el);
{<<"resource">>,
<<"urn:ietf:params:xml:ns:xmpp-bind">>} ->
decode_bind_resource(<<"urn:ietf:params:xml:ns:xmpp-bind">>,
IgnoreEls, _el);
{<<"jid">>, <<"urn:ietf:params:xml:ns:xmpp-bind">>} ->
decode_bind_jid(<<"urn:ietf:params:xml:ns:xmpp-bind">>,
IgnoreEls, _el);
{<<"error">>, <<"jabber:client">>} ->
decode_error(<<"jabber:client">>, IgnoreEls, _el);
{<<"text">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_text(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"unexpected-request">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_unexpected_request(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"undefined-condition">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_undefined_condition(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"subscription-required">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_subscription_required(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"service-unavailable">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_service_unavailable(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"resource-constraint">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_resource_constraint(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"remote-server-timeout">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_remote_server_timeout(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"remote-server-not-found">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_remote_server_not_found(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"registration-required">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_registration_required(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"redirect">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_redirect(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"recipient-unavailable">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_recipient_unavailable(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"policy-violation">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_policy_violation(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"not-authorized">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_not_authorized(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"not-allowed">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_not_allowed(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"not-acceptable">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_not_acceptable(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"jid-malformed">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_jid_malformed(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"item-not-found">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_item_not_found(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"internal-server-error">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_internal_server_error(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"gone">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_gone(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"forbidden">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_forbidden(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"feature-not-implemented">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_feature_not_implemented(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"conflict">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_conflict(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"bad-request">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_bad_request(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
IgnoreEls, _el);
{<<"presence">>, <<"jabber:client">>} ->
decode_presence(<<"jabber:client">>, IgnoreEls, _el);
{<<"priority">>, <<"jabber:client">>} ->
decode_presence_priority(<<"jabber:client">>, IgnoreEls,
_el);
{<<"status">>, <<"jabber:client">>} ->
decode_presence_status(<<"jabber:client">>, IgnoreEls,
_el);
{<<"show">>, <<"jabber:client">>} ->
decode_presence_show(<<"jabber:client">>, IgnoreEls,
_el);
{<<"message">>, <<"jabber:client">>} ->
decode_message(<<"jabber:client">>, IgnoreEls, _el);
{<<"thread">>, <<"jabber:client">>} ->
decode_message_thread(<<"jabber:client">>, IgnoreEls,
_el);
{<<"body">>, <<"jabber:client">>} ->
decode_message_body(<<"jabber:client">>, IgnoreEls,
_el);
{<<"subject">>, <<"jabber:client">>} ->
decode_message_subject(<<"jabber:client">>, IgnoreEls,
_el);
{<<"iq">>, <<"jabber:client">>} ->
decode_iq(<<"jabber:client">>, IgnoreEls, _el);
{<<"query">>, <<"http://jabber.org/protocol/stats">>} ->
decode_stats(<<"http://jabber.org/protocol/stats">>,
IgnoreEls, _el);
{<<"stat">>, <<"http://jabber.org/protocol/stats">>} ->
decode_stat(<<"http://jabber.org/protocol/stats">>,
IgnoreEls, _el);
{<<"error">>, <<"http://jabber.org/protocol/stats">>} ->
decode_stat_error(<<"http://jabber.org/protocol/stats">>,
IgnoreEls, _el);
{<<"storage">>, <<"storage:bookmarks">>} ->
decode_bookmarks_storage(<<"storage:bookmarks">>,
IgnoreEls, _el);
{<<"url">>, <<"storage:bookmarks">>} ->
decode_bookmark_url(<<"storage:bookmarks">>, IgnoreEls,
_el);
{<<"conference">>, <<"storage:bookmarks">>} ->
decode_bookmark_conference(<<"storage:bookmarks">>,
IgnoreEls, _el);
{<<"password">>, <<"storage:bookmarks">>} ->
decode_conference_password(<<"storage:bookmarks">>,
IgnoreEls, _el);
{<<"nick">>, <<"storage:bookmarks">>} ->
decode_conference_nick(<<"storage:bookmarks">>,
IgnoreEls, _el);
{<<"query">>, <<"jabber:iq:private">>} ->
decode_private(<<"jabber:iq:private">>, IgnoreEls, _el);
{<<"query">>,
<<"http://jabber.org/protocol/disco#items">>} ->
decode_disco_items(<<"http://jabber.org/protocol/disco#items">>,
IgnoreEls, _el);
{<<"item">>,
<<"http://jabber.org/protocol/disco#items">>} ->
decode_disco_item(<<"http://jabber.org/protocol/disco#items">>,
IgnoreEls, _el);
{<<"query">>,
<<"http://jabber.org/protocol/disco#info">>} ->
decode_disco_info(<<"http://jabber.org/protocol/disco#info">>,
IgnoreEls, _el);
{<<"feature">>,
<<"http://jabber.org/protocol/disco#info">>} ->
decode_disco_feature(<<"http://jabber.org/protocol/disco#info">>,
IgnoreEls, _el);
{<<"identity">>,
<<"http://jabber.org/protocol/disco#info">>} ->
decode_disco_identity(<<"http://jabber.org/protocol/disco#info">>,
IgnoreEls, _el);
{<<"blocklist">>, <<"urn:xmpp:blocking">>} ->
decode_block_list(<<"urn:xmpp:blocking">>, IgnoreEls,
_el);
{<<"unblock">>, <<"urn:xmpp:blocking">>} ->
decode_unblock(<<"urn:xmpp:blocking">>, IgnoreEls, _el);
{<<"block">>, <<"urn:xmpp:blocking">>} ->
decode_block(<<"urn:xmpp:blocking">>, IgnoreEls, _el);
{<<"item">>, <<"urn:xmpp:blocking">>} ->
decode_block_item(<<"urn:xmpp:blocking">>, IgnoreEls,
_el);
{<<"query">>, <<"jabber:iq:privacy">>} ->
decode_privacy(<<"jabber:iq:privacy">>, IgnoreEls, _el);
{<<"active">>, <<"jabber:iq:privacy">>} ->
decode_privacy_active_list(<<"jabber:iq:privacy">>,
IgnoreEls, _el);
{<<"default">>, <<"jabber:iq:privacy">>} ->
decode_privacy_default_list(<<"jabber:iq:privacy">>,
IgnoreEls, _el);
{<<"list">>, <<"jabber:iq:privacy">>} ->
decode_privacy_list(<<"jabber:iq:privacy">>, IgnoreEls,
_el);
{<<"item">>, <<"jabber:iq:privacy">>} ->
decode_privacy_item(<<"jabber:iq:privacy">>, IgnoreEls,
_el);
{<<"presence-out">>, <<"jabber:iq:privacy">>} ->
decode_privacy_presence_out(<<"jabber:iq:privacy">>,
IgnoreEls, _el);
{<<"presence-in">>, <<"jabber:iq:privacy">>} ->
decode_privacy_presence_in(<<"jabber:iq:privacy">>,
IgnoreEls, _el);
{<<"iq">>, <<"jabber:iq:privacy">>} ->
decode_privacy_iq(<<"jabber:iq:privacy">>, IgnoreEls,
_el);
{<<"message">>, <<"jabber:iq:privacy">>} ->
decode_privacy_message(<<"jabber:iq:privacy">>,
IgnoreEls, _el);
{<<"query">>, <<"jabber:iq:roster">>} ->
decode_roster(<<"jabber:iq:roster">>, IgnoreEls, _el);
{<<"item">>, <<"jabber:iq:roster">>} ->
decode_roster_item(<<"jabber:iq:roster">>, IgnoreEls,
_el);
{<<"group">>, <<"jabber:iq:roster">>} ->
decode_roster_group(<<"jabber:iq:roster">>, IgnoreEls,
_el);
{<<"query">>, <<"jabber:iq:version">>} ->
decode_version(<<"jabber:iq:version">>, IgnoreEls, _el);
{<<"os">>, <<"jabber:iq:version">>} ->
decode_version_os(<<"jabber:iq:version">>, IgnoreEls,
_el);
{<<"version">>, <<"jabber:iq:version">>} ->
decode_version_ver(<<"jabber:iq:version">>, IgnoreEls,
_el);
{<<"name">>, <<"jabber:iq:version">>} ->
decode_version_name(<<"jabber:iq:version">>, IgnoreEls,
_el);
{<<"query">>, <<"jabber:iq:last">>} ->
decode_last(<<"jabber:iq:last">>, IgnoreEls, _el);
{_name, _xmlns} ->
erlang:error({xmpp_codec, {unknown_tag, _name, _xmlns}})
end.
is_known_tag({xmlel, _name, _attrs, _} = _el) ->
case {_name, get_attr(<<"xmlns">>, _attrs)} of
{<<"failed">>, <<"urn:xmpp:sm:2">>} -> true;
{<<"failed">>, <<"urn:xmpp:sm:3">>} -> true;
{<<"a">>, <<"urn:xmpp:sm:2">>} -> true;
{<<"a">>, <<"urn:xmpp:sm:3">>} -> true;
{<<"r">>, <<"urn:xmpp:sm:2">>} -> true;
{<<"r">>, <<"urn:xmpp:sm:3">>} -> true;
{<<"resumed">>, <<"urn:xmpp:sm:2">>} -> true;
{<<"resumed">>, <<"urn:xmpp:sm:3">>} -> true;
{<<"resume">>, <<"urn:xmpp:sm:2">>} -> true;
{<<"resume">>, <<"urn:xmpp:sm:3">>} -> true;
{<<"enabled">>, <<"urn:xmpp:sm:2">>} -> true;
{<<"enabled">>, <<"urn:xmpp:sm:3">>} -> true;
{<<"enable">>, <<"urn:xmpp:sm:2">>} -> true;
{<<"enable">>, <<"urn:xmpp:sm:3">>} -> true;
{<<"sm">>, <<"urn:xmpp:sm:2">>} -> true;
{<<"sm">>, <<"urn:xmpp:sm:3">>} -> true;
{<<"inactive">>, <<"urn:xmpp:csi:0">>} -> true;
{<<"active">>, <<"urn:xmpp:csi:0">>} -> true;
{<<"csi">>, <<"urn:xmpp:csi:0">>} -> true;
{<<"sent">>, <<"urn:xmpp:carbons:2">>} -> true;
{<<"received">>, <<"urn:xmpp:carbons:2">>} -> true;
{<<"private">>, <<"urn:xmpp:carbons:2">>} -> true;
{<<"enable">>, <<"urn:xmpp:carbons:2">>} -> true;
{<<"disable">>, <<"urn:xmpp:carbons:2">>} -> true;
{<<"forwarded">>, <<"urn:xmpp:forward:0">>} -> true;
{<<"x">>, <<"http://jabber.org/protocol/muc">>} -> true;
{<<"query">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
true;
{<<"reason">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
true;
{<<"continue">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
true;
{<<"actor">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
true;
{<<"item">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
true;
{<<"query">>,
<<"http://jabber.org/protocol/muc#owner">>} ->
true;
{<<"destroy">>,
<<"http://jabber.org/protocol/muc#owner">>} ->
true;
{<<"reason">>,
<<"http://jabber.org/protocol/muc#owner">>} ->
true;
{<<"password">>,
<<"http://jabber.org/protocol/muc#owner">>} ->
true;
{<<"x">>, <<"http://jabber.org/protocol/muc#user">>} ->
true;
{<<"item">>,
<<"http://jabber.org/protocol/muc#user">>} ->
true;
{<<"status">>,
<<"http://jabber.org/protocol/muc#user">>} ->
true;
{<<"continue">>,
<<"http://jabber.org/protocol/muc#user">>} ->
true;
{<<"actor">>,
<<"http://jabber.org/protocol/muc#user">>} ->
true;
{<<"invite">>,
<<"http://jabber.org/protocol/muc#user">>} ->
true;
{<<"destroy">>,
<<"http://jabber.org/protocol/muc#user">>} ->
true;
{<<"decline">>,
<<"http://jabber.org/protocol/muc#user">>} ->
true;
{<<"reason">>,
<<"http://jabber.org/protocol/muc#user">>} ->
true;
{<<"history">>, <<"http://jabber.org/protocol/muc">>} ->
true;
{<<"query">>,
<<"http://jabber.org/protocol/bytestreams">>} ->
true;
{<<"activate">>,
<<"http://jabber.org/protocol/bytestreams">>} ->
true;
{<<"streamhost-used">>,
<<"http://jabber.org/protocol/bytestreams">>} ->
true;
{<<"streamhost">>,
<<"http://jabber.org/protocol/bytestreams">>} ->
true;
{<<"x">>, <<"jabber:x:delay">>} -> true;
{<<"delay">>, <<"urn:xmpp:delay">>} -> true;
{<<"paused">>,
<<"http://jabber.org/protocol/chatstates">>} ->
true;
{<<"inactive">>,
<<"http://jabber.org/protocol/chatstates">>} ->
true;
{<<"gone">>,
<<"http://jabber.org/protocol/chatstates">>} ->
true;
{<<"composing">>,
<<"http://jabber.org/protocol/chatstates">>} ->
true;
{<<"active">>,
<<"http://jabber.org/protocol/chatstates">>} ->
true;
{<<"headers">>,
<<"http://jabber.org/protocol/shim">>} ->
true;
{<<"header">>, <<"http://jabber.org/protocol/shim">>} ->
true;
{<<"pubsub">>,
<<"http://jabber.org/protocol/pubsub">>} ->
true;
{<<"retract">>,
<<"http://jabber.org/protocol/pubsub">>} ->
true;
{<<"options">>,
<<"http://jabber.org/protocol/pubsub">>} ->
true;
{<<"publish">>,
<<"http://jabber.org/protocol/pubsub">>} ->
true;
{<<"unsubscribe">>,
<<"http://jabber.org/protocol/pubsub">>} ->
true;
{<<"subscribe">>,
<<"http://jabber.org/protocol/pubsub">>} ->
true;
{<<"affiliations">>,
<<"http://jabber.org/protocol/pubsub">>} ->
true;
{<<"subscriptions">>,
<<"http://jabber.org/protocol/pubsub">>} ->
true;
{<<"event">>,
<<"http://jabber.org/protocol/pubsub#event">>} ->
true;
{<<"items">>,
<<"http://jabber.org/protocol/pubsub#event">>} ->
true;
{<<"item">>,
<<"http://jabber.org/protocol/pubsub#event">>} ->
true;
{<<"retract">>,
<<"http://jabber.org/protocol/pubsub#event">>} ->
true;
{<<"items">>,
<<"http://jabber.org/protocol/pubsub">>} ->
true;
{<<"item">>, <<"http://jabber.org/protocol/pubsub">>} ->
true;
{<<"affiliation">>,
<<"http://jabber.org/protocol/pubsub">>} ->
true;
{<<"subscription">>,
<<"http://jabber.org/protocol/pubsub">>} ->
true;
{<<"x">>, <<"jabber:x:data">>} -> true;
{<<"item">>, <<"jabber:x:data">>} -> true;
{<<"reported">>, <<"jabber:x:data">>} -> true;
{<<"title">>, <<"jabber:x:data">>} -> true;
{<<"instructions">>, <<"jabber:x:data">>} -> true;
{<<"field">>, <<"jabber:x:data">>} -> true;
{<<"option">>, <<"jabber:x:data">>} -> true;
{<<"value">>, <<"jabber:x:data">>} -> true;
{<<"desc">>, <<"jabber:x:data">>} -> true;
{<<"required">>, <<"jabber:x:data">>} -> true;
{<<"x">>, <<"vcard-temp:x:update">>} -> true;
{<<"photo">>, <<"vcard-temp:x:update">>} -> true;
{<<"vCard">>, <<"vcard-temp">>} -> true;
{<<"CLASS">>, <<"vcard-temp">>} -> true;
{<<"CATEGORIES">>, <<"vcard-temp">>} -> true;
{<<"KEY">>, <<"vcard-temp">>} -> true;
{<<"SOUND">>, <<"vcard-temp">>} -> true;
{<<"ORG">>, <<"vcard-temp">>} -> true;
{<<"PHOTO">>, <<"vcard-temp">>} -> true;
{<<"LOGO">>, <<"vcard-temp">>} -> true;
{<<"BINVAL">>, <<"vcard-temp">>} -> true;
{<<"GEO">>, <<"vcard-temp">>} -> true;
{<<"EMAIL">>, <<"vcard-temp">>} -> true;
{<<"TEL">>, <<"vcard-temp">>} -> true;
{<<"LABEL">>, <<"vcard-temp">>} -> true;
{<<"ADR">>, <<"vcard-temp">>} -> true;
{<<"N">>, <<"vcard-temp">>} -> true;
{<<"CONFIDENTIAL">>, <<"vcard-temp">>} -> true;
{<<"PRIVATE">>, <<"vcard-temp">>} -> true;
{<<"PUBLIC">>, <<"vcard-temp">>} -> true;
{<<"EXTVAL">>, <<"vcard-temp">>} -> true;
{<<"TYPE">>, <<"vcard-temp">>} -> true;
{<<"DESC">>, <<"vcard-temp">>} -> true;
{<<"URL">>, <<"vcard-temp">>} -> true;
{<<"UID">>, <<"vcard-temp">>} -> true;
{<<"SORT-STRING">>, <<"vcard-temp">>} -> true;
{<<"REV">>, <<"vcard-temp">>} -> true;
{<<"PRODID">>, <<"vcard-temp">>} -> true;
{<<"NOTE">>, <<"vcard-temp">>} -> true;
{<<"KEYWORD">>, <<"vcard-temp">>} -> true;
{<<"ROLE">>, <<"vcard-temp">>} -> true;
{<<"TITLE">>, <<"vcard-temp">>} -> true;
{<<"TZ">>, <<"vcard-temp">>} -> true;
{<<"MAILER">>, <<"vcard-temp">>} -> true;
{<<"JABBERID">>, <<"vcard-temp">>} -> true;
{<<"BDAY">>, <<"vcard-temp">>} -> true;
{<<"NICKNAME">>, <<"vcard-temp">>} -> true;
{<<"FN">>, <<"vcard-temp">>} -> true;
{<<"VERSION">>, <<"vcard-temp">>} -> true;
{<<"CRED">>, <<"vcard-temp">>} -> true;
{<<"PHONETIC">>, <<"vcard-temp">>} -> true;
{<<"ORGUNIT">>, <<"vcard-temp">>} -> true;
{<<"ORGNAME">>, <<"vcard-temp">>} -> true;
{<<"LON">>, <<"vcard-temp">>} -> true;
{<<"LAT">>, <<"vcard-temp">>} -> true;
{<<"USERID">>, <<"vcard-temp">>} -> true;
{<<"NUMBER">>, <<"vcard-temp">>} -> true;
{<<"LINE">>, <<"vcard-temp">>} -> true;
{<<"CTRY">>, <<"vcard-temp">>} -> true;
{<<"PCODE">>, <<"vcard-temp">>} -> true;
{<<"REGION">>, <<"vcard-temp">>} -> true;
{<<"LOCALITY">>, <<"vcard-temp">>} -> true;
{<<"STREET">>, <<"vcard-temp">>} -> true;
{<<"EXTADD">>, <<"vcard-temp">>} -> true;
{<<"POBOX">>, <<"vcard-temp">>} -> true;
{<<"SUFFIX">>, <<"vcard-temp">>} -> true;
{<<"PREFIX">>, <<"vcard-temp">>} -> true;
{<<"MIDDLE">>, <<"vcard-temp">>} -> true;
{<<"GIVEN">>, <<"vcard-temp">>} -> true;
{<<"FAMILY">>, <<"vcard-temp">>} -> true;
{<<"X400">>, <<"vcard-temp">>} -> true;
{<<"INTERNET">>, <<"vcard-temp">>} -> true;
{<<"PREF">>, <<"vcard-temp">>} -> true;
{<<"INTL">>, <<"vcard-temp">>} -> true;
{<<"DOM">>, <<"vcard-temp">>} -> true;
{<<"PARCEL">>, <<"vcard-temp">>} -> true;
{<<"POSTAL">>, <<"vcard-temp">>} -> true;
{<<"PCS">>, <<"vcard-temp">>} -> true;
{<<"ISDN">>, <<"vcard-temp">>} -> true;
{<<"MODEM">>, <<"vcard-temp">>} -> true;
{<<"BBS">>, <<"vcard-temp">>} -> true;
{<<"VIDEO">>, <<"vcard-temp">>} -> true;
{<<"CELL">>, <<"vcard-temp">>} -> true;
{<<"MSG">>, <<"vcard-temp">>} -> true;
{<<"PAGER">>, <<"vcard-temp">>} -> true;
{<<"FAX">>, <<"vcard-temp">>} -> true;
{<<"VOICE">>, <<"vcard-temp">>} -> true;
{<<"WORK">>, <<"vcard-temp">>} -> true;
{<<"HOME">>, <<"vcard-temp">>} -> true;
{<<"stream:error">>,
<<"http://etherx.jabber.org/streams">>} ->
true;
{<<"unsupported-version">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"unsupported-stanza-type">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"unsupported-encoding">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"undefined-condition">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"system-shutdown">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"see-other-host">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"restricted-xml">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"resource-constraint">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"reset">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"remote-connection-failed">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"policy-violation">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"not-well-formed">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"not-authorized">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"invalid-xml">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"invalid-namespace">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"invalid-id">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"invalid-from">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"internal-server-error">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"improper-addressing">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"host-unknown">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"host-gone">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"connection-timeout">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"conflict">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"bad-namespace-prefix">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"bad-format">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"text">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
true;
{<<"time">>, <<"urn:xmpp:time">>} -> true;
{<<"tzo">>, <<"urn:xmpp:time">>} -> true;
{<<"utc">>, <<"urn:xmpp:time">>} -> true;
{<<"ping">>, <<"urn:xmpp:ping">>} -> true;
{<<"session">>,
<<"urn:ietf:params:xml:ns:xmpp-session">>} ->
true;
{<<"query">>, <<"jabber:iq:register">>} -> true;
{<<"key">>, <<"jabber:iq:register">>} -> true;
{<<"text">>, <<"jabber:iq:register">>} -> true;
{<<"misc">>, <<"jabber:iq:register">>} -> true;
{<<"date">>, <<"jabber:iq:register">>} -> true;
{<<"url">>, <<"jabber:iq:register">>} -> true;
{<<"phone">>, <<"jabber:iq:register">>} -> true;
{<<"zip">>, <<"jabber:iq:register">>} -> true;
{<<"state">>, <<"jabber:iq:register">>} -> true;
{<<"city">>, <<"jabber:iq:register">>} -> true;
{<<"address">>, <<"jabber:iq:register">>} -> true;
{<<"email">>, <<"jabber:iq:register">>} -> true;
{<<"last">>, <<"jabber:iq:register">>} -> true;
{<<"first">>, <<"jabber:iq:register">>} -> true;
{<<"name">>, <<"jabber:iq:register">>} -> true;
{<<"password">>, <<"jabber:iq:register">>} -> true;
{<<"nick">>, <<"jabber:iq:register">>} -> true;
{<<"username">>, <<"jabber:iq:register">>} -> true;
{<<"instructions">>, <<"jabber:iq:register">>} -> true;
{<<"remove">>, <<"jabber:iq:register">>} -> true;
{<<"registered">>, <<"jabber:iq:register">>} -> true;
{<<"register">>,
<<"http://jabber.org/features/iq-register">>} ->
true;
{<<"c">>, <<"http://jabber.org/protocol/caps">>} ->
true;
{<<"ack">>, <<"p1:ack">>} -> true;
{<<"rebind">>, <<"p1:rebind">>} -> true;
{<<"push">>, <<"p1:push">>} -> true;
{<<"stream:features">>,
<<"http://etherx.jabber.org/streams">>} ->
true;
{<<"compression">>,
<<"http://jabber.org/features/compress">>} ->
true;
{<<"method">>,
<<"http://jabber.org/features/compress">>} ->
true;
{<<"compressed">>,
<<"http://jabber.org/protocol/compress">>} ->
true;
{<<"compress">>,
<<"http://jabber.org/protocol/compress">>} ->
true;
{<<"method">>,
<<"http://jabber.org/protocol/compress">>} ->
true;
{<<"failure">>,
<<"http://jabber.org/protocol/compress">>} ->
true;
{<<"unsupported-method">>,
<<"http://jabber.org/protocol/compress">>} ->
true;
{<<"processing-failed">>,
<<"http://jabber.org/protocol/compress">>} ->
true;
{<<"setup-failed">>,
<<"http://jabber.org/protocol/compress">>} ->
true;
{<<"failure">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>} ->
true;
{<<"proceed">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>} ->
true;
{<<"starttls">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>} ->
true;
{<<"required">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>} ->
true;
{<<"mechanisms">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"mechanism">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"failure">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"temporary-auth-failure">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"not-authorized">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"mechanism-too-weak">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"malformed-request">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"invalid-mechanism">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"invalid-authzid">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"incorrect-encoding">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"encryption-required">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"credentials-expired">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"account-disabled">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"aborted">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"text">>, <<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"success">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"response">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"challenge">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"abort">>, <<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"auth">>, <<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
true;
{<<"bind">>, <<"urn:ietf:params:xml:ns:xmpp-bind">>} ->
true;
{<<"resource">>,
<<"urn:ietf:params:xml:ns:xmpp-bind">>} ->
true;
{<<"jid">>, <<"urn:ietf:params:xml:ns:xmpp-bind">>} ->
true;
{<<"error">>, <<"jabber:client">>} -> true;
{<<"text">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"unexpected-request">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"undefined-condition">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"subscription-required">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"service-unavailable">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"resource-constraint">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"remote-server-timeout">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"remote-server-not-found">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"registration-required">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"redirect">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"recipient-unavailable">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"policy-violation">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"not-authorized">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"not-allowed">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"not-acceptable">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"jid-malformed">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"item-not-found">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"internal-server-error">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"gone">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"forbidden">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"feature-not-implemented">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"conflict">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"bad-request">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
true;
{<<"presence">>, <<"jabber:client">>} -> true;
{<<"priority">>, <<"jabber:client">>} -> true;
{<<"status">>, <<"jabber:client">>} -> true;
{<<"show">>, <<"jabber:client">>} -> true;
{<<"message">>, <<"jabber:client">>} -> true;
{<<"thread">>, <<"jabber:client">>} -> true;
{<<"body">>, <<"jabber:client">>} -> true;
{<<"subject">>, <<"jabber:client">>} -> true;
{<<"iq">>, <<"jabber:client">>} -> true;
{<<"query">>, <<"http://jabber.org/protocol/stats">>} ->
true;
{<<"stat">>, <<"http://jabber.org/protocol/stats">>} ->
true;
{<<"error">>, <<"http://jabber.org/protocol/stats">>} ->
true;
{<<"storage">>, <<"storage:bookmarks">>} -> true;
{<<"url">>, <<"storage:bookmarks">>} -> true;
{<<"conference">>, <<"storage:bookmarks">>} -> true;
{<<"password">>, <<"storage:bookmarks">>} -> true;
{<<"nick">>, <<"storage:bookmarks">>} -> true;
{<<"query">>, <<"jabber:iq:private">>} -> true;
{<<"query">>,
<<"http://jabber.org/protocol/disco#items">>} ->
true;
{<<"item">>,
<<"http://jabber.org/protocol/disco#items">>} ->
true;
{<<"query">>,
<<"http://jabber.org/protocol/disco#info">>} ->
true;
{<<"feature">>,
<<"http://jabber.org/protocol/disco#info">>} ->
true;
{<<"identity">>,
<<"http://jabber.org/protocol/disco#info">>} ->
true;
{<<"blocklist">>, <<"urn:xmpp:blocking">>} -> true;
{<<"unblock">>, <<"urn:xmpp:blocking">>} -> true;
{<<"block">>, <<"urn:xmpp:blocking">>} -> true;
{<<"item">>, <<"urn:xmpp:blocking">>} -> true;
{<<"query">>, <<"jabber:iq:privacy">>} -> true;
{<<"active">>, <<"jabber:iq:privacy">>} -> true;
{<<"default">>, <<"jabber:iq:privacy">>} -> true;
{<<"list">>, <<"jabber:iq:privacy">>} -> true;
{<<"item">>, <<"jabber:iq:privacy">>} -> true;
{<<"presence-out">>, <<"jabber:iq:privacy">>} -> true;
{<<"presence-in">>, <<"jabber:iq:privacy">>} -> true;
{<<"iq">>, <<"jabber:iq:privacy">>} -> true;
{<<"message">>, <<"jabber:iq:privacy">>} -> true;
{<<"query">>, <<"jabber:iq:roster">>} -> true;
{<<"item">>, <<"jabber:iq:roster">>} -> true;
{<<"group">>, <<"jabber:iq:roster">>} -> true;
{<<"query">>, <<"jabber:iq:version">>} -> true;
{<<"os">>, <<"jabber:iq:version">>} -> true;
{<<"version">>, <<"jabber:iq:version">>} -> true;
{<<"name">>, <<"jabber:iq:version">>} -> true;
{<<"query">>, <<"jabber:iq:last">>} -> true;
_ -> false
end.
encode({xmlel, _, _, _} = El) -> El;
encode({last, _, _} = Query) ->
encode_last(Query,
[{<<"xmlns">>, <<"jabber:iq:last">>}]);
encode({version, _, _, _} = Query) ->
encode_version(Query,
[{<<"xmlns">>, <<"jabber:iq:version">>}]);
encode({roster_item, _, _, _, _, _} = Item) ->
encode_roster_item(Item,
[{<<"xmlns">>, <<"jabber:iq:roster">>}]);
encode({roster, _, _} = Query) ->
encode_roster(Query,
[{<<"xmlns">>, <<"jabber:iq:roster">>}]);
encode({privacy_item, _, _, _, _, _} = Item) ->
encode_privacy_item(Item,
[{<<"xmlns">>, <<"jabber:iq:privacy">>}]);
encode({privacy_list, _, _} = List) ->
encode_privacy_list(List,
[{<<"xmlns">>, <<"jabber:iq:privacy">>}]);
encode({privacy, _, _, _} = Query) ->
encode_privacy(Query,
[{<<"xmlns">>, <<"jabber:iq:privacy">>}]);
encode({block, _} = Block) ->
encode_block(Block,
[{<<"xmlns">>, <<"urn:xmpp:blocking">>}]);
encode({unblock, _} = Unblock) ->
encode_unblock(Unblock,
[{<<"xmlns">>, <<"urn:xmpp:blocking">>}]);
encode({block_list} = Blocklist) ->
encode_block_list(Blocklist,
[{<<"xmlns">>, <<"urn:xmpp:blocking">>}]);
encode({identity, _, _, _, _} = Identity) ->
encode_disco_identity(Identity,
[{<<"xmlns">>,
<<"http://jabber.org/protocol/disco#info">>}]);
encode({disco_info, _, _, _, _} = Query) ->
encode_disco_info(Query,
[{<<"xmlns">>,
<<"http://jabber.org/protocol/disco#info">>}]);
encode({disco_item, _, _, _} = Item) ->
encode_disco_item(Item,
[{<<"xmlns">>,
<<"http://jabber.org/protocol/disco#items">>}]);
encode({disco_items, _, _} = Query) ->
encode_disco_items(Query,
[{<<"xmlns">>,
<<"http://jabber.org/protocol/disco#items">>}]);
encode({private, _} = Query) ->
encode_private(Query,
[{<<"xmlns">>, <<"jabber:iq:private">>}]);
encode({bookmark_conference, _, _, _, _, _} =
Conference) ->
encode_bookmark_conference(Conference,
[{<<"xmlns">>, <<"storage:bookmarks">>}]);
encode({bookmark_url, _, _} = Url) ->
encode_bookmark_url(Url,
[{<<"xmlns">>, <<"storage:bookmarks">>}]);
encode({bookmark_storage, _, _} = Storage) ->
encode_bookmarks_storage(Storage,
[{<<"xmlns">>, <<"storage:bookmarks">>}]);
encode({stat, _, _, _, _} = Stat) ->
encode_stat(Stat,
[{<<"xmlns">>,
<<"http://jabber.org/protocol/stats">>}]);
encode({stats, _} = Query) ->
encode_stats(Query,
[{<<"xmlns">>,
<<"http://jabber.org/protocol/stats">>}]);
encode({iq, _, _, _, _, _, _, _} = Iq) ->
encode_iq(Iq, [{<<"xmlns">>, <<"jabber:client">>}]);
encode({message, _, _, _, _, _, _, _, _, _, _} =
Message) ->
encode_message(Message,
[{<<"xmlns">>, <<"jabber:client">>}]);
encode({presence, _, _, _, _, _, _, _, _, _, _} =
Presence) ->
encode_presence(Presence,
[{<<"xmlns">>, <<"jabber:client">>}]);
encode({gone, _} = Gone) ->
encode_error_gone(Gone,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}]);
encode({redirect, _} = Redirect) ->
encode_error_redirect(Redirect,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}]);
encode({error, _, _, _, _} = Error) ->
encode_error(Error,
[{<<"xmlns">>, <<"jabber:client">>}]);
encode({bind, _, _} = Bind) ->
encode_bind(Bind,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-bind">>}]);
encode({sasl_auth, _, _} = Auth) ->
encode_sasl_auth(Auth,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>}]);
encode({sasl_abort} = Abort) ->
encode_sasl_abort(Abort,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>}]);
encode({sasl_challenge, _} = Challenge) ->
encode_sasl_challenge(Challenge,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>}]);
encode({sasl_response, _} = Response) ->
encode_sasl_response(Response,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>}]);
encode({sasl_success, _} = Success) ->
encode_sasl_success(Success,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>}]);
encode({sasl_failure, _, _} = Failure) ->
encode_sasl_failure(Failure,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>}]);
encode({sasl_mechanisms, _} = Mechanisms) ->
encode_sasl_mechanisms(Mechanisms,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>}]);
encode({starttls, _} = Starttls) ->
encode_starttls(Starttls,
[{<<"xmlns">>, <<"urn:ietf:params:xml:ns:xmpp-tls">>}]);
encode({starttls_proceed} = Proceed) ->
encode_starttls_proceed(Proceed,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>}]);
encode({starttls_failure} = Failure) ->
encode_starttls_failure(Failure,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>}]);
encode({compress_failure, _} = Failure) ->
encode_compress_failure(Failure,
[{<<"xmlns">>,
<<"http://jabber.org/protocol/compress">>}]);
encode({compress, _} = Compress) ->
encode_compress(Compress,
[{<<"xmlns">>,
<<"http://jabber.org/protocol/compress">>}]);
encode({compressed} = Compressed) ->
encode_compressed(Compressed,
[{<<"xmlns">>,
<<"http://jabber.org/protocol/compress">>}]);
encode({compression, _} = Compression) ->
encode_compression(Compression,
[{<<"xmlns">>,
<<"http://jabber.org/features/compress">>}]);
encode({stream_features, _} = Stream_features) ->
encode_stream_features(Stream_features,
[{<<"xmlns">>,
<<"http://etherx.jabber.org/streams">>}]);
encode({p1_push} = Push) ->
encode_p1_push(Push, [{<<"xmlns">>, <<"p1:push">>}]);
encode({p1_rebind} = Rebind) ->
encode_p1_rebind(Rebind,
[{<<"xmlns">>, <<"p1:rebind">>}]);
encode({p1_ack} = Ack) ->
encode_p1_ack(Ack, [{<<"xmlns">>, <<"p1:ack">>}]);
encode({caps, _, _, _} = C) ->
encode_caps(C,
[{<<"xmlns">>, <<"http://jabber.org/protocol/caps">>}]);
encode({feature_register} = Register) ->
encode_feature_register(Register,
[{<<"xmlns">>,
<<"http://jabber.org/features/iq-register">>}]);
encode({register, _, _, _, _, _, _, _, _, _, _, _, _, _,
_, _, _, _, _, _, _, _} =
Query) ->
encode_register(Query,
[{<<"xmlns">>, <<"jabber:iq:register">>}]);
encode({session} = Session) ->
encode_session(Session,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-session">>}]);
encode({ping} = Ping) ->
encode_ping(Ping, [{<<"xmlns">>, <<"urn:xmpp:ping">>}]);
encode({time, _, _} = Time) ->
encode_time(Time, [{<<"xmlns">>, <<"urn:xmpp:time">>}]);
encode({text, _, _} = Text) ->
encode_stream_error_text(Text, []);
encode({'see-other-host', _} = See_other_host) ->
encode_stream_error_see_other_host(See_other_host,
[{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>}]);
encode({stream_error, _, _} = Stream_error) ->
encode_stream_error(Stream_error,
[{<<"xmlns">>,
<<"http://etherx.jabber.org/streams">>}]);
encode({vcard_name, _, _, _, _, _} = N) ->
encode_vcard_N(N, [{<<"xmlns">>, <<"vcard-temp">>}]);
encode({vcard_adr, _, _, _, _, _, _, _, _, _, _, _, _,
_, _} =
Adr) ->
encode_vcard_ADR(Adr,
[{<<"xmlns">>, <<"vcard-temp">>}]);
encode({vcard_label, _, _, _, _, _, _, _, _} = Label) ->
encode_vcard_LABEL(Label,
[{<<"xmlns">>, <<"vcard-temp">>}]);
encode({vcard_tel, _, _, _, _, _, _, _, _, _, _, _, _,
_, _} =
Tel) ->
encode_vcard_TEL(Tel,
[{<<"xmlns">>, <<"vcard-temp">>}]);
encode({vcard_email, _, _, _, _, _, _} = Email) ->
encode_vcard_EMAIL(Email,
[{<<"xmlns">>, <<"vcard-temp">>}]);
encode({vcard_geo, _, _} = Geo) ->
encode_vcard_GEO(Geo,
[{<<"xmlns">>, <<"vcard-temp">>}]);
encode({vcard_logo, _, _, _} = Logo) ->
encode_vcard_LOGO(Logo,
[{<<"xmlns">>, <<"vcard-temp">>}]);
encode({vcard_photo, _, _, _} = Photo) ->
encode_vcard_PHOTO(Photo,
[{<<"xmlns">>, <<"vcard-temp">>}]);
encode({vcard_org, _, _} = Org) ->
encode_vcard_ORG(Org,
[{<<"xmlns">>, <<"vcard-temp">>}]);
encode({vcard_sound, _, _, _} = Sound) ->
encode_vcard_SOUND(Sound,
[{<<"xmlns">>, <<"vcard-temp">>}]);
encode({vcard_key, _, _} = Key) ->
encode_vcard_KEY(Key,
[{<<"xmlns">>, <<"vcard-temp">>}]);
encode({vcard, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
_, _, _, _, _, _, _, _, _, _, _, _, _, _, _} =
Vcard) ->
encode_vcard(Vcard, [{<<"xmlns">>, <<"vcard-temp">>}]);
encode({vcard_xupdate, _} = X) ->
encode_vcard_xupdate(X,
[{<<"xmlns">>, <<"vcard-temp:x:update">>}]);
encode({xdata_field, _, _, _, _, _, _, _} = Field) ->
encode_xdata_field(Field,
[{<<"xmlns">>, <<"jabber:x:data">>}]);
encode({xdata, _, _, _, _, _, _} = X) ->
encode_xdata(X, [{<<"xmlns">>, <<"jabber:x:data">>}]);
encode({pubsub_subscription, _, _, _, _} =
Subscription) ->
encode_pubsub_subscription(Subscription,
[{<<"xmlns">>,
<<"http://jabber.org/protocol/pubsub">>}]);
encode({pubsub_affiliation, _, _} = Affiliation) ->
encode_pubsub_affiliation(Affiliation,
[{<<"xmlns">>,
<<"http://jabber.org/protocol/pubsub">>}]);
encode({pubsub_item, _, _} = Item) ->
encode_pubsub_item(Item,
[{<<"xmlns">>,
<<"http://jabber.org/protocol/pubsub">>}]);
encode({pubsub_items, _, _, _, _} = Items) ->
encode_pubsub_items(Items,
[{<