[{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, is_known_tag/1,
- encode/1]).
+-export([pp/1, format_error/1, decode/1, decode/2,
+ is_known_tag/1, encode/1, get_ns/1]).
-decode({xmlel, _name, _attrs, _} = _el) ->
+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">>, _el);
+ decode_sm_failed(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"failed">>, <<"urn:xmpp:sm:3">>} ->
- decode_sm_failed(<<"urn:xmpp:sm:3">>, _el);
+ decode_sm_failed(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"a">>, <<"urn:xmpp:sm:2">>} ->
- decode_sm_a(<<"urn:xmpp:sm:2">>, _el);
+ decode_sm_a(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"a">>, <<"urn:xmpp:sm:3">>} ->
- decode_sm_a(<<"urn:xmpp:sm:3">>, _el);
+ decode_sm_a(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"r">>, <<"urn:xmpp:sm:2">>} ->
- decode_sm_r(<<"urn:xmpp:sm:2">>, _el);
+ decode_sm_r(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"r">>, <<"urn:xmpp:sm:3">>} ->
- decode_sm_r(<<"urn:xmpp:sm:3">>, _el);
+ decode_sm_r(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"resumed">>, <<"urn:xmpp:sm:2">>} ->
- decode_sm_resumed(<<"urn:xmpp:sm:2">>, _el);
+ decode_sm_resumed(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"resumed">>, <<"urn:xmpp:sm:3">>} ->
- decode_sm_resumed(<<"urn:xmpp:sm:3">>, _el);
+ decode_sm_resumed(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"resume">>, <<"urn:xmpp:sm:2">>} ->
- decode_sm_resume(<<"urn:xmpp:sm:2">>, _el);
+ decode_sm_resume(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"resume">>, <<"urn:xmpp:sm:3">>} ->
- decode_sm_resume(<<"urn:xmpp:sm:3">>, _el);
+ decode_sm_resume(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"enabled">>, <<"urn:xmpp:sm:2">>} ->
- decode_sm_enabled(<<"urn:xmpp:sm:2">>, _el);
+ decode_sm_enabled(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"enabled">>, <<"urn:xmpp:sm:3">>} ->
- decode_sm_enabled(<<"urn:xmpp:sm:3">>, _el);
+ decode_sm_enabled(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"enable">>, <<"urn:xmpp:sm:2">>} ->
- decode_sm_enable(<<"urn:xmpp:sm:2">>, _el);
+ decode_sm_enable(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"enable">>, <<"urn:xmpp:sm:3">>} ->
- decode_sm_enable(<<"urn:xmpp:sm:3">>, _el);
+ decode_sm_enable(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"sm">>, <<"urn:xmpp:sm:2">>} ->
- decode_feature_sm(<<"urn:xmpp:sm:2">>, _el);
+ decode_feature_sm(<<"urn:xmpp:sm:2">>, IgnoreEls, _el);
{<<"sm">>, <<"urn:xmpp:sm:3">>} ->
- decode_feature_sm(<<"urn:xmpp:sm:3">>, _el);
+ decode_feature_sm(<<"urn:xmpp:sm:3">>, IgnoreEls, _el);
{<<"sent">>, <<"urn:xmpp:carbons:2">>} ->
- decode_carbons_sent(<<"urn:xmpp:carbons:2">>, _el);
+ decode_carbons_sent(<<"urn:xmpp:carbons:2">>, IgnoreEls,
+ _el);
{<<"received">>, <<"urn:xmpp:carbons:2">>} ->
- decode_carbons_received(<<"urn:xmpp:carbons:2">>, _el);
+ decode_carbons_received(<<"urn:xmpp:carbons:2">>,
+ IgnoreEls, _el);
{<<"private">>, <<"urn:xmpp:carbons:2">>} ->
- decode_carbons_private(<<"urn:xmpp:carbons:2">>, _el);
+ decode_carbons_private(<<"urn:xmpp:carbons:2">>,
+ IgnoreEls, _el);
{<<"enable">>, <<"urn:xmpp:carbons:2">>} ->
- decode_carbons_enable(<<"urn:xmpp:carbons:2">>, _el);
+ decode_carbons_enable(<<"urn:xmpp:carbons:2">>,
+ IgnoreEls, _el);
{<<"disable">>, <<"urn:xmpp:carbons:2">>} ->
- decode_carbons_disable(<<"urn:xmpp:carbons:2">>, _el);
+ decode_carbons_disable(<<"urn:xmpp:carbons:2">>,
+ IgnoreEls, _el);
{<<"forwarded">>, <<"urn:xmpp:forward:0">>} ->
- decode_forwarded(<<"urn:xmpp:forward:0">>, _el);
+ decode_forwarded(<<"urn:xmpp:forward:0">>, IgnoreEls,
+ _el);
{<<"x">>, <<"http://jabber.org/protocol/muc">>} ->
- decode_muc(<<"http://jabber.org/protocol/muc">>, _el);
+ 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">>,
- _el);
+ IgnoreEls, _el);
{<<"reason">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
decode_muc_admin_reason(<<"http://jabber.org/protocol/muc#admin">>,
- _el);
+ IgnoreEls, _el);
{<<"continue">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
decode_muc_admin_continue(<<"http://jabber.org/protocol/muc#admin">>,
- _el);
+ IgnoreEls, _el);
{<<"actor">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
decode_muc_admin_actor(<<"http://jabber.org/protocol/muc#admin">>,
- _el);
+ IgnoreEls, _el);
{<<"item">>,
<<"http://jabber.org/protocol/muc#admin">>} ->
decode_muc_admin_item(<<"http://jabber.org/protocol/muc#admin">>,
- _el);
+ IgnoreEls, _el);
{<<"query">>,
<<"http://jabber.org/protocol/muc#owner">>} ->
decode_muc_owner(<<"http://jabber.org/protocol/muc#owner">>,
- _el);
+ IgnoreEls, _el);
{<<"destroy">>,
<<"http://jabber.org/protocol/muc#owner">>} ->
decode_muc_owner_destroy(<<"http://jabber.org/protocol/muc#owner">>,
- _el);
+ IgnoreEls, _el);
{<<"reason">>,
<<"http://jabber.org/protocol/muc#owner">>} ->
decode_muc_owner_reason(<<"http://jabber.org/protocol/muc#owner">>,
- _el);
+ IgnoreEls, _el);
{<<"password">>,
<<"http://jabber.org/protocol/muc#owner">>} ->
decode_muc_owner_password(<<"http://jabber.org/protocol/muc#owner">>,
- _el);
+ IgnoreEls, _el);
{<<"x">>, <<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user(<<"http://jabber.org/protocol/muc#user">>,
- _el);
+ IgnoreEls, _el);
{<<"item">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_item(<<"http://jabber.org/protocol/muc#user">>,
- _el);
+ IgnoreEls, _el);
{<<"status">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_status(<<"http://jabber.org/protocol/muc#user">>,
- _el);
+ IgnoreEls, _el);
{<<"continue">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_continue(<<"http://jabber.org/protocol/muc#user">>,
- _el);
+ IgnoreEls, _el);
{<<"actor">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_actor(<<"http://jabber.org/protocol/muc#user">>,
- _el);
+ IgnoreEls, _el);
{<<"invite">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_invite(<<"http://jabber.org/protocol/muc#user">>,
- _el);
+ IgnoreEls, _el);
{<<"destroy">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_destroy(<<"http://jabber.org/protocol/muc#user">>,
- _el);
+ IgnoreEls, _el);
{<<"decline">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_decline(<<"http://jabber.org/protocol/muc#user">>,
- _el);
+ IgnoreEls, _el);
{<<"reason">>,
<<"http://jabber.org/protocol/muc#user">>} ->
decode_muc_user_reason(<<"http://jabber.org/protocol/muc#user">>,
- _el);
+ IgnoreEls, _el);
{<<"history">>, <<"http://jabber.org/protocol/muc">>} ->
decode_muc_history(<<"http://jabber.org/protocol/muc">>,
- _el);
+ IgnoreEls, _el);
{<<"query">>,
<<"http://jabber.org/protocol/bytestreams">>} ->
decode_bytestreams(<<"http://jabber.org/protocol/bytestreams">>,
- _el);
+ IgnoreEls, _el);
{<<"activate">>,
<<"http://jabber.org/protocol/bytestreams">>} ->
decode_bytestreams_activate(<<"http://jabber.org/protocol/bytestreams">>,
- _el);
+ IgnoreEls, _el);
{<<"streamhost-used">>,
<<"http://jabber.org/protocol/bytestreams">>} ->
decode_bytestreams_streamhost_used(<<"http://jabber.org/protocol/bytestreams">>,
- _el);
+ IgnoreEls, _el);
{<<"streamhost">>,
<<"http://jabber.org/protocol/bytestreams">>} ->
decode_bytestreams_streamhost(<<"http://jabber.org/protocol/bytestreams">>,
- _el);
+ IgnoreEls, _el);
{<<"x">>, <<"jabber:x:delay">>} ->
- decode_legacy_delay(<<"jabber:x:delay">>, _el);
+ decode_legacy_delay(<<"jabber:x:delay">>, IgnoreEls,
+ _el);
{<<"delay">>, <<"urn:xmpp:delay">>} ->
- decode_delay(<<"urn:xmpp:delay">>, _el);
+ decode_delay(<<"urn:xmpp:delay">>, IgnoreEls, _el);
{<<"headers">>,
<<"http://jabber.org/protocol/shim">>} ->
decode_shim_headers(<<"http://jabber.org/protocol/shim">>,
- _el);
+ IgnoreEls, _el);
{<<"header">>, <<"http://jabber.org/protocol/shim">>} ->
decode_shim_header(<<"http://jabber.org/protocol/shim">>,
- _el);
+ IgnoreEls, _el);
{<<"pubsub">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub(<<"http://jabber.org/protocol/pubsub">>,
- _el);
+ IgnoreEls, _el);
{<<"retract">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_retract(<<"http://jabber.org/protocol/pubsub">>,
- _el);
+ IgnoreEls, _el);
{<<"options">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_options(<<"http://jabber.org/protocol/pubsub">>,
- _el);
+ IgnoreEls, _el);
{<<"publish">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_publish(<<"http://jabber.org/protocol/pubsub">>,
- _el);
+ IgnoreEls, _el);
{<<"unsubscribe">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_unsubscribe(<<"http://jabber.org/protocol/pubsub">>,
- _el);
+ IgnoreEls, _el);
{<<"subscribe">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_subscribe(<<"http://jabber.org/protocol/pubsub">>,
- _el);
+ IgnoreEls, _el);
{<<"affiliations">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_affiliations(<<"http://jabber.org/protocol/pubsub">>,
- _el);
+ IgnoreEls, _el);
{<<"subscriptions">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_subscriptions(<<"http://jabber.org/protocol/pubsub">>,
- _el);
+ IgnoreEls, _el);
{<<"event">>,
<<"http://jabber.org/protocol/pubsub#event">>} ->
decode_pubsub_event(<<"http://jabber.org/protocol/pubsub#event">>,
- _el);
+ IgnoreEls, _el);
{<<"items">>,
<<"http://jabber.org/protocol/pubsub#event">>} ->
decode_pubsub_event_items(<<"http://jabber.org/protocol/pubsub#event">>,
- _el);
+ IgnoreEls, _el);
{<<"item">>,
<<"http://jabber.org/protocol/pubsub#event">>} ->
decode_pubsub_event_item(<<"http://jabber.org/protocol/pubsub#event">>,
- _el);
+ IgnoreEls, _el);
{<<"retract">>,
<<"http://jabber.org/protocol/pubsub#event">>} ->
decode_pubsub_event_retract(<<"http://jabber.org/protocol/pubsub#event">>,
- _el);
+ IgnoreEls, _el);
{<<"items">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_items(<<"http://jabber.org/protocol/pubsub">>,
- _el);
+ IgnoreEls, _el);
{<<"item">>, <<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_item(<<"http://jabber.org/protocol/pubsub">>,
- _el);
+ IgnoreEls, _el);
{<<"affiliation">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_affiliation(<<"http://jabber.org/protocol/pubsub">>,
- _el);
+ IgnoreEls, _el);
{<<"subscription">>,
<<"http://jabber.org/protocol/pubsub">>} ->
decode_pubsub_subscription(<<"http://jabber.org/protocol/pubsub">>,
- _el);
+ IgnoreEls, _el);
{<<"x">>, <<"jabber:x:data">>} ->
- decode_xdata(<<"jabber:x:data">>, _el);
+ decode_xdata(<<"jabber:x:data">>, IgnoreEls, _el);
{<<"item">>, <<"jabber:x:data">>} ->
- decode_xdata_item(<<"jabber:x:data">>, _el);
+ decode_xdata_item(<<"jabber:x:data">>, IgnoreEls, _el);
{<<"reported">>, <<"jabber:x:data">>} ->
- decode_xdata_reported(<<"jabber:x:data">>, _el);
+ decode_xdata_reported(<<"jabber:x:data">>, IgnoreEls,
+ _el);
{<<"title">>, <<"jabber:x:data">>} ->
- decode_xdata_title(<<"jabber:x:data">>, _el);
+ decode_xdata_title(<<"jabber:x:data">>, IgnoreEls, _el);
{<<"instructions">>, <<"jabber:x:data">>} ->
- decode_xdata_instructions(<<"jabber:x:data">>, _el);
+ decode_xdata_instructions(<<"jabber:x:data">>,
+ IgnoreEls, _el);
{<<"field">>, <<"jabber:x:data">>} ->
- decode_xdata_field(<<"jabber:x:data">>, _el);
+ decode_xdata_field(<<"jabber:x:data">>, IgnoreEls, _el);
{<<"option">>, <<"jabber:x:data">>} ->
- decode_xdata_field_option(<<"jabber:x:data">>, _el);
+ decode_xdata_field_option(<<"jabber:x:data">>,
+ IgnoreEls, _el);
{<<"value">>, <<"jabber:x:data">>} ->
- decode_xdata_field_value(<<"jabber:x:data">>, _el);
+ decode_xdata_field_value(<<"jabber:x:data">>, IgnoreEls,
+ _el);
{<<"desc">>, <<"jabber:x:data">>} ->
- decode_xdata_field_desc(<<"jabber:x:data">>, _el);
+ decode_xdata_field_desc(<<"jabber:x:data">>, IgnoreEls,
+ _el);
{<<"required">>, <<"jabber:x:data">>} ->
- decode_xdata_field_required(<<"jabber:x:data">>, _el);
+ decode_xdata_field_required(<<"jabber:x:data">>,
+ IgnoreEls, _el);
{<<"vCard">>, <<"vcard-temp">>} ->
- decode_vcard(<<"vcard-temp">>, _el);
+ decode_vcard(<<"vcard-temp">>, IgnoreEls, _el);
{<<"CLASS">>, <<"vcard-temp">>} ->
- decode_vcard_CLASS(<<"vcard-temp">>, _el);
+ decode_vcard_CLASS(<<"vcard-temp">>, IgnoreEls, _el);
{<<"CATEGORIES">>, <<"vcard-temp">>} ->
- decode_vcard_CATEGORIES(<<"vcard-temp">>, _el);
+ decode_vcard_CATEGORIES(<<"vcard-temp">>, IgnoreEls,
+ _el);
{<<"KEY">>, <<"vcard-temp">>} ->
- decode_vcard_KEY(<<"vcard-temp">>, _el);
+ decode_vcard_KEY(<<"vcard-temp">>, IgnoreEls, _el);
{<<"SOUND">>, <<"vcard-temp">>} ->
- decode_vcard_SOUND(<<"vcard-temp">>, _el);
+ decode_vcard_SOUND(<<"vcard-temp">>, IgnoreEls, _el);
{<<"ORG">>, <<"vcard-temp">>} ->
- decode_vcard_ORG(<<"vcard-temp">>, _el);
+ decode_vcard_ORG(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PHOTO">>, <<"vcard-temp">>} ->
- decode_vcard_PHOTO(<<"vcard-temp">>, _el);
+ decode_vcard_PHOTO(<<"vcard-temp">>, IgnoreEls, _el);
{<<"LOGO">>, <<"vcard-temp">>} ->
- decode_vcard_LOGO(<<"vcard-temp">>, _el);
+ decode_vcard_LOGO(<<"vcard-temp">>, IgnoreEls, _el);
{<<"BINVAL">>, <<"vcard-temp">>} ->
- decode_vcard_BINVAL(<<"vcard-temp">>, _el);
+ decode_vcard_BINVAL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"GEO">>, <<"vcard-temp">>} ->
- decode_vcard_GEO(<<"vcard-temp">>, _el);
+ decode_vcard_GEO(<<"vcard-temp">>, IgnoreEls, _el);
{<<"EMAIL">>, <<"vcard-temp">>} ->
- decode_vcard_EMAIL(<<"vcard-temp">>, _el);
+ decode_vcard_EMAIL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"TEL">>, <<"vcard-temp">>} ->
- decode_vcard_TEL(<<"vcard-temp">>, _el);
+ decode_vcard_TEL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"LABEL">>, <<"vcard-temp">>} ->
- decode_vcard_LABEL(<<"vcard-temp">>, _el);
+ decode_vcard_LABEL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"ADR">>, <<"vcard-temp">>} ->
- decode_vcard_ADR(<<"vcard-temp">>, _el);
+ decode_vcard_ADR(<<"vcard-temp">>, IgnoreEls, _el);
{<<"N">>, <<"vcard-temp">>} ->
- decode_vcard_N(<<"vcard-temp">>, _el);
+ decode_vcard_N(<<"vcard-temp">>, IgnoreEls, _el);
{<<"CONFIDENTIAL">>, <<"vcard-temp">>} ->
- decode_vcard_CONFIDENTIAL(<<"vcard-temp">>, _el);
+ decode_vcard_CONFIDENTIAL(<<"vcard-temp">>, IgnoreEls,
+ _el);
{<<"PRIVATE">>, <<"vcard-temp">>} ->
- decode_vcard_PRIVATE(<<"vcard-temp">>, _el);
+ decode_vcard_PRIVATE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PUBLIC">>, <<"vcard-temp">>} ->
- decode_vcard_PUBLIC(<<"vcard-temp">>, _el);
+ decode_vcard_PUBLIC(<<"vcard-temp">>, IgnoreEls, _el);
{<<"EXTVAL">>, <<"vcard-temp">>} ->
- decode_vcard_EXTVAL(<<"vcard-temp">>, _el);
+ decode_vcard_EXTVAL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"TYPE">>, <<"vcard-temp">>} ->
- decode_vcard_TYPE(<<"vcard-temp">>, _el);
+ decode_vcard_TYPE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"DESC">>, <<"vcard-temp">>} ->
- decode_vcard_DESC(<<"vcard-temp">>, _el);
+ decode_vcard_DESC(<<"vcard-temp">>, IgnoreEls, _el);
{<<"URL">>, <<"vcard-temp">>} ->
- decode_vcard_URL(<<"vcard-temp">>, _el);
+ decode_vcard_URL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"UID">>, <<"vcard-temp">>} ->
- decode_vcard_UID(<<"vcard-temp">>, _el);
+ decode_vcard_UID(<<"vcard-temp">>, IgnoreEls, _el);
{<<"SORT-STRING">>, <<"vcard-temp">>} ->
- decode_vcard_SORT_STRING(<<"vcard-temp">>, _el);
+ decode_vcard_SORT_STRING(<<"vcard-temp">>, IgnoreEls,
+ _el);
{<<"REV">>, <<"vcard-temp">>} ->
- decode_vcard_REV(<<"vcard-temp">>, _el);
+ decode_vcard_REV(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PRODID">>, <<"vcard-temp">>} ->
- decode_vcard_PRODID(<<"vcard-temp">>, _el);
+ decode_vcard_PRODID(<<"vcard-temp">>, IgnoreEls, _el);
{<<"NOTE">>, <<"vcard-temp">>} ->
- decode_vcard_NOTE(<<"vcard-temp">>, _el);
+ decode_vcard_NOTE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"KEYWORD">>, <<"vcard-temp">>} ->
- decode_vcard_KEYWORD(<<"vcard-temp">>, _el);
+ decode_vcard_KEYWORD(<<"vcard-temp">>, IgnoreEls, _el);
{<<"ROLE">>, <<"vcard-temp">>} ->
- decode_vcard_ROLE(<<"vcard-temp">>, _el);
+ decode_vcard_ROLE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"TITLE">>, <<"vcard-temp">>} ->
- decode_vcard_TITLE(<<"vcard-temp">>, _el);
+ decode_vcard_TITLE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"TZ">>, <<"vcard-temp">>} ->
- decode_vcard_TZ(<<"vcard-temp">>, _el);
+ decode_vcard_TZ(<<"vcard-temp">>, IgnoreEls, _el);
{<<"MAILER">>, <<"vcard-temp">>} ->
- decode_vcard_MAILER(<<"vcard-temp">>, _el);
+ decode_vcard_MAILER(<<"vcard-temp">>, IgnoreEls, _el);
{<<"JABBERID">>, <<"vcard-temp">>} ->
- decode_vcard_JABBERID(<<"vcard-temp">>, _el);
+ decode_vcard_JABBERID(<<"vcard-temp">>, IgnoreEls, _el);
{<<"BDAY">>, <<"vcard-temp">>} ->
- decode_vcard_BDAY(<<"vcard-temp">>, _el);
+ decode_vcard_BDAY(<<"vcard-temp">>, IgnoreEls, _el);
{<<"NICKNAME">>, <<"vcard-temp">>} ->
- decode_vcard_NICKNAME(<<"vcard-temp">>, _el);
+ decode_vcard_NICKNAME(<<"vcard-temp">>, IgnoreEls, _el);
{<<"FN">>, <<"vcard-temp">>} ->
- decode_vcard_FN(<<"vcard-temp">>, _el);
+ decode_vcard_FN(<<"vcard-temp">>, IgnoreEls, _el);
{<<"VERSION">>, <<"vcard-temp">>} ->
- decode_vcard_VERSION(<<"vcard-temp">>, _el);
+ decode_vcard_VERSION(<<"vcard-temp">>, IgnoreEls, _el);
{<<"CRED">>, <<"vcard-temp">>} ->
- decode_vcard_CRED(<<"vcard-temp">>, _el);
+ decode_vcard_CRED(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PHONETIC">>, <<"vcard-temp">>} ->
- decode_vcard_PHONETIC(<<"vcard-temp">>, _el);
+ decode_vcard_PHONETIC(<<"vcard-temp">>, IgnoreEls, _el);
{<<"ORGUNIT">>, <<"vcard-temp">>} ->
- decode_vcard_ORGUNIT(<<"vcard-temp">>, _el);
+ decode_vcard_ORGUNIT(<<"vcard-temp">>, IgnoreEls, _el);
{<<"ORGNAME">>, <<"vcard-temp">>} ->
- decode_vcard_ORGNAME(<<"vcard-temp">>, _el);
+ decode_vcard_ORGNAME(<<"vcard-temp">>, IgnoreEls, _el);
{<<"LON">>, <<"vcard-temp">>} ->
- decode_vcard_LON(<<"vcard-temp">>, _el);
+ decode_vcard_LON(<<"vcard-temp">>, IgnoreEls, _el);
{<<"LAT">>, <<"vcard-temp">>} ->
- decode_vcard_LAT(<<"vcard-temp">>, _el);
+ decode_vcard_LAT(<<"vcard-temp">>, IgnoreEls, _el);
{<<"USERID">>, <<"vcard-temp">>} ->
- decode_vcard_USERID(<<"vcard-temp">>, _el);
+ decode_vcard_USERID(<<"vcard-temp">>, IgnoreEls, _el);
{<<"NUMBER">>, <<"vcard-temp">>} ->
- decode_vcard_NUMBER(<<"vcard-temp">>, _el);
+ decode_vcard_NUMBER(<<"vcard-temp">>, IgnoreEls, _el);
{<<"LINE">>, <<"vcard-temp">>} ->
- decode_vcard_LINE(<<"vcard-temp">>, _el);
+ decode_vcard_LINE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"CTRY">>, <<"vcard-temp">>} ->
- decode_vcard_CTRY(<<"vcard-temp">>, _el);
+ decode_vcard_CTRY(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PCODE">>, <<"vcard-temp">>} ->
- decode_vcard_PCODE(<<"vcard-temp">>, _el);
+ decode_vcard_PCODE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"REGION">>, <<"vcard-temp">>} ->
- decode_vcard_REGION(<<"vcard-temp">>, _el);
+ decode_vcard_REGION(<<"vcard-temp">>, IgnoreEls, _el);
{<<"LOCALITY">>, <<"vcard-temp">>} ->
- decode_vcard_LOCALITY(<<"vcard-temp">>, _el);
+ decode_vcard_LOCALITY(<<"vcard-temp">>, IgnoreEls, _el);
{<<"STREET">>, <<"vcard-temp">>} ->
- decode_vcard_STREET(<<"vcard-temp">>, _el);
+ decode_vcard_STREET(<<"vcard-temp">>, IgnoreEls, _el);
{<<"EXTADD">>, <<"vcard-temp">>} ->
- decode_vcard_EXTADD(<<"vcard-temp">>, _el);
+ decode_vcard_EXTADD(<<"vcard-temp">>, IgnoreEls, _el);
{<<"POBOX">>, <<"vcard-temp">>} ->
- decode_vcard_POBOX(<<"vcard-temp">>, _el);
+ decode_vcard_POBOX(<<"vcard-temp">>, IgnoreEls, _el);
{<<"SUFFIX">>, <<"vcard-temp">>} ->
- decode_vcard_SUFFIX(<<"vcard-temp">>, _el);
+ decode_vcard_SUFFIX(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PREFIX">>, <<"vcard-temp">>} ->
- decode_vcard_PREFIX(<<"vcard-temp">>, _el);
+ decode_vcard_PREFIX(<<"vcard-temp">>, IgnoreEls, _el);
{<<"MIDDLE">>, <<"vcard-temp">>} ->
- decode_vcard_MIDDLE(<<"vcard-temp">>, _el);
+ decode_vcard_MIDDLE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"GIVEN">>, <<"vcard-temp">>} ->
- decode_vcard_GIVEN(<<"vcard-temp">>, _el);
+ decode_vcard_GIVEN(<<"vcard-temp">>, IgnoreEls, _el);
{<<"FAMILY">>, <<"vcard-temp">>} ->
- decode_vcard_FAMILY(<<"vcard-temp">>, _el);
+ decode_vcard_FAMILY(<<"vcard-temp">>, IgnoreEls, _el);
{<<"X400">>, <<"vcard-temp">>} ->
- decode_vcard_X400(<<"vcard-temp">>, _el);
+ decode_vcard_X400(<<"vcard-temp">>, IgnoreEls, _el);
{<<"INTERNET">>, <<"vcard-temp">>} ->
- decode_vcard_INTERNET(<<"vcard-temp">>, _el);
+ decode_vcard_INTERNET(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PREF">>, <<"vcard-temp">>} ->
- decode_vcard_PREF(<<"vcard-temp">>, _el);
+ decode_vcard_PREF(<<"vcard-temp">>, IgnoreEls, _el);
{<<"INTL">>, <<"vcard-temp">>} ->
- decode_vcard_INTL(<<"vcard-temp">>, _el);
+ decode_vcard_INTL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"DOM">>, <<"vcard-temp">>} ->
- decode_vcard_DOM(<<"vcard-temp">>, _el);
+ decode_vcard_DOM(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PARCEL">>, <<"vcard-temp">>} ->
- decode_vcard_PARCEL(<<"vcard-temp">>, _el);
+ decode_vcard_PARCEL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"POSTAL">>, <<"vcard-temp">>} ->
- decode_vcard_POSTAL(<<"vcard-temp">>, _el);
+ decode_vcard_POSTAL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PCS">>, <<"vcard-temp">>} ->
- decode_vcard_PCS(<<"vcard-temp">>, _el);
+ decode_vcard_PCS(<<"vcard-temp">>, IgnoreEls, _el);
{<<"ISDN">>, <<"vcard-temp">>} ->
- decode_vcard_ISDN(<<"vcard-temp">>, _el);
+ decode_vcard_ISDN(<<"vcard-temp">>, IgnoreEls, _el);
{<<"MODEM">>, <<"vcard-temp">>} ->
- decode_vcard_MODEM(<<"vcard-temp">>, _el);
+ decode_vcard_MODEM(<<"vcard-temp">>, IgnoreEls, _el);
{<<"BBS">>, <<"vcard-temp">>} ->
- decode_vcard_BBS(<<"vcard-temp">>, _el);
+ decode_vcard_BBS(<<"vcard-temp">>, IgnoreEls, _el);
{<<"VIDEO">>, <<"vcard-temp">>} ->
- decode_vcard_VIDEO(<<"vcard-temp">>, _el);
+ decode_vcard_VIDEO(<<"vcard-temp">>, IgnoreEls, _el);
{<<"CELL">>, <<"vcard-temp">>} ->
- decode_vcard_CELL(<<"vcard-temp">>, _el);
+ decode_vcard_CELL(<<"vcard-temp">>, IgnoreEls, _el);
{<<"MSG">>, <<"vcard-temp">>} ->
- decode_vcard_MSG(<<"vcard-temp">>, _el);
+ decode_vcard_MSG(<<"vcard-temp">>, IgnoreEls, _el);
{<<"PAGER">>, <<"vcard-temp">>} ->
- decode_vcard_PAGER(<<"vcard-temp">>, _el);
+ decode_vcard_PAGER(<<"vcard-temp">>, IgnoreEls, _el);
{<<"FAX">>, <<"vcard-temp">>} ->
- decode_vcard_FAX(<<"vcard-temp">>, _el);
+ decode_vcard_FAX(<<"vcard-temp">>, IgnoreEls, _el);
{<<"VOICE">>, <<"vcard-temp">>} ->
- decode_vcard_VOICE(<<"vcard-temp">>, _el);
+ decode_vcard_VOICE(<<"vcard-temp">>, IgnoreEls, _el);
{<<"WORK">>, <<"vcard-temp">>} ->
- decode_vcard_WORK(<<"vcard-temp">>, _el);
+ decode_vcard_WORK(<<"vcard-temp">>, IgnoreEls, _el);
{<<"HOME">>, <<"vcard-temp">>} ->
- decode_vcard_HOME(<<"vcard-temp">>, _el);
+ decode_vcard_HOME(<<"vcard-temp">>, IgnoreEls, _el);
{<<"stream:error">>,
<<"http://etherx.jabber.org/streams">>} ->
decode_stream_error(<<"http://etherx.jabber.org/streams">>,
- _el);
+ IgnoreEls, _el);
{<<"unsupported-version">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_unsupported_version(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ 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">>,
- _el);
+ IgnoreEls, _el);
{<<"unsupported-encoding">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_unsupported_encoding(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"undefined-condition">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_undefined_condition(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"system-shutdown">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_system_shutdown(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ 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">>,
- _el);
+ IgnoreEls, _el);
{<<"restricted-xml">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_restricted_xml(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"resource-constraint">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_resource_constraint(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"reset">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_reset(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ 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">>,
- _el);
+ IgnoreEls, _el);
{<<"policy-violation">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_policy_violation(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ 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">>,
- _el);
+ IgnoreEls, _el);
{<<"not-authorized">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_not_authorized(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"invalid-xml">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_invalid_xml(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"invalid-namespace">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_invalid_namespace(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"invalid-id">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_invalid_id(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"invalid-from">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_invalid_from(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ 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">>,
- _el);
+ IgnoreEls, _el);
{<<"improper-addressing">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_improper_addressing(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"host-unknown">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_host_unknown(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"host-gone">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_host_gone(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"connection-timeout">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_connection_timeout(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"conflict">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_conflict(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ 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">>,
- _el);
+ IgnoreEls, _el);
{<<"bad-format">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_bad_format(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"text">>,
<<"urn:ietf:params:xml:ns:xmpp-streams">>} ->
decode_stream_error_text(<<"urn:ietf:params:xml:ns:xmpp-streams">>,
- _el);
+ IgnoreEls, _el);
{<<"time">>, <<"urn:xmpp:time">>} ->
- decode_time(<<"urn:xmpp:time">>, _el);
+ decode_time(<<"urn:xmpp:time">>, IgnoreEls, _el);
{<<"tzo">>, <<"urn:xmpp:time">>} ->
- decode_time_tzo(<<"urn:xmpp:time">>, _el);
+ decode_time_tzo(<<"urn:xmpp:time">>, IgnoreEls, _el);
{<<"utc">>, <<"urn:xmpp:time">>} ->
- decode_time_utc(<<"urn:xmpp:time">>, _el);
+ decode_time_utc(<<"urn:xmpp:time">>, IgnoreEls, _el);
{<<"ping">>, <<"urn:xmpp:ping">>} ->
- decode_ping(<<"urn:xmpp:ping">>, _el);
+ decode_ping(<<"urn:xmpp:ping">>, IgnoreEls, _el);
{<<"session">>,
<<"urn:ietf:params:xml:ns:xmpp-session">>} ->
decode_session(<<"urn:ietf:params:xml:ns:xmpp-session">>,
- _el);
+ IgnoreEls, _el);
{<<"query">>, <<"jabber:iq:register">>} ->
- decode_register(<<"jabber:iq:register">>, _el);
+ decode_register(<<"jabber:iq:register">>, IgnoreEls,
+ _el);
{<<"key">>, <<"jabber:iq:register">>} ->
- decode_register_key(<<"jabber:iq:register">>, _el);
+ decode_register_key(<<"jabber:iq:register">>, IgnoreEls,
+ _el);
{<<"text">>, <<"jabber:iq:register">>} ->
- decode_register_text(<<"jabber:iq:register">>, _el);
+ decode_register_text(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"misc">>, <<"jabber:iq:register">>} ->
- decode_register_misc(<<"jabber:iq:register">>, _el);
+ decode_register_misc(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"date">>, <<"jabber:iq:register">>} ->
- decode_register_date(<<"jabber:iq:register">>, _el);
+ decode_register_date(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"url">>, <<"jabber:iq:register">>} ->
- decode_register_url(<<"jabber:iq:register">>, _el);
+ decode_register_url(<<"jabber:iq:register">>, IgnoreEls,
+ _el);
{<<"phone">>, <<"jabber:iq:register">>} ->
- decode_register_phone(<<"jabber:iq:register">>, _el);
+ decode_register_phone(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"zip">>, <<"jabber:iq:register">>} ->
- decode_register_zip(<<"jabber:iq:register">>, _el);
+ decode_register_zip(<<"jabber:iq:register">>, IgnoreEls,
+ _el);
{<<"state">>, <<"jabber:iq:register">>} ->
- decode_register_state(<<"jabber:iq:register">>, _el);
+ decode_register_state(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"city">>, <<"jabber:iq:register">>} ->
- decode_register_city(<<"jabber:iq:register">>, _el);
+ decode_register_city(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"address">>, <<"jabber:iq:register">>} ->
- decode_register_address(<<"jabber:iq:register">>, _el);
+ decode_register_address(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"email">>, <<"jabber:iq:register">>} ->
- decode_register_email(<<"jabber:iq:register">>, _el);
+ decode_register_email(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"last">>, <<"jabber:iq:register">>} ->
- decode_register_last(<<"jabber:iq:register">>, _el);
+ decode_register_last(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"first">>, <<"jabber:iq:register">>} ->
- decode_register_first(<<"jabber:iq:register">>, _el);
+ decode_register_first(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"name">>, <<"jabber:iq:register">>} ->
- decode_register_name(<<"jabber:iq:register">>, _el);
+ decode_register_name(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"password">>, <<"jabber:iq:register">>} ->
- decode_register_password(<<"jabber:iq:register">>, _el);
+ decode_register_password(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"nick">>, <<"jabber:iq:register">>} ->
- decode_register_nick(<<"jabber:iq:register">>, _el);
+ decode_register_nick(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"username">>, <<"jabber:iq:register">>} ->
- decode_register_username(<<"jabber:iq:register">>, _el);
+ decode_register_username(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"instructions">>, <<"jabber:iq:register">>} ->
decode_register_instructions(<<"jabber:iq:register">>,
- _el);
+ IgnoreEls, _el);
{<<"remove">>, <<"jabber:iq:register">>} ->
- decode_register_remove(<<"jabber:iq:register">>, _el);
+ decode_register_remove(<<"jabber:iq:register">>,
+ IgnoreEls, _el);
{<<"registered">>, <<"jabber:iq:register">>} ->
decode_register_registered(<<"jabber:iq:register">>,
- _el);
+ IgnoreEls, _el);
{<<"register">>,
<<"http://jabber.org/features/iq-register">>} ->
decode_feature_register(<<"http://jabber.org/features/iq-register">>,
- _el);
+ IgnoreEls, _el);
{<<"c">>, <<"http://jabber.org/protocol/caps">>} ->
- decode_caps(<<"http://jabber.org/protocol/caps">>, _el);
+ decode_caps(<<"http://jabber.org/protocol/caps">>,
+ IgnoreEls, _el);
{<<"ack">>, <<"p1:ack">>} ->
- decode_p1_ack(<<"p1:ack">>, _el);
+ decode_p1_ack(<<"p1:ack">>, IgnoreEls, _el);
{<<"rebind">>, <<"p1:rebind">>} ->
- decode_p1_rebind(<<"p1:rebind">>, _el);
+ decode_p1_rebind(<<"p1:rebind">>, IgnoreEls, _el);
{<<"push">>, <<"p1:push">>} ->
- decode_p1_push(<<"p1:push">>, _el);
+ decode_p1_push(<<"p1:push">>, IgnoreEls, _el);
{<<"stream:features">>,
<<"http://etherx.jabber.org/streams">>} ->
decode_stream_features(<<"http://etherx.jabber.org/streams">>,
- _el);
+ IgnoreEls, _el);
{<<"compression">>,
<<"http://jabber.org/features/compress">>} ->
decode_compression(<<"http://jabber.org/features/compress">>,
- _el);
+ IgnoreEls, _el);
{<<"method">>,
<<"http://jabber.org/features/compress">>} ->
decode_compression_method(<<"http://jabber.org/features/compress">>,
- _el);
+ IgnoreEls, _el);
{<<"compressed">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compressed(<<"http://jabber.org/protocol/compress">>,
- _el);
+ IgnoreEls, _el);
{<<"compress">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compress(<<"http://jabber.org/protocol/compress">>,
- _el);
+ IgnoreEls, _el);
{<<"method">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compress_method(<<"http://jabber.org/protocol/compress">>,
- _el);
+ IgnoreEls, _el);
{<<"failure">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compress_failure(<<"http://jabber.org/protocol/compress">>,
- _el);
+ IgnoreEls, _el);
{<<"unsupported-method">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compress_failure_unsupported_method(<<"http://jabber.org/protocol/compress">>,
- _el);
+ IgnoreEls, _el);
{<<"processing-failed">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compress_failure_processing_failed(<<"http://jabber.org/protocol/compress">>,
- _el);
+ IgnoreEls, _el);
{<<"setup-failed">>,
<<"http://jabber.org/protocol/compress">>} ->
decode_compress_failure_setup_failed(<<"http://jabber.org/protocol/compress">>,
- _el);
+ IgnoreEls, _el);
{<<"failure">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>} ->
decode_starttls_failure(<<"urn:ietf:params:xml:ns:xmpp-tls">>,
- _el);
+ IgnoreEls, _el);
{<<"proceed">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>} ->
decode_starttls_proceed(<<"urn:ietf:params:xml:ns:xmpp-tls">>,
- _el);
+ IgnoreEls, _el);
{<<"starttls">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>} ->
decode_starttls(<<"urn:ietf:params:xml:ns:xmpp-tls">>,
- _el);
+ IgnoreEls, _el);
{<<"required">>,
<<"urn:ietf:params:xml:ns:xmpp-tls">>} ->
decode_starttls_required(<<"urn:ietf:params:xml:ns:xmpp-tls">>,
- _el);
+ IgnoreEls, _el);
{<<"mechanisms">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_mechanisms(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"mechanism">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_mechanism(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"failure">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ 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">>,
- _el);
+ IgnoreEls, _el);
{<<"not-authorized">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_not_authorized(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ 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">>,
- _el);
+ IgnoreEls, _el);
{<<"malformed-request">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_malformed_request(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"invalid-mechanism">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_invalid_mechanism(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"invalid-authzid">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_invalid_authzid(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"incorrect-encoding">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_incorrect_encoding(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"encryption-required">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_encryption_required(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"credentials-expired">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_credentials_expired(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"account-disabled">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_account_disabled(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"aborted">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_aborted(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"text">>, <<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_failure_text(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"success">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_success(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"response">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_response(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"challenge">>,
<<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_challenge(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"abort">>, <<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_abort(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"auth">>, <<"urn:ietf:params:xml:ns:xmpp-sasl">>} ->
decode_sasl_auth(<<"urn:ietf:params:xml:ns:xmpp-sasl">>,
- _el);
+ IgnoreEls, _el);
{<<"bind">>, <<"urn:ietf:params:xml:ns:xmpp-bind">>} ->
decode_bind(<<"urn:ietf:params:xml:ns:xmpp-bind">>,
- _el);
+ IgnoreEls, _el);
{<<"resource">>,
<<"urn:ietf:params:xml:ns:xmpp-bind">>} ->
decode_bind_resource(<<"urn:ietf:params:xml:ns:xmpp-bind">>,
- _el);
+ IgnoreEls, _el);
{<<"jid">>, <<"urn:ietf:params:xml:ns:xmpp-bind">>} ->
decode_bind_jid(<<"urn:ietf:params:xml:ns:xmpp-bind">>,
- _el);
+ IgnoreEls, _el);
{<<"error">>, <<"jabber:client">>} ->
- decode_error(<<"jabber:client">>, _el);
+ decode_error(<<"jabber:client">>, IgnoreEls, _el);
{<<"text">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_text(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"unexpected-request">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_unexpected_request(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"undefined-condition">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_undefined_condition(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"subscription-required">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_subscription_required(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"service-unavailable">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_service_unavailable(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"resource-constraint">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_resource_constraint(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"remote-server-timeout">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_remote_server_timeout(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ 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">>,
- _el);
+ IgnoreEls, _el);
{<<"registration-required">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_registration_required(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"redirect">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_redirect(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"recipient-unavailable">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_recipient_unavailable(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"policy-violation">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_policy_violation(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"not-authorized">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_not_authorized(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"not-allowed">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_not_allowed(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"not-acceptable">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_not_acceptable(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"jid-malformed">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_jid_malformed(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"item-not-found">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_item_not_found(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"internal-server-error">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_internal_server_error(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"gone">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_gone(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"forbidden">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_forbidden(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"feature-not-implemented">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_feature_not_implemented(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"conflict">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_conflict(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"bad-request">>,
<<"urn:ietf:params:xml:ns:xmpp-stanzas">>} ->
decode_error_bad_request(<<"urn:ietf:params:xml:ns:xmpp-stanzas">>,
- _el);
+ IgnoreEls, _el);
{<<"presence">>, <<"jabber:client">>} ->
- decode_presence(<<"jabber:client">>, _el);
+ decode_presence(<<"jabber:client">>, IgnoreEls, _el);
{<<"priority">>, <<"jabber:client">>} ->
- decode_presence_priority(<<"jabber:client">>, _el);
+ decode_presence_priority(<<"jabber:client">>, IgnoreEls,
+ _el);
{<<"status">>, <<"jabber:client">>} ->
- decode_presence_status(<<"jabber:client">>, _el);
+ decode_presence_status(<<"jabber:client">>, IgnoreEls,
+ _el);
{<<"show">>, <<"jabber:client">>} ->
- decode_presence_show(<<"jabber:client">>, _el);
+ decode_presence_show(<<"jabber:client">>, IgnoreEls,
+ _el);
{<<"message">>, <<"jabber:client">>} ->
- decode_message(<<"jabber:client">>, _el);
+ decode_message(<<"jabber:client">>, IgnoreEls, _el);
{<<"thread">>, <<"jabber:client">>} ->
- decode_message_thread(<<"jabber:client">>, _el);
+ decode_message_thread(<<"jabber:client">>, IgnoreEls,
+ _el);
{<<"body">>, <<"jabber:client">>} ->
- decode_message_body(<<"jabber:client">>, _el);
+ decode_message_body(<<"jabber:client">>, IgnoreEls,
+ _el);
{<<"subject">>, <<"jabber:client">>} ->
- decode_message_subject(<<"jabber:client">>, _el);
+ decode_message_subject(<<"jabber:client">>, IgnoreEls,
+ _el);
{<<"iq">>, <<"jabber:client">>} ->
- decode_iq(<<"jabber:client">>, _el);
+ decode_iq(<<"jabber:client">>, IgnoreEls, _el);
{<<"query">>, <<"http://jabber.org/protocol/stats">>} ->
decode_stats(<<"http://jabber.org/protocol/stats">>,
- _el);
+ IgnoreEls, _el);
{<<"stat">>, <<"http://jabber.org/protocol/stats">>} ->
decode_stat(<<"http://jabber.org/protocol/stats">>,
- _el);
+ IgnoreEls, _el);
{<<"error">>, <<"http://jabber.org/protocol/stats">>} ->
decode_stat_error(<<"http://jabber.org/protocol/stats">>,
- _el);
+ IgnoreEls, _el);
{<<"storage">>, <<"storage:bookmarks">>} ->
- decode_bookmarks_storage(<<"storage:bookmarks">>, _el);
+ decode_bookmarks_storage(<<"storage:bookmarks">>,
+ IgnoreEls, _el);
{<<"url">>, <<"storage:bookmarks">>} ->
- decode_bookmark_url(<<"storage:bookmarks">>, _el);
+ decode_bookmark_url(<<"storage:bookmarks">>, IgnoreEls,
+ _el);
{<<"conference">>, <<"storage:bookmarks">>} ->
decode_bookmark_conference(<<"storage:bookmarks">>,
- _el);
+ IgnoreEls, _el);
{<<"password">>, <<"storage:bookmarks">>} ->
decode_conference_password(<<"storage:bookmarks">>,
- _el);
+ IgnoreEls, _el);
{<<"nick">>, <<"storage:bookmarks">>} ->
- decode_conference_nick(<<"storage:bookmarks">>, _el);
+ decode_conference_nick(<<"storage:bookmarks">>,
+ IgnoreEls, _el);
{<<"query">>, <<"jabber:iq:private">>} ->
- decode_private(<<"jabber:iq:private">>, _el);
+ decode_private(<<"jabber:iq:private">>, IgnoreEls, _el);
{<<"query">>,
<<"http://jabber.org/protocol/disco#items">>} ->
decode_disco_items(<<"http://jabber.org/protocol/disco#items">>,
- _el);
+ IgnoreEls, _el);
{<<"item">>,
<<"http://jabber.org/protocol/disco#items">>} ->
decode_disco_item(<<"http://jabber.org/protocol/disco#items">>,
- _el);
+ IgnoreEls, _el);
{<<"query">>,
<<"http://jabber.org/protocol/disco#info">>} ->
decode_disco_info(<<"http://jabber.org/protocol/disco#info">>,
- _el);
+ IgnoreEls, _el);
{<<"feature">>,
<<"http://jabber.org/protocol/disco#info">>} ->
decode_disco_feature(<<"http://jabber.org/protocol/disco#info">>,
- _el);
+ IgnoreEls, _el);
{<<"identity">>,
<<"http://jabber.org/protocol/disco#info">>} ->
decode_disco_identity(<<"http://jabber.org/protocol/disco#info">>,
- _el);
+ IgnoreEls, _el);
{<<"blocklist">>, <<"urn:xmpp:blocking">>} ->
- decode_block_list(<<"urn:xmpp:blocking">>, _el);
+ decode_block_list(<<"urn:xmpp:blocking">>, IgnoreEls,
+ _el);
{<<"unblock">>, <<"urn:xmpp:blocking">>} ->
- decode_unblock(<<"urn:xmpp:blocking">>, _el);
+ decode_unblock(<<"urn:xmpp:blocking">>, IgnoreEls, _el);
{<<"block">>, <<"urn:xmpp:blocking">>} ->
- decode_block(<<"urn:xmpp:blocking">>, _el);
+ decode_block(<<"urn:xmpp:blocking">>, IgnoreEls, _el);
{<<"item">>, <<"urn:xmpp:blocking">>} ->
- decode_block_item(<<"urn:xmpp:blocking">>, _el);
+ decode_block_item(<<"urn:xmpp:blocking">>, IgnoreEls,
+ _el);
{<<"query">>, <<"jabber:iq:privacy">>} ->
- decode_privacy(<<"jabber:iq:privacy">>, _el);
+ decode_privacy(<<"jabber:iq:privacy">>, IgnoreEls, _el);
{<<"active">>, <<"jabber:iq:privacy">>} ->
decode_privacy_active_list(<<"jabber:iq:privacy">>,
- _el);
+ IgnoreEls, _el);
{<<"default">>, <<"jabber:iq:privacy">>} ->
decode_privacy_default_list(<<"jabber:iq:privacy">>,
- _el);
+ IgnoreEls, _el);
{<<"list">>, <<"jabber:iq:privacy">>} ->
- decode_privacy_list(<<"jabber:iq:privacy">>, _el);
+ decode_privacy_list(<<"jabber:iq:privacy">>, IgnoreEls,
+ _el);
{<<"item">>, <<"jabber:iq:privacy">>} ->
- decode_privacy_item(<<"jabber:iq:privacy">>, _el);
+ decode_privacy_item(<<"jabber:iq:privacy">>, IgnoreEls,
+ _el);
{<<"presence-out">>, <<"jabber:iq:privacy">>} ->
decode_privacy_presence_out(<<"jabber:iq:privacy">>,
- _el);
+ IgnoreEls, _el);
{<<"presence-in">>, <<"jabber:iq:privacy">>} ->
decode_privacy_presence_in(<<"jabber:iq:privacy">>,
- _el);
+ IgnoreEls, _el);
{<<"iq">>, <<"jabber:iq:privacy">>} ->
- decode_privacy_iq(<<"jabber:iq:privacy">>, _el);
+ decode_privacy_iq(<<"jabber:iq:privacy">>, IgnoreEls,
+ _el);
{<<"message">>, <<"jabber:iq:privacy">>} ->
- decode_privacy_message(<<"jabber:iq:privacy">>, _el);
+ decode_privacy_message(<<"jabber:iq:privacy">>,
+ IgnoreEls, _el);
{<<"query">>, <<"jabber:iq:roster">>} ->
- decode_roster(<<"jabber:iq:roster">>, _el);
+ decode_roster(<<"jabber:iq:roster">>, IgnoreEls, _el);
{<<"item">>, <<"jabber:iq:roster">>} ->
- decode_roster_item(<<"jabber:iq:roster">>, _el);
+ decode_roster_item(<<"jabber:iq:roster">>, IgnoreEls,
+ _el);
{<<"group">>, <<"jabber:iq:roster">>} ->
- decode_roster_group(<<"jabber:iq:roster">>, _el);
+ decode_roster_group(<<"jabber:iq:roster">>, IgnoreEls,
+ _el);
{<<"query">>, <<"jabber:iq:version">>} ->
- decode_version(<<"jabber:iq:version">>, _el);
+ decode_version(<<"jabber:iq:version">>, IgnoreEls, _el);
{<<"os">>, <<"jabber:iq:version">>} ->
- decode_version_os(<<"jabber:iq:version">>, _el);
+ decode_version_os(<<"jabber:iq:version">>, IgnoreEls,
+ _el);
{<<"version">>, <<"jabber:iq:version">>} ->
- decode_version_ver(<<"jabber:iq:version">>, _el);
+ decode_version_ver(<<"jabber:iq:version">>, IgnoreEls,
+ _el);
{<<"name">>, <<"jabber:iq:version">>} ->
- decode_version_name(<<"jabber:iq:version">>, _el);
+ decode_version_name(<<"jabber:iq:version">>, IgnoreEls,
+ _el);
{<<"query">>, <<"jabber:iq:last">>} ->
- decode_last(<<"jabber:iq:last">>, _el);
+ decode_last(<<"jabber:iq:last">>, IgnoreEls, _el);
{_name, _xmlns} ->
erlang:error({xmpp_codec, {unknown_tag, _name, _xmlns}})
end.
_ -> false
end.
+encode({xmlel, _, _, _} = El) -> El;
encode({last, _, _} = Query) ->
encode_last(Query,
[{<<"xmlns">>, <<"jabber:iq:last">>}]);
[{<<"xmlns">>,
<<"http://jabber.org/features/iq-register">>}]);
encode({register, _, _, _, _, _, _, _, _, _, _, _, _, _,
- _, _, _, _, _, _, _} =
+ _, _, _, _, _, _, _, _} =
Query) ->
encode_register(Query,
[{<<"xmlns">>, <<"jabber:iq:register">>}]);
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">>,
encode_muc_owner(Query,
[{<<"xmlns">>,
<<"http://jabber.org/protocol/muc#owner">>}]);
+encode({muc_item, _, _, _, _, _, _, _} = Item) ->
+ encode_muc_admin_item(Item, []);
+encode({muc_actor, _, _} = Actor) ->
+ encode_muc_admin_actor(Actor, []);
encode({muc_admin, _} = Query) ->
encode_muc_admin(Query,
[{<<"xmlns">>,
encode({sm_failed, _, _} = Failed) ->
encode_sm_failed(Failed, []).
+get_ns({last, _, _}) -> <<"jabber:iq:last">>;
+get_ns({version, _, _, _}) -> <<"jabber:iq:version">>;
+get_ns({roster_item, _, _, _, _, _}) ->
+ <<"jabber:iq:roster">>;
+get_ns({roster, _, _}) -> <<"jabber:iq:roster">>;
+get_ns({privacy_item, _, _, _, _, _}) ->
+ <<"jabber:iq:privacy">>;
+get_ns({privacy_list, _, _}) -> <<"jabber:iq:privacy">>;
+get_ns({privacy, _, _, _}) -> <<"jabber:iq:privacy">>;
+get_ns({block, _}) -> <<"urn:xmpp:blocking">>;
+get_ns({unblock, _}) -> <<"urn:xmpp:blocking">>;
+get_ns({block_list}) -> <<"urn:xmpp:blocking">>;
+get_ns({identity, _, _, _, _}) ->
+ <<"http://jabber.org/protocol/disco#info">>;
+get_ns({disco_info, _, _, _, _}) ->
+ <<"http://jabber.org/protocol/disco#info">>;
+get_ns({disco_item, _, _, _}) ->
+ <<"http://jabber.org/protocol/disco#items">>;
+get_ns({disco_items, _, _}) ->
+ <<"http://jabber.org/protocol/disco#items">>;
+get_ns({private, _}) -> <<"jabber:iq:private">>;
+get_ns({bookmark_conference, _, _, _, _, _}) ->
+ <<"storage:bookmarks">>;
+get_ns({bookmark_url, _, _}) -> <<"storage:bookmarks">>;
+get_ns({bookmark_storage, _, _}) ->
+ <<"storage:bookmarks">>;
+get_ns({stat, _, _, _, _}) ->
+ <<"http://jabber.org/protocol/stats">>;
+get_ns({stats, _}) ->
+ <<"http://jabber.org/protocol/stats">>;
+get_ns({iq, _, _, _, _, _, _, _}) ->
+ <<"jabber:client">>;
+get_ns({message, _, _, _, _, _, _, _, _, _, _}) ->
+ <<"jabber:client">>;
+get_ns({presence, _, _, _, _, _, _, _, _, _, _}) ->
+ <<"jabber:client">>;
+get_ns({gone, _}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-stanzas">>;
+get_ns({redirect, _}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-stanzas">>;
+get_ns({error, _, _, _, _}) -> <<"jabber:client">>;
+get_ns({bind, _, _}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-bind">>;
+get_ns({sasl_auth, _, _}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-sasl">>;
+get_ns({sasl_abort}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-sasl">>;
+get_ns({sasl_challenge, _}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-sasl">>;
+get_ns({sasl_response, _}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-sasl">>;
+get_ns({sasl_success, _}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-sasl">>;
+get_ns({sasl_failure, _, _}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-sasl">>;
+get_ns({sasl_mechanisms, _}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-sasl">>;
+get_ns({starttls, _}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-tls">>;
+get_ns({starttls_proceed}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-tls">>;
+get_ns({starttls_failure}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-tls">>;
+get_ns({compress_failure, _}) ->
+ <<"http://jabber.org/protocol/compress">>;
+get_ns({compress, _}) ->
+ <<"http://jabber.org/protocol/compress">>;
+get_ns({compressed}) ->
+ <<"http://jabber.org/protocol/compress">>;
+get_ns({compression, _}) ->
+ <<"http://jabber.org/features/compress">>;
+get_ns({stream_features, _}) ->
+ <<"http://etherx.jabber.org/streams">>;
+get_ns({p1_push}) -> <<"p1:push">>;
+get_ns({p1_rebind}) -> <<"p1:rebind">>;
+get_ns({p1_ack}) -> <<"p1:ack">>;
+get_ns({caps, _, _, _}) ->
+ <<"http://jabber.org/protocol/caps">>;
+get_ns({feature_register}) ->
+ <<"http://jabber.org/features/iq-register">>;
+get_ns({register, _, _, _, _, _, _, _, _, _, _, _, _, _,
+ _, _, _, _, _, _, _, _}) ->
+ <<"jabber:iq:register">>;
+get_ns({session}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-session">>;
+get_ns({ping}) -> <<"urn:xmpp:ping">>;
+get_ns({time, _, _}) -> <<"urn:xmpp:time">>;
+get_ns({'see-other-host', _}) ->
+ <<"urn:ietf:params:xml:ns:xmpp-streams">>;
+get_ns({stream_error, _, _}) ->
+ <<"http://etherx.jabber.org/streams">>;
+get_ns({vcard_name, _, _, _, _, _}) -> <<"vcard-temp">>;
+get_ns({vcard_adr, _, _, _, _, _, _, _, _, _, _, _, _,
+ _, _}) ->
+ <<"vcard-temp">>;
+get_ns({vcard_label, _, _, _, _, _, _, _, _}) ->
+ <<"vcard-temp">>;
+get_ns({vcard_tel, _, _, _, _, _, _, _, _, _, _, _, _,
+ _, _}) ->
+ <<"vcard-temp">>;
+get_ns({vcard_email, _, _, _, _, _, _}) ->
+ <<"vcard-temp">>;
+get_ns({vcard_geo, _, _}) -> <<"vcard-temp">>;
+get_ns({vcard_logo, _, _, _}) -> <<"vcard-temp">>;
+get_ns({vcard_photo, _, _, _}) -> <<"vcard-temp">>;
+get_ns({vcard_org, _, _}) -> <<"vcard-temp">>;
+get_ns({vcard_sound, _, _, _}) -> <<"vcard-temp">>;
+get_ns({vcard_key, _, _}) -> <<"vcard-temp">>;
+get_ns({vcard, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _}) ->
+ <<"vcard-temp">>;
+get_ns({xdata_field, _, _, _, _, _, _, _}) ->
+ <<"jabber:x:data">>;
+get_ns({xdata, _, _, _, _, _, _}) ->
+ <<"jabber:x:data">>;
+get_ns({pubsub_subscription, _, _, _, _}) ->
+ <<"http://jabber.org/protocol/pubsub">>;
+get_ns({pubsub_affiliation, _, _}) ->
+ <<"http://jabber.org/protocol/pubsub">>;
+get_ns({pubsub_item, _, _}) ->
+ <<"http://jabber.org/protocol/pubsub">>;
+get_ns({pubsub_items, _, _, _, _}) ->
+ <<"http://jabber.org/protocol/pubsub">>;
+get_ns({pubsub_event_item, _, _, _}) ->
+ <<"http://jabber.org/protocol/pubsub#event">>;
+get_ns({pubsub_event_items, _, _, _}) ->
+ <<"http://jabber.org/protocol/pubsub#event">>;
+get_ns({pubsub_event, _}) ->
+ <<"http://jabber.org/protocol/pubsub#event">>;
+get_ns({pubsub_subscribe, _, _}) ->
+ <<"http://jabber.org/protocol/pubsub">>;
+get_ns({pubsub_unsubscribe, _, _, _}) ->
+ <<"http://jabber.org/protocol/pubsub">>;
+get_ns({pubsub_publish, _, _}) ->
+ <<"http://jabber.org/protocol/pubsub">>;
+get_ns({pubsub_options, _, _, _, _}) ->
+ <<"http://jabber.org/protocol/pubsub">>;
+get_ns({pubsub_retract, _, _, _}) ->
+ <<"http://jabber.org/protocol/pubsub">>;
+get_ns({pubsub, _, _, _, _, _, _, _, _}) ->
+ <<"http://jabber.org/protocol/pubsub">>;
+get_ns({shim, _}) ->
+ <<"http://jabber.org/protocol/shim">>;
+get_ns({delay, _, _}) -> <<"urn:xmpp:delay">>;
+get_ns({legacy_delay, _, _}) -> <<"jabber:x:delay">>;
+get_ns({streamhost, _, _, _}) ->
+ <<"http://jabber.org/protocol/bytestreams">>;
+get_ns({bytestreams, _, _, _, _, _, _}) ->
+ <<"http://jabber.org/protocol/bytestreams">>;
+get_ns({muc_history, _, _, _, _}) ->
+ <<"http://jabber.org/protocol/muc">>;
+get_ns({muc_decline, _, _, _}) ->
+ <<"http://jabber.org/protocol/muc#user">>;
+get_ns({muc_user_destroy, _, _}) ->
+ <<"http://jabber.org/protocol/muc#user">>;
+get_ns({muc_invite, _, _, _}) ->
+ <<"http://jabber.org/protocol/muc#user">>;
+get_ns({muc_user, _, _, _, _, _, _}) ->
+ <<"http://jabber.org/protocol/muc#user">>;
+get_ns({muc_owner_destroy, _, _, _}) ->
+ <<"http://jabber.org/protocol/muc#owner">>;
+get_ns({muc_owner, _, _}) ->
+ <<"http://jabber.org/protocol/muc#owner">>;
+get_ns({muc_admin, _}) ->
+ <<"http://jabber.org/protocol/muc#admin">>;
+get_ns({muc, _, _}) ->
+ <<"http://jabber.org/protocol/muc">>;
+get_ns({forwarded, _, _}) -> <<"urn:xmpp:forward:0">>;
+get_ns({carbons_disable}) -> <<"urn:xmpp:carbons:2">>;
+get_ns({carbons_enable}) -> <<"urn:xmpp:carbons:2">>;
+get_ns({carbons_private}) -> <<"urn:xmpp:carbons:2">>;
+get_ns({carbons_received, _}) ->
+ <<"urn:xmpp:carbons:2">>;
+get_ns({carbons_sent, _}) -> <<"urn:xmpp:carbons:2">>;
+get_ns(_) -> <<>>.
+
dec_int(Val) -> dec_int(Val, infinity, infinity).
dec_int(Val, Min, Max) ->
pp(p1_ack, 0) -> [];
pp(caps, 3) -> [hash, node, ver];
pp(feature_register, 0) -> [];
-pp(register, 20) ->
+pp(register, 21) ->
[registered, remove, instructions, username, nick,
password, name, first, last, email, address, city,
- state, zip, phone, url, date, misc, text, key];
+ state, zip, phone, url, date, misc, text, key, xdata];
pp(session, 0) -> [];
pp(ping, 0) -> [];
pp(time, 2) -> [tzo, utc];
M = jlib:binary_to_integer(M1),
if H >= -12, H =< 12, M >= 0, M < 60 -> {H, M} end.
-decode_sm_failed(__TopXMLNS,
+decode_sm_failed(__TopXMLNS, __IgnoreEls,
{xmlel, <<"failed">>, _attrs, _els}) ->
- Reason = decode_sm_failed_els(__TopXMLNS, _els,
- undefined),
+ Reason = decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
+ _els, undefined),
Xmlns = decode_sm_failed_attrs(__TopXMLNS, _attrs,
undefined),
{sm_failed, Reason, Xmlns}.
-decode_sm_failed_els(__TopXMLNS, [], Reason) -> Reason;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls, [],
+ Reason) ->
+ Reason;
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"bad-request">>, _attrs, _} = _el | _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_bad_request(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_bad_request(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"conflict">>, _attrs, _} = _el | _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_conflict(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_conflict(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"feature-not-implemented">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
decode_error_feature_not_implemented(_xmlns,
+ __IgnoreEls,
_el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"forbidden">>, _attrs, _} = _el | _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_forbidden(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_forbidden(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"gone">>, _attrs, _} = _el | _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_gone(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_gone(_xmlns, __IgnoreEls, _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"internal-server-error">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
decode_error_internal_server_error(_xmlns,
+ __IgnoreEls,
_el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item-not-found">>, _attrs, _} = _el | _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_item_not_found(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_item_not_found(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"jid-malformed">>, _attrs, _} = _el | _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_jid_malformed(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_jid_malformed(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"not-acceptable">>, _attrs, _} = _el | _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_not_acceptable(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_not_acceptable(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"not-allowed">>, _attrs, _} = _el | _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_not_allowed(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_not_allowed(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"not-authorized">>, _attrs, _} = _el | _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_not_authorized(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_not_authorized(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"policy-violation">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_policy_violation(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_policy_violation(_xmlns,
+ __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"recipient-unavailable">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
decode_error_recipient_unavailable(_xmlns,
+ __IgnoreEls,
_el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"redirect">>, _attrs, _} = _el | _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_redirect(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_redirect(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"registration-required">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
decode_error_registration_required(_xmlns,
+ __IgnoreEls,
_el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"remote-server-not-found">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
decode_error_remote_server_not_found(_xmlns,
+ __IgnoreEls,
_el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"remote-server-timeout">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
decode_error_remote_server_timeout(_xmlns,
+ __IgnoreEls,
_el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"resource-constraint">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_resource_constraint(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_resource_constraint(_xmlns,
+ __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"service-unavailable">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_service_unavailable(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_service_unavailable(_xmlns,
+ __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"subscription-required">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
decode_error_subscription_required(_xmlns,
+ __IgnoreEls,
_el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"undefined-condition">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_undefined_condition(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_undefined_condition(_xmlns,
+ __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS,
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"unexpected-request">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_sm_failed_els(__TopXMLNS, _els,
- decode_error_unexpected_request(_xmlns, _el));
- true -> decode_sm_failed_els(__TopXMLNS, _els, Reason)
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_unexpected_request(_xmlns,
+ __IgnoreEls,
+ _el));
+ true ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason)
end;
-decode_sm_failed_els(__TopXMLNS, [_ | _els], Reason) ->
- decode_sm_failed_els(__TopXMLNS, _els, Reason).
+decode_sm_failed_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Reason) ->
+ decode_sm_failed_els(__TopXMLNS, __IgnoreEls, _els,
+ Reason).
decode_sm_failed_attrs(__TopXMLNS,
[{<<"xmlns">>, _val} | _attrs], _Xmlns) ->
encode_sm_failed({sm_failed, Reason, Xmlns},
_xmlns_attrs) ->
- _els = 'encode_sm_failed_$reason'(Reason, []),
+ _els = lists:reverse('encode_sm_failed_$reason'(Reason,
+ [])),
_attrs = encode_sm_failed_attr_xmlns(Xmlns,
_xmlns_attrs),
{xmlel, <<"failed">>, _attrs, _els}.
encode_sm_failed_attr_xmlns(_val, _acc) ->
[{<<"xmlns">>, _val} | _acc].
-decode_sm_a(__TopXMLNS,
+decode_sm_a(__TopXMLNS, __IgnoreEls,
{xmlel, <<"a">>, _attrs, _els}) ->
{H, Xmlns} = decode_sm_a_attrs(__TopXMLNS, _attrs,
undefined, undefined),
encode_sm_a_attr_xmlns(_val, _acc) ->
[{<<"xmlns">>, _val} | _acc].
-decode_sm_r(__TopXMLNS,
+decode_sm_r(__TopXMLNS, __IgnoreEls,
{xmlel, <<"r">>, _attrs, _els}) ->
Xmlns = decode_sm_r_attrs(__TopXMLNS, _attrs,
undefined),
encode_sm_r_attr_xmlns(_val, _acc) ->
[{<<"xmlns">>, _val} | _acc].
-decode_sm_resumed(__TopXMLNS,
+decode_sm_resumed(__TopXMLNS, __IgnoreEls,
{xmlel, <<"resumed">>, _attrs, _els}) ->
{H, Xmlns, Previd} = decode_sm_resumed_attrs(__TopXMLNS,
_attrs, undefined, undefined,
encode_sm_resumed_attr_previd(_val, _acc) ->
[{<<"previd">>, _val} | _acc].
-decode_sm_resume(__TopXMLNS,
+decode_sm_resume(__TopXMLNS, __IgnoreEls,
{xmlel, <<"resume">>, _attrs, _els}) ->
{H, Xmlns, Previd} = decode_sm_resume_attrs(__TopXMLNS,
_attrs, undefined, undefined,
encode_sm_resume_attr_previd(_val, _acc) ->
[{<<"previd">>, _val} | _acc].
-decode_sm_enabled(__TopXMLNS,
+decode_sm_enabled(__TopXMLNS, __IgnoreEls,
{xmlel, <<"enabled">>, _attrs, _els}) ->
{Id, Location, Xmlns, Max, Resume} =
decode_sm_enabled_attrs(__TopXMLNS, _attrs, undefined,
encode_sm_enabled_attr_resume(_val, _acc) ->
[{<<"resume">>, enc_bool(_val)} | _acc].
-decode_sm_enable(__TopXMLNS,
+decode_sm_enable(__TopXMLNS, __IgnoreEls,
{xmlel, <<"enable">>, _attrs, _els}) ->
{Max, Xmlns, Resume} =
decode_sm_enable_attrs(__TopXMLNS, _attrs, undefined,
encode_sm_enable_attr_resume(_val, _acc) ->
[{<<"resume">>, enc_bool(_val)} | _acc].
-decode_feature_sm(__TopXMLNS,
+decode_feature_sm(__TopXMLNS, __IgnoreEls,
{xmlel, <<"sm">>, _attrs, _els}) ->
Xmlns = decode_feature_sm_attrs(__TopXMLNS, _attrs,
undefined),
encode_feature_sm_attr_xmlns(_val, _acc) ->
[{<<"xmlns">>, _val} | _acc].
-decode_carbons_sent(__TopXMLNS,
+decode_carbons_sent(__TopXMLNS, __IgnoreEls,
{xmlel, <<"sent">>, _attrs, _els}) ->
- Forwarded = decode_carbons_sent_els(__TopXMLNS, _els,
- error),
+ Forwarded = decode_carbons_sent_els(__TopXMLNS,
+ __IgnoreEls, _els, error),
{carbons_sent, Forwarded}.
-decode_carbons_sent_els(__TopXMLNS, [], Forwarded) ->
+decode_carbons_sent_els(__TopXMLNS, __IgnoreEls, [],
+ Forwarded) ->
case Forwarded of
error ->
erlang:error({xmpp_codec,
{missing_tag, <<"forwarded">>, __TopXMLNS}});
{value, Forwarded1} -> Forwarded1
end;
-decode_carbons_sent_els(__TopXMLNS,
+decode_carbons_sent_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"forwarded">>, _attrs, _} = _el | _els],
Forwarded) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<"urn:xmpp:forward:0">> ->
- decode_carbons_sent_els(__TopXMLNS, _els,
- {value, decode_forwarded(_xmlns, _el)});
+ decode_carbons_sent_els(__TopXMLNS, __IgnoreEls, _els,
+ {value,
+ decode_forwarded(_xmlns, __IgnoreEls,
+ _el)});
true ->
- decode_carbons_sent_els(__TopXMLNS, _els, Forwarded)
+ decode_carbons_sent_els(__TopXMLNS, __IgnoreEls, _els,
+ Forwarded)
end;
-decode_carbons_sent_els(__TopXMLNS, [_ | _els],
- Forwarded) ->
- decode_carbons_sent_els(__TopXMLNS, _els, Forwarded).
+decode_carbons_sent_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Forwarded) ->
+ decode_carbons_sent_els(__TopXMLNS, __IgnoreEls, _els,
+ Forwarded).
encode_carbons_sent({carbons_sent, Forwarded},
_xmlns_attrs) ->
- _els = 'encode_carbons_sent_$forwarded'(Forwarded, []),
+ _els =
+ lists:reverse('encode_carbons_sent_$forwarded'(Forwarded,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"sent">>, _attrs, _els}.
[{<<"xmlns">>, <<"urn:xmpp:forward:0">>}])
| _acc].
-decode_carbons_received(__TopXMLNS,
+decode_carbons_received(__TopXMLNS, __IgnoreEls,
{xmlel, <<"received">>, _attrs, _els}) ->
Forwarded = decode_carbons_received_els(__TopXMLNS,
- _els, error),
+ __IgnoreEls, _els, error),
{carbons_received, Forwarded}.
-decode_carbons_received_els(__TopXMLNS, [],
+decode_carbons_received_els(__TopXMLNS, __IgnoreEls, [],
Forwarded) ->
case Forwarded of
error ->
{missing_tag, <<"forwarded">>, __TopXMLNS}});
{value, Forwarded1} -> Forwarded1
end;
-decode_carbons_received_els(__TopXMLNS,
+decode_carbons_received_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"forwarded">>, _attrs, _} = _el | _els],
Forwarded) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<"urn:xmpp:forward:0">> ->
- decode_carbons_received_els(__TopXMLNS, _els,
- {value, decode_forwarded(_xmlns, _el)});
+ decode_carbons_received_els(__TopXMLNS, __IgnoreEls,
+ _els,
+ {value,
+ decode_forwarded(_xmlns, __IgnoreEls,
+ _el)});
true ->
- decode_carbons_received_els(__TopXMLNS, _els, Forwarded)
+ decode_carbons_received_els(__TopXMLNS, __IgnoreEls,
+ _els, Forwarded)
end;
-decode_carbons_received_els(__TopXMLNS, [_ | _els],
- Forwarded) ->
- decode_carbons_received_els(__TopXMLNS, _els,
- Forwarded).
+decode_carbons_received_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Forwarded) ->
+ decode_carbons_received_els(__TopXMLNS, __IgnoreEls,
+ _els, Forwarded).
encode_carbons_received({carbons_received, Forwarded},
_xmlns_attrs) ->
- _els = 'encode_carbons_received_$forwarded'(Forwarded,
- []),
+ _els =
+ lists:reverse('encode_carbons_received_$forwarded'(Forwarded,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"received">>, _attrs, _els}.
[{<<"xmlns">>, <<"urn:xmpp:forward:0">>}])
| _acc].
-decode_carbons_private(__TopXMLNS,
+decode_carbons_private(__TopXMLNS, __IgnoreEls,
{xmlel, <<"private">>, _attrs, _els}) ->
{carbons_private}.
_attrs = _xmlns_attrs,
{xmlel, <<"private">>, _attrs, _els}.
-decode_carbons_enable(__TopXMLNS,
+decode_carbons_enable(__TopXMLNS, __IgnoreEls,
{xmlel, <<"enable">>, _attrs, _els}) ->
{carbons_enable}.
_attrs = _xmlns_attrs,
{xmlel, <<"enable">>, _attrs, _els}.
-decode_carbons_disable(__TopXMLNS,
+decode_carbons_disable(__TopXMLNS, __IgnoreEls,
{xmlel, <<"disable">>, _attrs, _els}) ->
{carbons_disable}.
_attrs = _xmlns_attrs,
{xmlel, <<"disable">>, _attrs, _els}.
-decode_forwarded(__TopXMLNS,
+decode_forwarded(__TopXMLNS, __IgnoreEls,
{xmlel, <<"forwarded">>, _attrs, _els}) ->
- {Delay, __Els} = decode_forwarded_els(__TopXMLNS, _els,
- undefined, []),
+ {Delay, __Els} = decode_forwarded_els(__TopXMLNS,
+ __IgnoreEls, _els, undefined, []),
{forwarded, Delay, __Els}.
-decode_forwarded_els(__TopXMLNS, [], Delay, __Els) ->
+decode_forwarded_els(__TopXMLNS, __IgnoreEls, [], Delay,
+ __Els) ->
{Delay, lists:reverse(__Els)};
-decode_forwarded_els(__TopXMLNS,
+decode_forwarded_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"delay">>, _attrs, _} = _el | _els], Delay,
__Els) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<"urn:xmpp:delay">> ->
- decode_forwarded_els(__TopXMLNS, _els,
- decode_delay(_xmlns, _el), __Els);
+ decode_forwarded_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_delay(_xmlns, __IgnoreEls, _el), __Els);
true ->
- decode_forwarded_els(__TopXMLNS, _els, Delay, __Els)
+ decode_forwarded_els(__TopXMLNS, __IgnoreEls, _els,
+ Delay, __Els)
end;
-decode_forwarded_els(__TopXMLNS,
+decode_forwarded_els(__TopXMLNS, __IgnoreEls,
[{xmlel, _, _, _} = _el | _els], Delay, __Els) ->
- case is_known_tag(_el) of
- true ->
- decode_forwarded_els(__TopXMLNS, _els, Delay,
- [decode(_el) | __Els]);
- false ->
- decode_forwarded_els(__TopXMLNS, _els, Delay, __Els)
- end;
-decode_forwarded_els(__TopXMLNS, [_ | _els], Delay,
- __Els) ->
- decode_forwarded_els(__TopXMLNS, _els, Delay, __Els).
+ if __IgnoreEls ->
+ decode_forwarded_els(__TopXMLNS, __IgnoreEls, _els,
+ Delay, [_el | __Els]);
+ true ->
+ case is_known_tag(_el) of
+ true ->
+ decode_forwarded_els(__TopXMLNS, __IgnoreEls, _els,
+ Delay, [decode(_el) | __Els]);
+ false ->
+ decode_forwarded_els(__TopXMLNS, __IgnoreEls, _els,
+ Delay, __Els)
+ end
+ end;
+decode_forwarded_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Delay, __Els) ->
+ decode_forwarded_els(__TopXMLNS, __IgnoreEls, _els,
+ Delay, __Els).
encode_forwarded({forwarded, Delay, __Els},
_xmlns_attrs) ->
- _els = 'encode_forwarded_$delay'(Delay,
- [encode(_el) || _el <- __Els]),
+ _els = [encode(_el) || _el <- __Els] ++
+ lists:reverse('encode_forwarded_$delay'(Delay, [])),
_attrs = _xmlns_attrs,
{xmlel, <<"forwarded">>, _attrs, _els}.
[{<<"xmlns">>, <<"urn:xmpp:delay">>}])
| _acc].
-decode_muc(__TopXMLNS,
+decode_muc(__TopXMLNS, __IgnoreEls,
{xmlel, <<"x">>, _attrs, _els}) ->
- History = decode_muc_els(__TopXMLNS, _els, undefined),
+ History = decode_muc_els(__TopXMLNS, __IgnoreEls, _els,
+ undefined),
Password = decode_muc_attrs(__TopXMLNS, _attrs,
undefined),
{muc, History, Password}.
-decode_muc_els(__TopXMLNS, [], History) -> History;
-decode_muc_els(__TopXMLNS,
+decode_muc_els(__TopXMLNS, __IgnoreEls, [], History) ->
+ History;
+decode_muc_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"history">>, _attrs, _} = _el | _els],
History) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_els(__TopXMLNS, _els,
- decode_muc_history(__TopXMLNS, _el));
- true -> decode_muc_els(__TopXMLNS, _els, History)
+ decode_muc_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_muc_history(__TopXMLNS, __IgnoreEls, _el));
+ true ->
+ decode_muc_els(__TopXMLNS, __IgnoreEls, _els, History)
end;
-decode_muc_els(__TopXMLNS, [_ | _els], History) ->
- decode_muc_els(__TopXMLNS, _els, History).
+decode_muc_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ History) ->
+ decode_muc_els(__TopXMLNS, __IgnoreEls, _els, History).
decode_muc_attrs(__TopXMLNS,
[{<<"password">>, _val} | _attrs], _Password) ->
decode_muc_attr_password(__TopXMLNS, Password).
encode_muc({muc, History, Password}, _xmlns_attrs) ->
- _els = 'encode_muc_$history'(History, []),
+ _els = lists:reverse('encode_muc_$history'(History,
+ [])),
_attrs = encode_muc_attr_password(Password,
_xmlns_attrs),
{xmlel, <<"x">>, _attrs, _els}.
encode_muc_attr_password(_val, _acc) ->
[{<<"password">>, _val} | _acc].
-decode_muc_admin(__TopXMLNS,
+decode_muc_admin(__TopXMLNS, __IgnoreEls,
{xmlel, <<"query">>, _attrs, _els}) ->
- Items = decode_muc_admin_els(__TopXMLNS, _els, []),
+ Items = decode_muc_admin_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
{muc_admin, Items}.
-decode_muc_admin_els(__TopXMLNS, [], Items) ->
+decode_muc_admin_els(__TopXMLNS, __IgnoreEls, [],
+ Items) ->
lists:reverse(Items);
-decode_muc_admin_els(__TopXMLNS,
+decode_muc_admin_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item">>, _attrs, _} = _el | _els], Items) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_admin_els(__TopXMLNS, _els,
- [decode_muc_admin_item(__TopXMLNS, _el)
+ decode_muc_admin_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_muc_admin_item(__TopXMLNS, __IgnoreEls,
+ _el)
| Items]);
- true -> decode_muc_admin_els(__TopXMLNS, _els, Items)
+ true ->
+ decode_muc_admin_els(__TopXMLNS, __IgnoreEls, _els,
+ Items)
end;
-decode_muc_admin_els(__TopXMLNS, [_ | _els], Items) ->
- decode_muc_admin_els(__TopXMLNS, _els, Items).
+decode_muc_admin_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Items) ->
+ decode_muc_admin_els(__TopXMLNS, __IgnoreEls, _els,
+ Items).
encode_muc_admin({muc_admin, Items}, _xmlns_attrs) ->
- _els = 'encode_muc_admin_$items'(Items, []),
+ _els = lists:reverse('encode_muc_admin_$items'(Items,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"query">>, _attrs, _els}.
'encode_muc_admin_$items'(_els,
[encode_muc_admin_item(Items, []) | _acc]).
-decode_muc_admin_reason(__TopXMLNS,
+decode_muc_admin_reason(__TopXMLNS, __IgnoreEls,
{xmlel, <<"reason">>, _attrs, _els}) ->
- Cdata = decode_muc_admin_reason_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_muc_admin_reason_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_muc_admin_reason_els(__TopXMLNS, [], Cdata) ->
+decode_muc_admin_reason_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_muc_admin_reason_cdata(__TopXMLNS, Cdata);
-decode_muc_admin_reason_els(__TopXMLNS,
+decode_muc_admin_reason_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_muc_admin_reason_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_muc_admin_reason_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_muc_admin_reason_els(__TopXMLNS, _els, Cdata).
+ decode_muc_admin_reason_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_muc_admin_reason_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_muc_admin_reason_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_muc_admin_reason(Cdata, _xmlns_attrs) ->
_els = encode_muc_admin_reason_cdata(Cdata, []),
encode_muc_admin_reason_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_muc_admin_continue(__TopXMLNS,
+decode_muc_admin_continue(__TopXMLNS, __IgnoreEls,
{xmlel, <<"continue">>, _attrs, _els}) ->
Thread = decode_muc_admin_continue_attrs(__TopXMLNS,
_attrs, undefined),
encode_muc_admin_continue_attr_thread(_val, _acc) ->
[{<<"thread">>, _val} | _acc].
-decode_muc_admin_actor(__TopXMLNS,
+decode_muc_admin_actor(__TopXMLNS, __IgnoreEls,
{xmlel, <<"actor">>, _attrs, _els}) ->
{Jid, Nick} = decode_muc_admin_actor_attrs(__TopXMLNS,
_attrs, undefined, undefined),
encode_muc_admin_actor_attr_nick(_val, _acc) ->
[{<<"nick">>, _val} | _acc].
-decode_muc_admin_item(__TopXMLNS,
+decode_muc_admin_item(__TopXMLNS, __IgnoreEls,
{xmlel, <<"item">>, _attrs, _els}) ->
{Actor, Continue, Reason} =
- decode_muc_admin_item_els(__TopXMLNS, _els, undefined,
- undefined, undefined),
+ decode_muc_admin_item_els(__TopXMLNS, __IgnoreEls, _els,
+ undefined, undefined, undefined),
{Affiliation, Role, Jid, Nick} =
decode_muc_admin_item_attrs(__TopXMLNS, _attrs,
undefined, undefined, undefined, undefined),
{muc_item, Actor, Continue, Reason, Affiliation, Role,
Jid, Nick}.
-decode_muc_admin_item_els(__TopXMLNS, [], Actor,
- Continue, Reason) ->
+decode_muc_admin_item_els(__TopXMLNS, __IgnoreEls, [],
+ Actor, Continue, Reason) ->
{Actor, Continue, Reason};
-decode_muc_admin_item_els(__TopXMLNS,
+decode_muc_admin_item_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"actor">>, _attrs, _} = _el | _els], Actor,
Continue, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_admin_item_els(__TopXMLNS, _els,
- decode_muc_admin_actor(__TopXMLNS, _el),
+ decode_muc_admin_item_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_muc_admin_actor(__TopXMLNS,
+ __IgnoreEls, _el),
Continue, Reason);
true ->
- decode_muc_admin_item_els(__TopXMLNS, _els, Actor,
- Continue, Reason)
+ decode_muc_admin_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Actor, Continue, Reason)
end;
-decode_muc_admin_item_els(__TopXMLNS,
+decode_muc_admin_item_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"continue">>, _attrs, _} = _el | _els],
Actor, Continue, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_admin_item_els(__TopXMLNS, _els, Actor,
- decode_muc_admin_continue(__TopXMLNS, _el),
+ decode_muc_admin_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Actor,
+ decode_muc_admin_continue(__TopXMLNS,
+ __IgnoreEls,
+ _el),
Reason);
true ->
- decode_muc_admin_item_els(__TopXMLNS, _els, Actor,
- Continue, Reason)
+ decode_muc_admin_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Actor, Continue, Reason)
end;
-decode_muc_admin_item_els(__TopXMLNS,
+decode_muc_admin_item_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"reason">>, _attrs, _} = _el | _els],
Actor, Continue, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_admin_item_els(__TopXMLNS, _els, Actor,
- Continue,
- decode_muc_admin_reason(__TopXMLNS, _el));
+ decode_muc_admin_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Actor, Continue,
+ decode_muc_admin_reason(__TopXMLNS,
+ __IgnoreEls, _el));
true ->
- decode_muc_admin_item_els(__TopXMLNS, _els, Actor,
- Continue, Reason)
+ decode_muc_admin_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Actor, Continue, Reason)
end;
-decode_muc_admin_item_els(__TopXMLNS, [_ | _els], Actor,
- Continue, Reason) ->
- decode_muc_admin_item_els(__TopXMLNS, _els, Actor,
- Continue, Reason).
+decode_muc_admin_item_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Actor, Continue, Reason) ->
+ decode_muc_admin_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Actor, Continue, Reason).
decode_muc_admin_item_attrs(__TopXMLNS,
[{<<"affiliation">>, _val} | _attrs], _Affiliation,
encode_muc_admin_item({muc_item, Actor, Continue,
Reason, Affiliation, Role, Jid, Nick},
_xmlns_attrs) ->
- _els = 'encode_muc_admin_item_$reason'(Reason,
- 'encode_muc_admin_item_$continue'(Continue,
- 'encode_muc_admin_item_$actor'(Actor,
- []))),
+ _els =
+ lists:reverse('encode_muc_admin_item_$actor'(Actor,
+ 'encode_muc_admin_item_$continue'(Continue,
+ 'encode_muc_admin_item_$reason'(Reason,
+ [])))),
_attrs = encode_muc_admin_item_attr_nick(Nick,
encode_muc_admin_item_attr_jid(Jid,
encode_muc_admin_item_attr_role(Role,
encode_muc_admin_item_attr_nick(_val, _acc) ->
[{<<"nick">>, _val} | _acc].
-decode_muc_owner(__TopXMLNS,
+decode_muc_owner(__TopXMLNS, __IgnoreEls,
{xmlel, <<"query">>, _attrs, _els}) ->
{Config, Destroy} = decode_muc_owner_els(__TopXMLNS,
- _els, undefined, undefined),
+ __IgnoreEls, _els, undefined,
+ undefined),
{muc_owner, Destroy, Config}.
-decode_muc_owner_els(__TopXMLNS, [], Config, Destroy) ->
+decode_muc_owner_els(__TopXMLNS, __IgnoreEls, [],
+ Config, Destroy) ->
{Config, Destroy};
-decode_muc_owner_els(__TopXMLNS,
+decode_muc_owner_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"destroy">>, _attrs, _} = _el | _els],
Config, Destroy) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_owner_els(__TopXMLNS, _els, Config,
- decode_muc_owner_destroy(__TopXMLNS, _el));
+ decode_muc_owner_els(__TopXMLNS, __IgnoreEls, _els,
+ Config,
+ decode_muc_owner_destroy(__TopXMLNS,
+ __IgnoreEls, _el));
true ->
- decode_muc_owner_els(__TopXMLNS, _els, Config, Destroy)
+ decode_muc_owner_els(__TopXMLNS, __IgnoreEls, _els,
+ Config, Destroy)
end;
-decode_muc_owner_els(__TopXMLNS,
+decode_muc_owner_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"x">>, _attrs, _} = _el | _els], Config,
Destroy) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<"jabber:x:data">> ->
- decode_muc_owner_els(__TopXMLNS, _els,
- decode_xdata(_xmlns, _el), Destroy);
+ decode_muc_owner_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_xdata(_xmlns, __IgnoreEls, _el),
+ Destroy);
true ->
- decode_muc_owner_els(__TopXMLNS, _els, Config, Destroy)
+ decode_muc_owner_els(__TopXMLNS, __IgnoreEls, _els,
+ Config, Destroy)
end;
-decode_muc_owner_els(__TopXMLNS, [_ | _els], Config,
- Destroy) ->
- decode_muc_owner_els(__TopXMLNS, _els, Config, Destroy).
+decode_muc_owner_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Config, Destroy) ->
+ decode_muc_owner_els(__TopXMLNS, __IgnoreEls, _els,
+ Config, Destroy).
encode_muc_owner({muc_owner, Destroy, Config},
_xmlns_attrs) ->
- _els = 'encode_muc_owner_$destroy'(Destroy,
- 'encode_muc_owner_$config'(Config, [])),
+ _els = lists:reverse('encode_muc_owner_$config'(Config,
+ 'encode_muc_owner_$destroy'(Destroy,
+ []))),
_attrs = _xmlns_attrs,
{xmlel, <<"query">>, _attrs, _els}.
'encode_muc_owner_$destroy'(Destroy, _acc) ->
[encode_muc_owner_destroy(Destroy, []) | _acc].
-decode_muc_owner_destroy(__TopXMLNS,
+decode_muc_owner_destroy(__TopXMLNS, __IgnoreEls,
{xmlel, <<"destroy">>, _attrs, _els}) ->
{Password, Reason} =
- decode_muc_owner_destroy_els(__TopXMLNS, _els,
- undefined, undefined),
+ decode_muc_owner_destroy_els(__TopXMLNS, __IgnoreEls,
+ _els, undefined, undefined),
Jid = decode_muc_owner_destroy_attrs(__TopXMLNS, _attrs,
undefined),
{muc_owner_destroy, Jid, Reason, Password}.
-decode_muc_owner_destroy_els(__TopXMLNS, [], Password,
- Reason) ->
+decode_muc_owner_destroy_els(__TopXMLNS, __IgnoreEls,
+ [], Password, Reason) ->
{Password, Reason};
-decode_muc_owner_destroy_els(__TopXMLNS,
+decode_muc_owner_destroy_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"password">>, _attrs, _} = _el | _els],
Password, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_owner_destroy_els(__TopXMLNS, _els,
+ decode_muc_owner_destroy_els(__TopXMLNS, __IgnoreEls,
+ _els,
decode_muc_owner_password(__TopXMLNS,
+ __IgnoreEls,
_el),
Reason);
true ->
- decode_muc_owner_destroy_els(__TopXMLNS, _els, Password,
- Reason)
+ decode_muc_owner_destroy_els(__TopXMLNS, __IgnoreEls,
+ _els, Password, Reason)
end;
-decode_muc_owner_destroy_els(__TopXMLNS,
+decode_muc_owner_destroy_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"reason">>, _attrs, _} = _el | _els],
Password, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_owner_destroy_els(__TopXMLNS, _els, Password,
+ decode_muc_owner_destroy_els(__TopXMLNS, __IgnoreEls,
+ _els, Password,
decode_muc_owner_reason(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_muc_owner_destroy_els(__TopXMLNS, _els, Password,
- Reason)
+ decode_muc_owner_destroy_els(__TopXMLNS, __IgnoreEls,
+ _els, Password, Reason)
end;
-decode_muc_owner_destroy_els(__TopXMLNS, [_ | _els],
- Password, Reason) ->
- decode_muc_owner_destroy_els(__TopXMLNS, _els, Password,
- Reason).
+decode_muc_owner_destroy_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Password, Reason) ->
+ decode_muc_owner_destroy_els(__TopXMLNS, __IgnoreEls,
+ _els, Password, Reason).
decode_muc_owner_destroy_attrs(__TopXMLNS,
[{<<"jid">>, _val} | _attrs], _Jid) ->
encode_muc_owner_destroy({muc_owner_destroy, Jid,
Reason, Password},
_xmlns_attrs) ->
- _els = 'encode_muc_owner_destroy_$reason'(Reason,
- 'encode_muc_owner_destroy_$password'(Password,
- [])),
+ _els =
+ lists:reverse('encode_muc_owner_destroy_$password'(Password,
+ 'encode_muc_owner_destroy_$reason'(Reason,
+ []))),
_attrs = encode_muc_owner_destroy_attr_jid(Jid,
_xmlns_attrs),
{xmlel, <<"destroy">>, _attrs, _els}.
encode_muc_owner_destroy_attr_jid(_val, _acc) ->
[{<<"jid">>, enc_jid(_val)} | _acc].
-decode_muc_owner_reason(__TopXMLNS,
+decode_muc_owner_reason(__TopXMLNS, __IgnoreEls,
{xmlel, <<"reason">>, _attrs, _els}) ->
- Cdata = decode_muc_owner_reason_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_muc_owner_reason_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_muc_owner_reason_els(__TopXMLNS, [], Cdata) ->
+decode_muc_owner_reason_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_muc_owner_reason_cdata(__TopXMLNS, Cdata);
-decode_muc_owner_reason_els(__TopXMLNS,
+decode_muc_owner_reason_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_muc_owner_reason_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_muc_owner_reason_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_muc_owner_reason_els(__TopXMLNS, _els, Cdata).
+ decode_muc_owner_reason_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_muc_owner_reason_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_muc_owner_reason_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_muc_owner_reason(Cdata, _xmlns_attrs) ->
_els = encode_muc_owner_reason_cdata(Cdata, []),
encode_muc_owner_reason_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_muc_owner_password(__TopXMLNS,
+decode_muc_owner_password(__TopXMLNS, __IgnoreEls,
{xmlel, <<"password">>, _attrs, _els}) ->
- Cdata = decode_muc_owner_password_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_muc_owner_password_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_muc_owner_password_els(__TopXMLNS, [], Cdata) ->
+decode_muc_owner_password_els(__TopXMLNS, __IgnoreEls,
+ [], Cdata) ->
decode_muc_owner_password_cdata(__TopXMLNS, Cdata);
-decode_muc_owner_password_els(__TopXMLNS,
+decode_muc_owner_password_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_muc_owner_password_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_muc_owner_password_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_muc_owner_password_els(__TopXMLNS, _els, Cdata).
+ decode_muc_owner_password_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_muc_owner_password_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_muc_owner_password_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_muc_owner_password(Cdata, _xmlns_attrs) ->
_els = encode_muc_owner_password_cdata(Cdata, []),
encode_muc_owner_password_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_muc_user(__TopXMLNS,
+decode_muc_user(__TopXMLNS, __IgnoreEls,
{xmlel, <<"x">>, _attrs, _els}) ->
{Status_codes, Items, Invites, Decline, Destroy} =
- decode_muc_user_els(__TopXMLNS, _els, [], [], [],
- undefined, undefined),
+ decode_muc_user_els(__TopXMLNS, __IgnoreEls, _els, [],
+ [], [], undefined, undefined),
Password = decode_muc_user_attrs(__TopXMLNS, _attrs,
undefined),
{muc_user, Decline, Destroy, Invites, Items,
Status_codes, Password}.
-decode_muc_user_els(__TopXMLNS, [], Status_codes, Items,
- Invites, Decline, Destroy) ->
+decode_muc_user_els(__TopXMLNS, __IgnoreEls, [],
+ Status_codes, Items, Invites, Decline, Destroy) ->
{lists:reverse(Status_codes), lists:reverse(Items),
lists:reverse(Invites), Decline, Destroy};
-decode_muc_user_els(__TopXMLNS,
+decode_muc_user_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"decline">>, _attrs, _} = _el | _els],
Status_codes, Items, Invites, Decline, Destroy) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_user_els(__TopXMLNS, _els, Status_codes,
- Items, Invites,
- decode_muc_user_decline(__TopXMLNS, _el),
+ decode_muc_user_els(__TopXMLNS, __IgnoreEls, _els,
+ Status_codes, Items, Invites,
+ decode_muc_user_decline(__TopXMLNS, __IgnoreEls,
+ _el),
Destroy);
true ->
- decode_muc_user_els(__TopXMLNS, _els, Status_codes,
- Items, Invites, Decline, Destroy)
+ decode_muc_user_els(__TopXMLNS, __IgnoreEls, _els,
+ Status_codes, Items, Invites, Decline, Destroy)
end;
-decode_muc_user_els(__TopXMLNS,
+decode_muc_user_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"destroy">>, _attrs, _} = _el | _els],
Status_codes, Items, Invites, Decline, Destroy) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_user_els(__TopXMLNS, _els, Status_codes,
- Items, Invites, Decline,
- decode_muc_user_destroy(__TopXMLNS, _el));
+ decode_muc_user_els(__TopXMLNS, __IgnoreEls, _els,
+ Status_codes, Items, Invites, Decline,
+ decode_muc_user_destroy(__TopXMLNS, __IgnoreEls,
+ _el));
true ->
- decode_muc_user_els(__TopXMLNS, _els, Status_codes,
- Items, Invites, Decline, Destroy)
+ decode_muc_user_els(__TopXMLNS, __IgnoreEls, _els,
+ Status_codes, Items, Invites, Decline, Destroy)
end;
-decode_muc_user_els(__TopXMLNS,
+decode_muc_user_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"invite">>, _attrs, _} = _el | _els],
Status_codes, Items, Invites, Decline, Destroy) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_user_els(__TopXMLNS, _els, Status_codes,
- Items,
- [decode_muc_user_invite(__TopXMLNS, _el)
+ decode_muc_user_els(__TopXMLNS, __IgnoreEls, _els,
+ Status_codes, Items,
+ [decode_muc_user_invite(__TopXMLNS, __IgnoreEls,
+ _el)
| Invites],
Decline, Destroy);
true ->
- decode_muc_user_els(__TopXMLNS, _els, Status_codes,
- Items, Invites, Decline, Destroy)
+ decode_muc_user_els(__TopXMLNS, __IgnoreEls, _els,
+ Status_codes, Items, Invites, Decline, Destroy)
end;
-decode_muc_user_els(__TopXMLNS,
+decode_muc_user_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item">>, _attrs, _} = _el | _els],
Status_codes, Items, Invites, Decline, Destroy) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_user_els(__TopXMLNS, _els, Status_codes,
- [decode_muc_user_item(__TopXMLNS, _el) | Items],
+ decode_muc_user_els(__TopXMLNS, __IgnoreEls, _els,
+ Status_codes,
+ [decode_muc_user_item(__TopXMLNS, __IgnoreEls,
+ _el)
+ | Items],
Invites, Decline, Destroy);
true ->
- decode_muc_user_els(__TopXMLNS, _els, Status_codes,
- Items, Invites, Decline, Destroy)
+ decode_muc_user_els(__TopXMLNS, __IgnoreEls, _els,
+ Status_codes, Items, Invites, Decline, Destroy)
end;
-decode_muc_user_els(__TopXMLNS,
+decode_muc_user_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"status">>, _attrs, _} = _el | _els],
Status_codes, Items, Invites, Decline, Destroy) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_user_els(__TopXMLNS, _els,
- case decode_muc_user_status(__TopXMLNS, _el) of
+ decode_muc_user_els(__TopXMLNS, __IgnoreEls, _els,
+ case decode_muc_user_status(__TopXMLNS,
+ __IgnoreEls, _el)
+ of
undefined -> Status_codes;
_new_el -> [_new_el | Status_codes]
end,
Items, Invites, Decline, Destroy);
true ->
- decode_muc_user_els(__TopXMLNS, _els, Status_codes,
- Items, Invites, Decline, Destroy)
+ decode_muc_user_els(__TopXMLNS, __IgnoreEls, _els,
+ Status_codes, Items, Invites, Decline, Destroy)
end;
-decode_muc_user_els(__TopXMLNS, [_ | _els],
+decode_muc_user_els(__TopXMLNS, __IgnoreEls, [_ | _els],
Status_codes, Items, Invites, Decline, Destroy) ->
- decode_muc_user_els(__TopXMLNS, _els, Status_codes,
- Items, Invites, Decline, Destroy).
+ decode_muc_user_els(__TopXMLNS, __IgnoreEls, _els,
+ Status_codes, Items, Invites, Decline, Destroy).
decode_muc_user_attrs(__TopXMLNS,
[{<<"password">>, _val} | _attrs], _Password) ->
encode_muc_user({muc_user, Decline, Destroy, Invites,
Items, Status_codes, Password},
_xmlns_attrs) ->
- _els = 'encode_muc_user_$destroy'(Destroy,
- 'encode_muc_user_$decline'(Decline,
- 'encode_muc_user_$invites'(Invites,
- 'encode_muc_user_$items'(Items,
- 'encode_muc_user_$status_codes'(Status_codes,
- []))))),
+ _els =
+ lists:reverse('encode_muc_user_$status_codes'(Status_codes,
+ 'encode_muc_user_$items'(Items,
+ 'encode_muc_user_$invites'(Invites,
+ 'encode_muc_user_$decline'(Decline,
+ 'encode_muc_user_$destroy'(Destroy,
+ [])))))),
_attrs = encode_muc_user_attr_password(Password,
_xmlns_attrs),
{xmlel, <<"x">>, _attrs, _els}.
encode_muc_user_attr_password(_val, _acc) ->
[{<<"password">>, _val} | _acc].
-decode_muc_user_item(__TopXMLNS,
+decode_muc_user_item(__TopXMLNS, __IgnoreEls,
{xmlel, <<"item">>, _attrs, _els}) ->
{Actor, Continue, Reason} =
- decode_muc_user_item_els(__TopXMLNS, _els, undefined,
- undefined, undefined),
+ decode_muc_user_item_els(__TopXMLNS, __IgnoreEls, _els,
+ undefined, undefined, undefined),
{Affiliation, Role, Jid, Nick} =
decode_muc_user_item_attrs(__TopXMLNS, _attrs,
undefined, undefined, undefined, undefined),
{muc_item, Actor, Continue, Reason, Affiliation, Role,
Jid, Nick}.
-decode_muc_user_item_els(__TopXMLNS, [], Actor,
- Continue, Reason) ->
+decode_muc_user_item_els(__TopXMLNS, __IgnoreEls, [],
+ Actor, Continue, Reason) ->
{Actor, Continue, Reason};
-decode_muc_user_item_els(__TopXMLNS,
+decode_muc_user_item_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"actor">>, _attrs, _} = _el | _els], Actor,
Continue, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_user_item_els(__TopXMLNS, _els,
- decode_muc_user_actor(__TopXMLNS, _el),
+ decode_muc_user_item_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_muc_user_actor(__TopXMLNS,
+ __IgnoreEls, _el),
Continue, Reason);
true ->
- decode_muc_user_item_els(__TopXMLNS, _els, Actor,
- Continue, Reason)
+ decode_muc_user_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Actor, Continue, Reason)
end;
-decode_muc_user_item_els(__TopXMLNS,
+decode_muc_user_item_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"continue">>, _attrs, _} = _el | _els],
Actor, Continue, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_user_item_els(__TopXMLNS, _els, Actor,
- decode_muc_user_continue(__TopXMLNS, _el),
+ decode_muc_user_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Actor,
+ decode_muc_user_continue(__TopXMLNS,
+ __IgnoreEls, _el),
Reason);
true ->
- decode_muc_user_item_els(__TopXMLNS, _els, Actor,
- Continue, Reason)
+ decode_muc_user_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Actor, Continue, Reason)
end;
-decode_muc_user_item_els(__TopXMLNS,
+decode_muc_user_item_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"reason">>, _attrs, _} = _el | _els], Actor,
Continue, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_user_item_els(__TopXMLNS, _els, Actor,
- Continue,
- decode_muc_user_reason(__TopXMLNS, _el));
+ decode_muc_user_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Actor, Continue,
+ decode_muc_user_reason(__TopXMLNS,
+ __IgnoreEls, _el));
true ->
- decode_muc_user_item_els(__TopXMLNS, _els, Actor,
- Continue, Reason)
+ decode_muc_user_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Actor, Continue, Reason)
end;
-decode_muc_user_item_els(__TopXMLNS, [_ | _els], Actor,
- Continue, Reason) ->
- decode_muc_user_item_els(__TopXMLNS, _els, Actor,
- Continue, Reason).
+decode_muc_user_item_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Actor, Continue, Reason) ->
+ decode_muc_user_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Actor, Continue, Reason).
decode_muc_user_item_attrs(__TopXMLNS,
[{<<"affiliation">>, _val} | _attrs], _Affiliation,
encode_muc_user_item({muc_item, Actor, Continue, Reason,
Affiliation, Role, Jid, Nick},
_xmlns_attrs) ->
- _els = 'encode_muc_user_item_$reason'(Reason,
- 'encode_muc_user_item_$continue'(Continue,
- 'encode_muc_user_item_$actor'(Actor,
- []))),
+ _els =
+ lists:reverse('encode_muc_user_item_$actor'(Actor,
+ 'encode_muc_user_item_$continue'(Continue,
+ 'encode_muc_user_item_$reason'(Reason,
+ [])))),
_attrs = encode_muc_user_item_attr_nick(Nick,
encode_muc_user_item_attr_jid(Jid,
encode_muc_user_item_attr_role(Role,
encode_muc_user_item_attr_nick(_val, _acc) ->
[{<<"nick">>, _val} | _acc].
-decode_muc_user_status(__TopXMLNS,
+decode_muc_user_status(__TopXMLNS, __IgnoreEls,
{xmlel, <<"status">>, _attrs, _els}) ->
Code = decode_muc_user_status_attrs(__TopXMLNS, _attrs,
undefined),
encode_muc_user_status_attr_code(_val, _acc) ->
[{<<"code">>, enc_int(_val)} | _acc].
-decode_muc_user_continue(__TopXMLNS,
+decode_muc_user_continue(__TopXMLNS, __IgnoreEls,
{xmlel, <<"continue">>, _attrs, _els}) ->
Thread = decode_muc_user_continue_attrs(__TopXMLNS,
_attrs, undefined),
encode_muc_user_continue_attr_thread(_val, _acc) ->
[{<<"thread">>, _val} | _acc].
-decode_muc_user_actor(__TopXMLNS,
+decode_muc_user_actor(__TopXMLNS, __IgnoreEls,
{xmlel, <<"actor">>, _attrs, _els}) ->
{Jid, Nick} = decode_muc_user_actor_attrs(__TopXMLNS,
_attrs, undefined, undefined),
encode_muc_user_actor_attr_nick(_val, _acc) ->
[{<<"nick">>, _val} | _acc].
-decode_muc_user_invite(__TopXMLNS,
+decode_muc_user_invite(__TopXMLNS, __IgnoreEls,
{xmlel, <<"invite">>, _attrs, _els}) ->
- Reason = decode_muc_user_invite_els(__TopXMLNS, _els,
- undefined),
+ Reason = decode_muc_user_invite_els(__TopXMLNS,
+ __IgnoreEls, _els, undefined),
{To, From} = decode_muc_user_invite_attrs(__TopXMLNS,
_attrs, undefined, undefined),
{muc_invite, Reason, From, To}.
-decode_muc_user_invite_els(__TopXMLNS, [], Reason) ->
+decode_muc_user_invite_els(__TopXMLNS, __IgnoreEls, [],
+ Reason) ->
Reason;
-decode_muc_user_invite_els(__TopXMLNS,
+decode_muc_user_invite_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"reason">>, _attrs, _} = _el | _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_user_invite_els(__TopXMLNS, _els,
- decode_muc_user_reason(__TopXMLNS, _el));
+ decode_muc_user_invite_els(__TopXMLNS, __IgnoreEls,
+ _els,
+ decode_muc_user_reason(__TopXMLNS,
+ __IgnoreEls, _el));
true ->
- decode_muc_user_invite_els(__TopXMLNS, _els, Reason)
+ decode_muc_user_invite_els(__TopXMLNS, __IgnoreEls,
+ _els, Reason)
end;
-decode_muc_user_invite_els(__TopXMLNS, [_ | _els],
- Reason) ->
- decode_muc_user_invite_els(__TopXMLNS, _els, Reason).
+decode_muc_user_invite_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Reason) ->
+ decode_muc_user_invite_els(__TopXMLNS, __IgnoreEls,
+ _els, Reason).
decode_muc_user_invite_attrs(__TopXMLNS,
[{<<"to">>, _val} | _attrs], _To, From) ->
encode_muc_user_invite({muc_invite, Reason, From, To},
_xmlns_attrs) ->
- _els = 'encode_muc_user_invite_$reason'(Reason, []),
+ _els =
+ lists:reverse('encode_muc_user_invite_$reason'(Reason,
+ [])),
_attrs = encode_muc_user_invite_attr_from(From,
encode_muc_user_invite_attr_to(To,
_xmlns_attrs)),
encode_muc_user_invite_attr_from(_val, _acc) ->
[{<<"from">>, enc_jid(_val)} | _acc].
-decode_muc_user_destroy(__TopXMLNS,
+decode_muc_user_destroy(__TopXMLNS, __IgnoreEls,
{xmlel, <<"destroy">>, _attrs, _els}) ->
- Reason = decode_muc_user_destroy_els(__TopXMLNS, _els,
- undefined),
+ Reason = decode_muc_user_destroy_els(__TopXMLNS,
+ __IgnoreEls, _els, undefined),
Jid = decode_muc_user_destroy_attrs(__TopXMLNS, _attrs,
undefined),
{muc_user_destroy, Reason, Jid}.
-decode_muc_user_destroy_els(__TopXMLNS, [], Reason) ->
+decode_muc_user_destroy_els(__TopXMLNS, __IgnoreEls, [],
+ Reason) ->
Reason;
-decode_muc_user_destroy_els(__TopXMLNS,
+decode_muc_user_destroy_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"reason">>, _attrs, _} = _el | _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_user_destroy_els(__TopXMLNS, _els,
- decode_muc_user_reason(__TopXMLNS, _el));
+ decode_muc_user_destroy_els(__TopXMLNS, __IgnoreEls,
+ _els,
+ decode_muc_user_reason(__TopXMLNS,
+ __IgnoreEls,
+ _el));
true ->
- decode_muc_user_destroy_els(__TopXMLNS, _els, Reason)
+ decode_muc_user_destroy_els(__TopXMLNS, __IgnoreEls,
+ _els, Reason)
end;
-decode_muc_user_destroy_els(__TopXMLNS, [_ | _els],
- Reason) ->
- decode_muc_user_destroy_els(__TopXMLNS, _els, Reason).
+decode_muc_user_destroy_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Reason) ->
+ decode_muc_user_destroy_els(__TopXMLNS, __IgnoreEls,
+ _els, Reason).
decode_muc_user_destroy_attrs(__TopXMLNS,
[{<<"jid">>, _val} | _attrs], _Jid) ->
encode_muc_user_destroy({muc_user_destroy, Reason, Jid},
_xmlns_attrs) ->
- _els = 'encode_muc_user_destroy_$reason'(Reason, []),
+ _els =
+ lists:reverse('encode_muc_user_destroy_$reason'(Reason,
+ [])),
_attrs = encode_muc_user_destroy_attr_jid(Jid,
_xmlns_attrs),
{xmlel, <<"destroy">>, _attrs, _els}.
encode_muc_user_destroy_attr_jid(_val, _acc) ->
[{<<"jid">>, enc_jid(_val)} | _acc].
-decode_muc_user_decline(__TopXMLNS,
+decode_muc_user_decline(__TopXMLNS, __IgnoreEls,
{xmlel, <<"decline">>, _attrs, _els}) ->
- Reason = decode_muc_user_decline_els(__TopXMLNS, _els,
- undefined),
+ Reason = decode_muc_user_decline_els(__TopXMLNS,
+ __IgnoreEls, _els, undefined),
{To, From} = decode_muc_user_decline_attrs(__TopXMLNS,
_attrs, undefined, undefined),
{muc_decline, Reason, From, To}.
-decode_muc_user_decline_els(__TopXMLNS, [], Reason) ->
+decode_muc_user_decline_els(__TopXMLNS, __IgnoreEls, [],
+ Reason) ->
Reason;
-decode_muc_user_decline_els(__TopXMLNS,
+decode_muc_user_decline_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"reason">>, _attrs, _} = _el | _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_muc_user_decline_els(__TopXMLNS, _els,
- decode_muc_user_reason(__TopXMLNS, _el));
+ decode_muc_user_decline_els(__TopXMLNS, __IgnoreEls,
+ _els,
+ decode_muc_user_reason(__TopXMLNS,
+ __IgnoreEls,
+ _el));
true ->
- decode_muc_user_decline_els(__TopXMLNS, _els, Reason)
+ decode_muc_user_decline_els(__TopXMLNS, __IgnoreEls,
+ _els, Reason)
end;
-decode_muc_user_decline_els(__TopXMLNS, [_ | _els],
- Reason) ->
- decode_muc_user_decline_els(__TopXMLNS, _els, Reason).
+decode_muc_user_decline_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Reason) ->
+ decode_muc_user_decline_els(__TopXMLNS, __IgnoreEls,
+ _els, Reason).
decode_muc_user_decline_attrs(__TopXMLNS,
[{<<"to">>, _val} | _attrs], _To, From) ->
encode_muc_user_decline({muc_decline, Reason, From, To},
_xmlns_attrs) ->
- _els = 'encode_muc_user_decline_$reason'(Reason, []),
+ _els =
+ lists:reverse('encode_muc_user_decline_$reason'(Reason,
+ [])),
_attrs = encode_muc_user_decline_attr_from(From,
encode_muc_user_decline_attr_to(To,
_xmlns_attrs)),
encode_muc_user_decline_attr_from(_val, _acc) ->
[{<<"from">>, enc_jid(_val)} | _acc].
-decode_muc_user_reason(__TopXMLNS,
+decode_muc_user_reason(__TopXMLNS, __IgnoreEls,
{xmlel, <<"reason">>, _attrs, _els}) ->
- Cdata = decode_muc_user_reason_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_muc_user_reason_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_muc_user_reason_els(__TopXMLNS, [], Cdata) ->
+decode_muc_user_reason_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_muc_user_reason_cdata(__TopXMLNS, Cdata);
-decode_muc_user_reason_els(__TopXMLNS,
+decode_muc_user_reason_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_muc_user_reason_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_muc_user_reason_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_muc_user_reason_els(__TopXMLNS, _els, Cdata).
+ decode_muc_user_reason_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_muc_user_reason_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_muc_user_reason_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_muc_user_reason(Cdata, _xmlns_attrs) ->
_els = encode_muc_user_reason_cdata(Cdata, []),
encode_muc_user_reason_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_muc_history(__TopXMLNS,
+decode_muc_history(__TopXMLNS, __IgnoreEls,
{xmlel, <<"history">>, _attrs, _els}) ->
{Maxchars, Maxstanzas, Seconds, Since} =
decode_muc_history_attrs(__TopXMLNS, _attrs, undefined,
encode_muc_history_attr_since(_val, _acc) ->
[{<<"since">>, enc_utc(_val)} | _acc].
-decode_bytestreams(__TopXMLNS,
+decode_bytestreams(__TopXMLNS, __IgnoreEls,
{xmlel, <<"query">>, _attrs, _els}) ->
{Hosts, Used, Activate} =
- decode_bytestreams_els(__TopXMLNS, _els, [], undefined,
- undefined),
+ decode_bytestreams_els(__TopXMLNS, __IgnoreEls, _els,
+ [], undefined, undefined),
{Dstaddr, Sid, Mode} =
decode_bytestreams_attrs(__TopXMLNS, _attrs, undefined,
undefined, undefined),
{bytestreams, Hosts, Used, Activate, Dstaddr, Mode,
Sid}.
-decode_bytestreams_els(__TopXMLNS, [], Hosts, Used,
- Activate) ->
+decode_bytestreams_els(__TopXMLNS, __IgnoreEls, [],
+ Hosts, Used, Activate) ->
{lists:reverse(Hosts), Used, Activate};
-decode_bytestreams_els(__TopXMLNS,
+decode_bytestreams_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"streamhost">>, _attrs, _} = _el | _els],
Hosts, Used, Activate) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_bytestreams_els(__TopXMLNS, _els,
+ decode_bytestreams_els(__TopXMLNS, __IgnoreEls, _els,
[decode_bytestreams_streamhost(__TopXMLNS,
+ __IgnoreEls,
_el)
| Hosts],
Used, Activate);
true ->
- decode_bytestreams_els(__TopXMLNS, _els, Hosts, Used,
- Activate)
+ decode_bytestreams_els(__TopXMLNS, __IgnoreEls, _els,
+ Hosts, Used, Activate)
end;
-decode_bytestreams_els(__TopXMLNS,
+decode_bytestreams_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"streamhost-used">>, _attrs, _} = _el
| _els],
Hosts, Used, Activate) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_bytestreams_els(__TopXMLNS, _els, Hosts,
+ decode_bytestreams_els(__TopXMLNS, __IgnoreEls, _els,
+ Hosts,
decode_bytestreams_streamhost_used(__TopXMLNS,
+ __IgnoreEls,
_el),
Activate);
true ->
- decode_bytestreams_els(__TopXMLNS, _els, Hosts, Used,
- Activate)
+ decode_bytestreams_els(__TopXMLNS, __IgnoreEls, _els,
+ Hosts, Used, Activate)
end;
-decode_bytestreams_els(__TopXMLNS,
+decode_bytestreams_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"activate">>, _attrs, _} = _el | _els],
Hosts, Used, Activate) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_bytestreams_els(__TopXMLNS, _els, Hosts, Used,
- decode_bytestreams_activate(__TopXMLNS, _el));
+ decode_bytestreams_els(__TopXMLNS, __IgnoreEls, _els,
+ Hosts, Used,
+ decode_bytestreams_activate(__TopXMLNS,
+ __IgnoreEls,
+ _el));
true ->
- decode_bytestreams_els(__TopXMLNS, _els, Hosts, Used,
- Activate)
+ decode_bytestreams_els(__TopXMLNS, __IgnoreEls, _els,
+ Hosts, Used, Activate)
end;
-decode_bytestreams_els(__TopXMLNS, [_ | _els], Hosts,
- Used, Activate) ->
- decode_bytestreams_els(__TopXMLNS, _els, Hosts, Used,
- Activate).
+decode_bytestreams_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Hosts, Used, Activate) ->
+ decode_bytestreams_els(__TopXMLNS, __IgnoreEls, _els,
+ Hosts, Used, Activate).
decode_bytestreams_attrs(__TopXMLNS,
[{<<"dstaddr">>, _val} | _attrs], _Dstaddr, Sid,
encode_bytestreams({bytestreams, Hosts, Used, Activate,
Dstaddr, Mode, Sid},
_xmlns_attrs) ->
- _els = 'encode_bytestreams_$activate'(Activate,
- 'encode_bytestreams_$used'(Used,
- 'encode_bytestreams_$hosts'(Hosts,
- []))),
+ _els = lists:reverse('encode_bytestreams_$hosts'(Hosts,
+ 'encode_bytestreams_$used'(Used,
+ 'encode_bytestreams_$activate'(Activate,
+ [])))),
_attrs = encode_bytestreams_attr_mode(Mode,
encode_bytestreams_attr_sid(Sid,
encode_bytestreams_attr_dstaddr(Dstaddr,
encode_bytestreams_attr_mode(_val, _acc) ->
[{<<"mode">>, enc_enum(_val)} | _acc].
-decode_bytestreams_activate(__TopXMLNS,
+decode_bytestreams_activate(__TopXMLNS, __IgnoreEls,
{xmlel, <<"activate">>, _attrs, _els}) ->
Cdata = decode_bytestreams_activate_els(__TopXMLNS,
- _els, <<>>),
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_bytestreams_activate_els(__TopXMLNS, [],
- Cdata) ->
+decode_bytestreams_activate_els(__TopXMLNS, __IgnoreEls,
+ [], Cdata) ->
decode_bytestreams_activate_cdata(__TopXMLNS, Cdata);
-decode_bytestreams_activate_els(__TopXMLNS,
+decode_bytestreams_activate_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_bytestreams_activate_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_bytestreams_activate_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_bytestreams_activate_els(__TopXMLNS, _els,
- Cdata).
+ decode_bytestreams_activate_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_bytestreams_activate_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_bytestreams_activate_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_bytestreams_activate(Cdata, _xmlns_attrs) ->
_els = encode_bytestreams_activate_cdata(Cdata, []),
[{xmlcdata, enc_jid(_val)} | _acc].
decode_bytestreams_streamhost_used(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"streamhost-used">>, _attrs,
_els}) ->
Jid =
_acc) ->
[{<<"jid">>, enc_jid(_val)} | _acc].
-decode_bytestreams_streamhost(__TopXMLNS,
+decode_bytestreams_streamhost(__TopXMLNS, __IgnoreEls,
{xmlel, <<"streamhost">>, _attrs, _els}) ->
{Jid, Host, Port} =
decode_bytestreams_streamhost_attrs(__TopXMLNS, _attrs,
encode_bytestreams_streamhost_attr_port(_val, _acc) ->
[{<<"port">>, enc_int(_val)} | _acc].
-decode_legacy_delay(__TopXMLNS,
+decode_legacy_delay(__TopXMLNS, __IgnoreEls,
{xmlel, <<"x">>, _attrs, _els}) ->
{Stamp, From} = decode_legacy_delay_attrs(__TopXMLNS,
_attrs, undefined, undefined),
encode_legacy_delay_attr_from(_val, _acc) ->
[{<<"from">>, enc_jid(_val)} | _acc].
-decode_delay(__TopXMLNS,
+decode_delay(__TopXMLNS, __IgnoreEls,
{xmlel, <<"delay">>, _attrs, _els}) ->
{Stamp, From} = decode_delay_attrs(__TopXMLNS, _attrs,
undefined, undefined),
encode_delay_attr_from(_val, _acc) ->
[{<<"from">>, enc_jid(_val)} | _acc].
-decode_shim_headers(__TopXMLNS,
+decode_shim_headers(__TopXMLNS, __IgnoreEls,
{xmlel, <<"headers">>, _attrs, _els}) ->
- Headers = decode_shim_headers_els(__TopXMLNS, _els, []),
+ Headers = decode_shim_headers_els(__TopXMLNS,
+ __IgnoreEls, _els, []),
{shim, Headers}.
-decode_shim_headers_els(__TopXMLNS, [], Headers) ->
+decode_shim_headers_els(__TopXMLNS, __IgnoreEls, [],
+ Headers) ->
lists:reverse(Headers);
-decode_shim_headers_els(__TopXMLNS,
+decode_shim_headers_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"header">>, _attrs, _} = _el | _els],
Headers) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_shim_headers_els(__TopXMLNS, _els,
- [decode_shim_header(__TopXMLNS, _el)
+ decode_shim_headers_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_shim_header(__TopXMLNS, __IgnoreEls,
+ _el)
| Headers]);
true ->
- decode_shim_headers_els(__TopXMLNS, _els, Headers)
+ decode_shim_headers_els(__TopXMLNS, __IgnoreEls, _els,
+ Headers)
end;
-decode_shim_headers_els(__TopXMLNS, [_ | _els],
- Headers) ->
- decode_shim_headers_els(__TopXMLNS, _els, Headers).
+decode_shim_headers_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Headers) ->
+ decode_shim_headers_els(__TopXMLNS, __IgnoreEls, _els,
+ Headers).
encode_shim_headers({shim, Headers}, _xmlns_attrs) ->
- _els = 'encode_shim_headers_$headers'(Headers, []),
+ _els =
+ lists:reverse('encode_shim_headers_$headers'(Headers,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"headers">>, _attrs, _els}.
'encode_shim_headers_$headers'(_els,
[encode_shim_header(Headers, []) | _acc]).
-decode_shim_header(__TopXMLNS,
+decode_shim_header(__TopXMLNS, __IgnoreEls,
{xmlel, <<"header">>, _attrs, _els}) ->
- Cdata = decode_shim_header_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_shim_header_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Name = decode_shim_header_attrs(__TopXMLNS, _attrs,
undefined),
{Name, Cdata}.
-decode_shim_header_els(__TopXMLNS, [], Cdata) ->
+decode_shim_header_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_shim_header_cdata(__TopXMLNS, Cdata);
-decode_shim_header_els(__TopXMLNS,
+decode_shim_header_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_shim_header_els(__TopXMLNS, _els,
+ decode_shim_header_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_shim_header_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_shim_header_els(__TopXMLNS, _els, Cdata).
+decode_shim_header_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_shim_header_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
decode_shim_header_attrs(__TopXMLNS,
[{<<"name">>, _val} | _attrs], _Name) ->
encode_shim_header_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_pubsub(__TopXMLNS,
+decode_pubsub(__TopXMLNS, __IgnoreEls,
{xmlel, <<"pubsub">>, _attrs, _els}) ->
{Items, Options, Affiliations, Subscriptions, Retract,
Unsubscribe, Subscribe, Publish} =
- decode_pubsub_els(__TopXMLNS, _els, undefined,
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els,
undefined, undefined, undefined, undefined, undefined,
- undefined, undefined),
+ undefined, undefined, undefined),
{pubsub, Subscriptions, Affiliations, Publish,
Subscribe, Unsubscribe, Options, Items, Retract}.
-decode_pubsub_els(__TopXMLNS, [], Items, Options,
- Affiliations, Subscriptions, Retract, Unsubscribe,
- Subscribe, Publish) ->
+decode_pubsub_els(__TopXMLNS, __IgnoreEls, [], Items,
+ Options, Affiliations, Subscriptions, Retract,
+ Unsubscribe, Subscribe, Publish) ->
{Items, Options, Affiliations, Subscriptions, Retract,
Unsubscribe, Subscribe, Publish};
-decode_pubsub_els(__TopXMLNS,
+decode_pubsub_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"subscriptions">>, _attrs, _} = _el | _els],
Items, Options, Affiliations, Subscriptions, Retract,
Unsubscribe, Subscribe, Publish) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations,
- decode_pubsub_subscriptions(__TopXMLNS, _el),
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations,
+ decode_pubsub_subscriptions(__TopXMLNS,
+ __IgnoreEls, _el),
Retract, Unsubscribe, Subscribe, Publish);
true ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations, Subscriptions, Retract, Unsubscribe,
- Subscribe, Publish)
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations, Subscriptions, Retract,
+ Unsubscribe, Subscribe, Publish)
end;
-decode_pubsub_els(__TopXMLNS,
+decode_pubsub_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"affiliations">>, _attrs, _} = _el | _els],
Items, Options, Affiliations, Subscriptions, Retract,
Unsubscribe, Subscribe, Publish) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- decode_pubsub_affiliations(__TopXMLNS, _el),
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options,
+ decode_pubsub_affiliations(__TopXMLNS, __IgnoreEls,
+ _el),
Subscriptions, Retract, Unsubscribe, Subscribe,
Publish);
true ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations, Subscriptions, Retract, Unsubscribe,
- Subscribe, Publish)
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations, Subscriptions, Retract,
+ Unsubscribe, Subscribe, Publish)
end;
-decode_pubsub_els(__TopXMLNS,
+decode_pubsub_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"subscribe">>, _attrs, _} = _el | _els],
Items, Options, Affiliations, Subscriptions, Retract,
Unsubscribe, Subscribe, Publish) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations, Subscriptions, Retract, Unsubscribe,
- decode_pubsub_subscribe(__TopXMLNS, _el), Publish);
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations, Subscriptions, Retract,
+ Unsubscribe,
+ decode_pubsub_subscribe(__TopXMLNS, __IgnoreEls,
+ _el),
+ Publish);
true ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations, Subscriptions, Retract, Unsubscribe,
- Subscribe, Publish)
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations, Subscriptions, Retract,
+ Unsubscribe, Subscribe, Publish)
end;
-decode_pubsub_els(__TopXMLNS,
+decode_pubsub_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"unsubscribe">>, _attrs, _} = _el | _els],
Items, Options, Affiliations, Subscriptions, Retract,
Unsubscribe, Subscribe, Publish) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations, Subscriptions, Retract,
- decode_pubsub_unsubscribe(__TopXMLNS, _el),
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations, Subscriptions, Retract,
+ decode_pubsub_unsubscribe(__TopXMLNS, __IgnoreEls,
+ _el),
Subscribe, Publish);
true ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations, Subscriptions, Retract, Unsubscribe,
- Subscribe, Publish)
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations, Subscriptions, Retract,
+ Unsubscribe, Subscribe, Publish)
end;
-decode_pubsub_els(__TopXMLNS,
+decode_pubsub_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"options">>, _attrs, _} = _el | _els], Items,
Options, Affiliations, Subscriptions, Retract,
Unsubscribe, Subscribe, Publish) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_els(__TopXMLNS, _els, Items,
- decode_pubsub_options(__TopXMLNS, _el),
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ decode_pubsub_options(__TopXMLNS, __IgnoreEls,
+ _el),
Affiliations, Subscriptions, Retract, Unsubscribe,
Subscribe, Publish);
true ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations, Subscriptions, Retract, Unsubscribe,
- Subscribe, Publish)
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations, Subscriptions, Retract,
+ Unsubscribe, Subscribe, Publish)
end;
-decode_pubsub_els(__TopXMLNS,
+decode_pubsub_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"items">>, _attrs, _} = _el | _els], Items,
Options, Affiliations, Subscriptions, Retract,
Unsubscribe, Subscribe, Publish) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_els(__TopXMLNS, _els,
- decode_pubsub_items(__TopXMLNS, _el), Options,
- Affiliations, Subscriptions, Retract, Unsubscribe,
- Subscribe, Publish);
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_pubsub_items(__TopXMLNS, __IgnoreEls, _el),
+ Options, Affiliations, Subscriptions, Retract,
+ Unsubscribe, Subscribe, Publish);
true ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations, Subscriptions, Retract, Unsubscribe,
- Subscribe, Publish)
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations, Subscriptions, Retract,
+ Unsubscribe, Subscribe, Publish)
end;
-decode_pubsub_els(__TopXMLNS,
+decode_pubsub_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"retract">>, _attrs, _} = _el | _els], Items,
Options, Affiliations, Subscriptions, Retract,
Unsubscribe, Subscribe, Publish) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations, Subscriptions,
- decode_pubsub_retract(__TopXMLNS, _el),
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations, Subscriptions,
+ decode_pubsub_retract(__TopXMLNS, __IgnoreEls,
+ _el),
Unsubscribe, Subscribe, Publish);
true ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations, Subscriptions, Retract, Unsubscribe,
- Subscribe, Publish)
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations, Subscriptions, Retract,
+ Unsubscribe, Subscribe, Publish)
end;
-decode_pubsub_els(__TopXMLNS,
+decode_pubsub_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"publish">>, _attrs, _} = _el | _els], Items,
Options, Affiliations, Subscriptions, Retract,
Unsubscribe, Subscribe, Publish) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations, Subscriptions, Retract, Unsubscribe,
- Subscribe, decode_pubsub_publish(__TopXMLNS, _el));
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations, Subscriptions, Retract,
+ Unsubscribe, Subscribe,
+ decode_pubsub_publish(__TopXMLNS, __IgnoreEls,
+ _el));
true ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations, Subscriptions, Retract, Unsubscribe,
- Subscribe, Publish)
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations, Subscriptions, Retract,
+ Unsubscribe, Subscribe, Publish)
end;
-decode_pubsub_els(__TopXMLNS, [_ | _els], Items,
- Options, Affiliations, Subscriptions, Retract,
+decode_pubsub_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Items, Options, Affiliations, Subscriptions, Retract,
Unsubscribe, Subscribe, Publish) ->
- decode_pubsub_els(__TopXMLNS, _els, Items, Options,
- Affiliations, Subscriptions, Retract, Unsubscribe,
- Subscribe, Publish).
+ decode_pubsub_els(__TopXMLNS, __IgnoreEls, _els, Items,
+ Options, Affiliations, Subscriptions, Retract,
+ Unsubscribe, Subscribe, Publish).
encode_pubsub({pubsub, Subscriptions, Affiliations,
Publish, Subscribe, Unsubscribe, Options, Items,
Retract},
_xmlns_attrs) ->
- _els = 'encode_pubsub_$publish'(Publish,
- 'encode_pubsub_$subscribe'(Subscribe,
- 'encode_pubsub_$unsubscribe'(Unsubscribe,
- 'encode_pubsub_$retract'(Retract,
- 'encode_pubsub_$subscriptions'(Subscriptions,
- 'encode_pubsub_$affiliations'(Affiliations,
- 'encode_pubsub_$options'(Options,
- 'encode_pubsub_$items'(Items,
- [])))))))),
+ _els = lists:reverse('encode_pubsub_$items'(Items,
+ 'encode_pubsub_$options'(Options,
+ 'encode_pubsub_$affiliations'(Affiliations,
+ 'encode_pubsub_$subscriptions'(Subscriptions,
+ 'encode_pubsub_$retract'(Retract,
+ 'encode_pubsub_$unsubscribe'(Unsubscribe,
+ 'encode_pubsub_$subscribe'(Subscribe,
+ 'encode_pubsub_$publish'(Publish,
+ []))))))))),
_attrs = _xmlns_attrs,
{xmlel, <<"pubsub">>, _attrs, _els}.
'encode_pubsub_$publish'(Publish, _acc) ->
[encode_pubsub_publish(Publish, []) | _acc].
-decode_pubsub_retract(__TopXMLNS,
+decode_pubsub_retract(__TopXMLNS, __IgnoreEls,
{xmlel, <<"retract">>, _attrs, _els}) ->
- Items = decode_pubsub_retract_els(__TopXMLNS, _els, []),
+ Items = decode_pubsub_retract_els(__TopXMLNS,
+ __IgnoreEls, _els, []),
{Node, Notify} = decode_pubsub_retract_attrs(__TopXMLNS,
_attrs, undefined, undefined),
{pubsub_retract, Node, Notify, Items}.
-decode_pubsub_retract_els(__TopXMLNS, [], Items) ->
+decode_pubsub_retract_els(__TopXMLNS, __IgnoreEls, [],
+ Items) ->
lists:reverse(Items);
-decode_pubsub_retract_els(__TopXMLNS,
+decode_pubsub_retract_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item">>, _attrs, _} = _el | _els],
Items) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_retract_els(__TopXMLNS, _els,
- [decode_pubsub_item(__TopXMLNS, _el)
+ decode_pubsub_retract_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_pubsub_item(__TopXMLNS,
+ __IgnoreEls, _el)
| Items]);
true ->
- decode_pubsub_retract_els(__TopXMLNS, _els, Items)
+ decode_pubsub_retract_els(__TopXMLNS, __IgnoreEls, _els,
+ Items)
end;
-decode_pubsub_retract_els(__TopXMLNS, [_ | _els],
- Items) ->
- decode_pubsub_retract_els(__TopXMLNS, _els, Items).
+decode_pubsub_retract_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Items) ->
+ decode_pubsub_retract_els(__TopXMLNS, __IgnoreEls, _els,
+ Items).
decode_pubsub_retract_attrs(__TopXMLNS,
[{<<"node">>, _val} | _attrs], _Node, Notify) ->
encode_pubsub_retract({pubsub_retract, Node, Notify,
Items},
_xmlns_attrs) ->
- _els = 'encode_pubsub_retract_$items'(Items, []),
+ _els =
+ lists:reverse('encode_pubsub_retract_$items'(Items,
+ [])),
_attrs = encode_pubsub_retract_attr_notify(Notify,
encode_pubsub_retract_attr_node(Node,
_xmlns_attrs)),
encode_pubsub_retract_attr_notify(_val, _acc) ->
[{<<"notify">>, enc_bool(_val)} | _acc].
-decode_pubsub_options(__TopXMLNS,
+decode_pubsub_options(__TopXMLNS, __IgnoreEls,
{xmlel, <<"options">>, _attrs, _els}) ->
- Xdata = decode_pubsub_options_els(__TopXMLNS, _els,
- undefined),
+ Xdata = decode_pubsub_options_els(__TopXMLNS,
+ __IgnoreEls, _els, undefined),
{Node, Subid, Jid} =
decode_pubsub_options_attrs(__TopXMLNS, _attrs,
undefined, undefined, undefined),
{pubsub_options, Node, Jid, Subid, Xdata}.
-decode_pubsub_options_els(__TopXMLNS, [], Xdata) ->
+decode_pubsub_options_els(__TopXMLNS, __IgnoreEls, [],
+ Xdata) ->
Xdata;
-decode_pubsub_options_els(__TopXMLNS,
+decode_pubsub_options_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"x">>, _attrs, _} = _el | _els], Xdata) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<"jabber:x:data">> ->
- decode_pubsub_options_els(__TopXMLNS, _els,
- decode_xdata(_xmlns, _el));
+ decode_pubsub_options_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_xdata(_xmlns, __IgnoreEls, _el));
true ->
- decode_pubsub_options_els(__TopXMLNS, _els, Xdata)
+ decode_pubsub_options_els(__TopXMLNS, __IgnoreEls, _els,
+ Xdata)
end;
-decode_pubsub_options_els(__TopXMLNS, [_ | _els],
- Xdata) ->
- decode_pubsub_options_els(__TopXMLNS, _els, Xdata).
+decode_pubsub_options_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Xdata) ->
+ decode_pubsub_options_els(__TopXMLNS, __IgnoreEls, _els,
+ Xdata).
decode_pubsub_options_attrs(__TopXMLNS,
[{<<"node">>, _val} | _attrs], _Node, Subid, Jid) ->
encode_pubsub_options({pubsub_options, Node, Jid, Subid,
Xdata},
_xmlns_attrs) ->
- _els = 'encode_pubsub_options_$xdata'(Xdata, []),
+ _els =
+ lists:reverse('encode_pubsub_options_$xdata'(Xdata,
+ [])),
_attrs = encode_pubsub_options_attr_jid(Jid,
encode_pubsub_options_attr_subid(Subid,
encode_pubsub_options_attr_node(Node,
encode_pubsub_options_attr_jid(_val, _acc) ->
[{<<"jid">>, enc_jid(_val)} | _acc].
-decode_pubsub_publish(__TopXMLNS,
+decode_pubsub_publish(__TopXMLNS, __IgnoreEls,
{xmlel, <<"publish">>, _attrs, _els}) ->
- Items = decode_pubsub_publish_els(__TopXMLNS, _els, []),
+ Items = decode_pubsub_publish_els(__TopXMLNS,
+ __IgnoreEls, _els, []),
Node = decode_pubsub_publish_attrs(__TopXMLNS, _attrs,
undefined),
{pubsub_publish, Node, Items}.
-decode_pubsub_publish_els(__TopXMLNS, [], Items) ->
+decode_pubsub_publish_els(__TopXMLNS, __IgnoreEls, [],
+ Items) ->
lists:reverse(Items);
-decode_pubsub_publish_els(__TopXMLNS,
+decode_pubsub_publish_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item">>, _attrs, _} = _el | _els],
Items) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_publish_els(__TopXMLNS, _els,
- [decode_pubsub_item(__TopXMLNS, _el)
+ decode_pubsub_publish_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_pubsub_item(__TopXMLNS,
+ __IgnoreEls, _el)
| Items]);
true ->
- decode_pubsub_publish_els(__TopXMLNS, _els, Items)
+ decode_pubsub_publish_els(__TopXMLNS, __IgnoreEls, _els,
+ Items)
end;
-decode_pubsub_publish_els(__TopXMLNS, [_ | _els],
- Items) ->
- decode_pubsub_publish_els(__TopXMLNS, _els, Items).
+decode_pubsub_publish_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Items) ->
+ decode_pubsub_publish_els(__TopXMLNS, __IgnoreEls, _els,
+ Items).
decode_pubsub_publish_attrs(__TopXMLNS,
[{<<"node">>, _val} | _attrs], _Node) ->
encode_pubsub_publish({pubsub_publish, Node, Items},
_xmlns_attrs) ->
- _els = 'encode_pubsub_publish_$items'(Items, []),
+ _els =
+ lists:reverse('encode_pubsub_publish_$items'(Items,
+ [])),
_attrs = encode_pubsub_publish_attr_node(Node,
_xmlns_attrs),
{xmlel, <<"publish">>, _attrs, _els}.
encode_pubsub_publish_attr_node(_val, _acc) ->
[{<<"node">>, _val} | _acc].
-decode_pubsub_unsubscribe(__TopXMLNS,
+decode_pubsub_unsubscribe(__TopXMLNS, __IgnoreEls,
{xmlel, <<"unsubscribe">>, _attrs, _els}) ->
{Node, Subid, Jid} =
decode_pubsub_unsubscribe_attrs(__TopXMLNS, _attrs,
encode_pubsub_unsubscribe_attr_jid(_val, _acc) ->
[{<<"jid">>, enc_jid(_val)} | _acc].
-decode_pubsub_subscribe(__TopXMLNS,
+decode_pubsub_subscribe(__TopXMLNS, __IgnoreEls,
{xmlel, <<"subscribe">>, _attrs, _els}) ->
{Node, Jid} = decode_pubsub_subscribe_attrs(__TopXMLNS,
_attrs, undefined, undefined),
encode_pubsub_subscribe_attr_jid(_val, _acc) ->
[{<<"jid">>, enc_jid(_val)} | _acc].
-decode_pubsub_affiliations(__TopXMLNS,
+decode_pubsub_affiliations(__TopXMLNS, __IgnoreEls,
{xmlel, <<"affiliations">>, _attrs, _els}) ->
Affiliations =
- decode_pubsub_affiliations_els(__TopXMLNS, _els, []),
+ decode_pubsub_affiliations_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
Affiliations.
-decode_pubsub_affiliations_els(__TopXMLNS, [],
- Affiliations) ->
+decode_pubsub_affiliations_els(__TopXMLNS, __IgnoreEls,
+ [], Affiliations) ->
lists:reverse(Affiliations);
-decode_pubsub_affiliations_els(__TopXMLNS,
+decode_pubsub_affiliations_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"affiliation">>, _attrs, _} = _el
| _els],
Affiliations) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_affiliations_els(__TopXMLNS, _els,
+ decode_pubsub_affiliations_els(__TopXMLNS, __IgnoreEls,
+ _els,
[decode_pubsub_affiliation(__TopXMLNS,
+ __IgnoreEls,
_el)
| Affiliations]);
true ->
- decode_pubsub_affiliations_els(__TopXMLNS, _els,
- Affiliations)
+ decode_pubsub_affiliations_els(__TopXMLNS, __IgnoreEls,
+ _els, Affiliations)
end;
-decode_pubsub_affiliations_els(__TopXMLNS, [_ | _els],
- Affiliations) ->
- decode_pubsub_affiliations_els(__TopXMLNS, _els,
- Affiliations).
+decode_pubsub_affiliations_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Affiliations) ->
+ decode_pubsub_affiliations_els(__TopXMLNS, __IgnoreEls,
+ _els, Affiliations).
encode_pubsub_affiliations(Affiliations,
_xmlns_attrs) ->
_els =
- 'encode_pubsub_affiliations_$affiliations'(Affiliations,
- []),
+ lists:reverse('encode_pubsub_affiliations_$affiliations'(Affiliations,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"affiliations">>, _attrs, _els}.
[])
| _acc]).
-decode_pubsub_subscriptions(__TopXMLNS,
+decode_pubsub_subscriptions(__TopXMLNS, __IgnoreEls,
{xmlel, <<"subscriptions">>, _attrs, _els}) ->
Subscriptions =
- decode_pubsub_subscriptions_els(__TopXMLNS, _els, []),
+ decode_pubsub_subscriptions_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
Node = decode_pubsub_subscriptions_attrs(__TopXMLNS,
_attrs, undefined),
{Node, Subscriptions}.
-decode_pubsub_subscriptions_els(__TopXMLNS, [],
- Subscriptions) ->
+decode_pubsub_subscriptions_els(__TopXMLNS, __IgnoreEls,
+ [], Subscriptions) ->
lists:reverse(Subscriptions);
-decode_pubsub_subscriptions_els(__TopXMLNS,
+decode_pubsub_subscriptions_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"subscription">>, _attrs, _} = _el
| _els],
Subscriptions) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_subscriptions_els(__TopXMLNS, _els,
+ decode_pubsub_subscriptions_els(__TopXMLNS, __IgnoreEls,
+ _els,
[decode_pubsub_subscription(__TopXMLNS,
+ __IgnoreEls,
_el)
| Subscriptions]);
true ->
- decode_pubsub_subscriptions_els(__TopXMLNS, _els,
- Subscriptions)
+ decode_pubsub_subscriptions_els(__TopXMLNS, __IgnoreEls,
+ _els, Subscriptions)
end;
-decode_pubsub_subscriptions_els(__TopXMLNS, [_ | _els],
- Subscriptions) ->
- decode_pubsub_subscriptions_els(__TopXMLNS, _els,
- Subscriptions).
+decode_pubsub_subscriptions_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Subscriptions) ->
+ decode_pubsub_subscriptions_els(__TopXMLNS, __IgnoreEls,
+ _els, Subscriptions).
decode_pubsub_subscriptions_attrs(__TopXMLNS,
[{<<"node">>, _val} | _attrs], _Node) ->
encode_pubsub_subscriptions({Node, Subscriptions},
_xmlns_attrs) ->
_els =
- 'encode_pubsub_subscriptions_$subscriptions'(Subscriptions,
- []),
+ lists:reverse('encode_pubsub_subscriptions_$subscriptions'(Subscriptions,
+ [])),
_attrs = encode_pubsub_subscriptions_attr_node(Node,
_xmlns_attrs),
{xmlel, <<"subscriptions">>, _attrs, _els}.
encode_pubsub_subscriptions_attr_node(_val, _acc) ->
[{<<"node">>, _val} | _acc].
-decode_pubsub_event(__TopXMLNS,
+decode_pubsub_event(__TopXMLNS, __IgnoreEls,
{xmlel, <<"event">>, _attrs, _els}) ->
- Items = decode_pubsub_event_els(__TopXMLNS, _els, []),
+ Items = decode_pubsub_event_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
{pubsub_event, Items}.
-decode_pubsub_event_els(__TopXMLNS, [], Items) ->
+decode_pubsub_event_els(__TopXMLNS, __IgnoreEls, [],
+ Items) ->
lists:reverse(Items);
-decode_pubsub_event_els(__TopXMLNS,
+decode_pubsub_event_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"items">>, _attrs, _} = _el | _els],
Items) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_event_els(__TopXMLNS, _els,
- [decode_pubsub_event_items(__TopXMLNS, _el)
+ decode_pubsub_event_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_pubsub_event_items(__TopXMLNS,
+ __IgnoreEls, _el)
| Items]);
- true -> decode_pubsub_event_els(__TopXMLNS, _els, Items)
+ true ->
+ decode_pubsub_event_els(__TopXMLNS, __IgnoreEls, _els,
+ Items)
end;
-decode_pubsub_event_els(__TopXMLNS, [_ | _els],
- Items) ->
- decode_pubsub_event_els(__TopXMLNS, _els, Items).
+decode_pubsub_event_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Items) ->
+ decode_pubsub_event_els(__TopXMLNS, __IgnoreEls, _els,
+ Items).
encode_pubsub_event({pubsub_event, Items},
_xmlns_attrs) ->
- _els = 'encode_pubsub_event_$items'(Items, []),
+ _els = lists:reverse('encode_pubsub_event_$items'(Items,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"event">>, _attrs, _els}.
'encode_pubsub_event_$items'(_els,
[encode_pubsub_event_items(Items, []) | _acc]).
-decode_pubsub_event_items(__TopXMLNS,
+decode_pubsub_event_items(__TopXMLNS, __IgnoreEls,
{xmlel, <<"items">>, _attrs, _els}) ->
{Items, Retract} =
- decode_pubsub_event_items_els(__TopXMLNS, _els, [], []),
+ decode_pubsub_event_items_els(__TopXMLNS, __IgnoreEls,
+ _els, [], []),
Node = decode_pubsub_event_items_attrs(__TopXMLNS,
_attrs, undefined),
{pubsub_event_items, Node, Retract, Items}.
-decode_pubsub_event_items_els(__TopXMLNS, [], Items,
- Retract) ->
+decode_pubsub_event_items_els(__TopXMLNS, __IgnoreEls,
+ [], Items, Retract) ->
{lists:reverse(Items), lists:reverse(Retract)};
-decode_pubsub_event_items_els(__TopXMLNS,
+decode_pubsub_event_items_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"retract">>, _attrs, _} = _el | _els],
Items, Retract) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_event_items_els(__TopXMLNS, _els, Items,
+ decode_pubsub_event_items_els(__TopXMLNS, __IgnoreEls,
+ _els, Items,
[decode_pubsub_event_retract(__TopXMLNS,
+ __IgnoreEls,
_el)
| Retract]);
true ->
- decode_pubsub_event_items_els(__TopXMLNS, _els, Items,
- Retract)
+ decode_pubsub_event_items_els(__TopXMLNS, __IgnoreEls,
+ _els, Items, Retract)
end;
-decode_pubsub_event_items_els(__TopXMLNS,
+decode_pubsub_event_items_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item">>, _attrs, _} = _el | _els],
Items, Retract) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_event_items_els(__TopXMLNS, _els,
+ decode_pubsub_event_items_els(__TopXMLNS, __IgnoreEls,
+ _els,
[decode_pubsub_event_item(__TopXMLNS,
+ __IgnoreEls,
_el)
| Items],
Retract);
true ->
- decode_pubsub_event_items_els(__TopXMLNS, _els, Items,
- Retract)
+ decode_pubsub_event_items_els(__TopXMLNS, __IgnoreEls,
+ _els, Items, Retract)
end;
-decode_pubsub_event_items_els(__TopXMLNS, [_ | _els],
- Items, Retract) ->
- decode_pubsub_event_items_els(__TopXMLNS, _els, Items,
- Retract).
+decode_pubsub_event_items_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Items, Retract) ->
+ decode_pubsub_event_items_els(__TopXMLNS, __IgnoreEls,
+ _els, Items, Retract).
decode_pubsub_event_items_attrs(__TopXMLNS,
[{<<"node">>, _val} | _attrs], _Node) ->
encode_pubsub_event_items({pubsub_event_items, Node,
Retract, Items},
_xmlns_attrs) ->
- _els = 'encode_pubsub_event_items_$retract'(Retract,
- 'encode_pubsub_event_items_$items'(Items,
- [])),
+ _els =
+ lists:reverse('encode_pubsub_event_items_$items'(Items,
+ 'encode_pubsub_event_items_$retract'(Retract,
+ []))),
_attrs = encode_pubsub_event_items_attr_node(Node,
_xmlns_attrs),
{xmlel, <<"items">>, _attrs, _els}.
encode_pubsub_event_items_attr_node(_val, _acc) ->
[{<<"node">>, _val} | _acc].
-decode_pubsub_event_item(__TopXMLNS,
+decode_pubsub_event_item(__TopXMLNS, __IgnoreEls,
{xmlel, <<"item">>, _attrs, _els}) ->
{Id, Node, Publisher} =
decode_pubsub_event_item_attrs(__TopXMLNS, _attrs,
encode_pubsub_event_item_attr_publisher(_val, _acc) ->
[{<<"publisher">>, _val} | _acc].
-decode_pubsub_event_retract(__TopXMLNS,
+decode_pubsub_event_retract(__TopXMLNS, __IgnoreEls,
{xmlel, <<"retract">>, _attrs, _els}) ->
Id = decode_pubsub_event_retract_attrs(__TopXMLNS,
_attrs, undefined),
encode_pubsub_event_retract_attr_id(_val, _acc) ->
[{<<"id">>, _val} | _acc].
-decode_pubsub_items(__TopXMLNS,
+decode_pubsub_items(__TopXMLNS, __IgnoreEls,
{xmlel, <<"items">>, _attrs, _els}) ->
- Items = decode_pubsub_items_els(__TopXMLNS, _els, []),
+ Items = decode_pubsub_items_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
{Max_items, Node, Subid} =
decode_pubsub_items_attrs(__TopXMLNS, _attrs, undefined,
undefined, undefined),
{pubsub_items, Node, Max_items, Subid, Items}.
-decode_pubsub_items_els(__TopXMLNS, [], Items) ->
+decode_pubsub_items_els(__TopXMLNS, __IgnoreEls, [],
+ Items) ->
lists:reverse(Items);
-decode_pubsub_items_els(__TopXMLNS,
+decode_pubsub_items_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item">>, _attrs, _} = _el | _els], Items) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_pubsub_items_els(__TopXMLNS, _els,
- [decode_pubsub_item(__TopXMLNS, _el)
+ decode_pubsub_items_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_pubsub_item(__TopXMLNS, __IgnoreEls,
+ _el)
| Items]);
- true -> decode_pubsub_items_els(__TopXMLNS, _els, Items)
+ true ->
+ decode_pubsub_items_els(__TopXMLNS, __IgnoreEls, _els,
+ Items)
end;
-decode_pubsub_items_els(__TopXMLNS, [_ | _els],
- Items) ->
- decode_pubsub_items_els(__TopXMLNS, _els, Items).
+decode_pubsub_items_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Items) ->
+ decode_pubsub_items_els(__TopXMLNS, __IgnoreEls, _els,
+ Items).
decode_pubsub_items_attrs(__TopXMLNS,
[{<<"max_items">>, _val} | _attrs], _Max_items, Node,
encode_pubsub_items({pubsub_items, Node, Max_items,
Subid, Items},
_xmlns_attrs) ->
- _els = 'encode_pubsub_items_$items'(Items, []),
+ _els = lists:reverse('encode_pubsub_items_$items'(Items,
+ [])),
_attrs = encode_pubsub_items_attr_subid(Subid,
encode_pubsub_items_attr_node(Node,
encode_pubsub_items_attr_max_items(Max_items,
encode_pubsub_items_attr_subid(_val, _acc) ->
[{<<"subid">>, _val} | _acc].
-decode_pubsub_item(__TopXMLNS,
+decode_pubsub_item(__TopXMLNS, __IgnoreEls,
{xmlel, <<"item">>, _attrs, _els}) ->
- __Xmls = decode_pubsub_item_els(__TopXMLNS, _els, []),
+ __Xmls = decode_pubsub_item_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
Id = decode_pubsub_item_attrs(__TopXMLNS, _attrs,
undefined),
{pubsub_item, Id, __Xmls}.
-decode_pubsub_item_els(__TopXMLNS, [], __Xmls) ->
+decode_pubsub_item_els(__TopXMLNS, __IgnoreEls, [],
+ __Xmls) ->
lists:reverse(__Xmls);
-decode_pubsub_item_els(__TopXMLNS,
+decode_pubsub_item_els(__TopXMLNS, __IgnoreEls,
[{xmlel, _, _, _} = _el | _els], __Xmls) ->
- decode_pubsub_item_els(__TopXMLNS, _els,
+ decode_pubsub_item_els(__TopXMLNS, __IgnoreEls, _els,
[_el | __Xmls]);
-decode_pubsub_item_els(__TopXMLNS, [_ | _els],
- __Xmls) ->
- decode_pubsub_item_els(__TopXMLNS, _els, __Xmls).
+decode_pubsub_item_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], __Xmls) ->
+ decode_pubsub_item_els(__TopXMLNS, __IgnoreEls, _els,
+ __Xmls).
decode_pubsub_item_attrs(__TopXMLNS,
[{<<"id">>, _val} | _attrs], _Id) ->
encode_pubsub_item_attr_id(_val, _acc) ->
[{<<"id">>, _val} | _acc].
-decode_pubsub_affiliation(__TopXMLNS,
+decode_pubsub_affiliation(__TopXMLNS, __IgnoreEls,
{xmlel, <<"affiliation">>, _attrs, _els}) ->
{Node, Type} =
decode_pubsub_affiliation_attrs(__TopXMLNS, _attrs,
_acc) ->
[{<<"affiliation">>, enc_enum(_val)} | _acc].
-decode_pubsub_subscription(__TopXMLNS,
+decode_pubsub_subscription(__TopXMLNS, __IgnoreEls,
{xmlel, <<"subscription">>, _attrs, _els}) ->
{Jid, Node, Subid, Type} =
decode_pubsub_subscription_attrs(__TopXMLNS, _attrs,
_acc) ->
[{<<"subscription">>, enc_enum(_val)} | _acc].
-decode_xdata(__TopXMLNS,
+decode_xdata(__TopXMLNS, __IgnoreEls,
{xmlel, <<"x">>, _attrs, _els}) ->
{Fields, Items, Instructions, Reported, Title} =
- decode_xdata_els(__TopXMLNS, _els, [], [], [],
- undefined, undefined),
+ decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, [], [],
+ [], undefined, undefined),
Type = decode_xdata_attrs(__TopXMLNS, _attrs,
undefined),
{xdata, Type, Instructions, Title, Reported, Items,
Fields}.
-decode_xdata_els(__TopXMLNS, [], Fields, Items,
- Instructions, Reported, Title) ->
+decode_xdata_els(__TopXMLNS, __IgnoreEls, [], Fields,
+ Items, Instructions, Reported, Title) ->
{lists:reverse(Fields), lists:reverse(Items),
lists:reverse(Instructions), Reported, Title};
-decode_xdata_els(__TopXMLNS,
+decode_xdata_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"instructions">>, _attrs, _} = _el | _els],
Fields, Items, Instructions, Reported, Title) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_xdata_els(__TopXMLNS, _els, Fields, Items,
- case decode_xdata_instructions(__TopXMLNS, _el) of
+ decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, Fields,
+ Items,
+ case decode_xdata_instructions(__TopXMLNS,
+ __IgnoreEls, _el)
+ of
undefined -> Instructions;
_new_el -> [_new_el | Instructions]
end,
Reported, Title);
true ->
- decode_xdata_els(__TopXMLNS, _els, Fields, Items,
- Instructions, Reported, Title)
+ decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, Fields,
+ Items, Instructions, Reported, Title)
end;
-decode_xdata_els(__TopXMLNS,
+decode_xdata_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"title">>, _attrs, _} = _el | _els], Fields,
Items, Instructions, Reported, Title) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_xdata_els(__TopXMLNS, _els, Fields, Items,
- Instructions, Reported,
- decode_xdata_title(__TopXMLNS, _el));
+ decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, Fields,
+ Items, Instructions, Reported,
+ decode_xdata_title(__TopXMLNS, __IgnoreEls, _el));
true ->
- decode_xdata_els(__TopXMLNS, _els, Fields, Items,
- Instructions, Reported, Title)
+ decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, Fields,
+ Items, Instructions, Reported, Title)
end;
-decode_xdata_els(__TopXMLNS,
+decode_xdata_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"reported">>, _attrs, _} = _el | _els],
Fields, Items, Instructions, Reported, Title) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_xdata_els(__TopXMLNS, _els, Fields, Items,
- Instructions,
- decode_xdata_reported(__TopXMLNS, _el), Title);
+ decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, Fields,
+ Items, Instructions,
+ decode_xdata_reported(__TopXMLNS, __IgnoreEls, _el),
+ Title);
true ->
- decode_xdata_els(__TopXMLNS, _els, Fields, Items,
- Instructions, Reported, Title)
+ decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, Fields,
+ Items, Instructions, Reported, Title)
end;
-decode_xdata_els(__TopXMLNS,
+decode_xdata_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item">>, _attrs, _} = _el | _els], Fields,
Items, Instructions, Reported, Title) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_xdata_els(__TopXMLNS, _els, Fields,
- [decode_xdata_item(__TopXMLNS, _el) | Items],
+ decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, Fields,
+ [decode_xdata_item(__TopXMLNS, __IgnoreEls, _el)
+ | Items],
Instructions, Reported, Title);
true ->
- decode_xdata_els(__TopXMLNS, _els, Fields, Items,
- Instructions, Reported, Title)
+ decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, Fields,
+ Items, Instructions, Reported, Title)
end;
-decode_xdata_els(__TopXMLNS,
+decode_xdata_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"field">>, _attrs, _} = _el | _els], Fields,
Items, Instructions, Reported, Title) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_xdata_els(__TopXMLNS, _els,
- [decode_xdata_field(__TopXMLNS, _el) | Fields],
+ decode_xdata_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_xdata_field(__TopXMLNS, __IgnoreEls, _el)
+ | Fields],
Items, Instructions, Reported, Title);
true ->
- decode_xdata_els(__TopXMLNS, _els, Fields, Items,
- Instructions, Reported, Title)
+ decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, Fields,
+ Items, Instructions, Reported, Title)
end;
-decode_xdata_els(__TopXMLNS, [_ | _els], Fields, Items,
- Instructions, Reported, Title) ->
- decode_xdata_els(__TopXMLNS, _els, Fields, Items,
- Instructions, Reported, Title).
+decode_xdata_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Fields, Items, Instructions, Reported, Title) ->
+ decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, Fields,
+ Items, Instructions, Reported, Title).
decode_xdata_attrs(__TopXMLNS,
[{<<"type">>, _val} | _attrs], _Type) ->
encode_xdata({xdata, Type, Instructions, Title,
Reported, Items, Fields},
_xmlns_attrs) ->
- _els = 'encode_xdata_$title'(Title,
- 'encode_xdata_$reported'(Reported,
- 'encode_xdata_$instructions'(Instructions,
- 'encode_xdata_$items'(Items,
- 'encode_xdata_$fields'(Fields,
- []))))),
+ _els = lists:reverse('encode_xdata_$fields'(Fields,
+ 'encode_xdata_$items'(Items,
+ 'encode_xdata_$instructions'(Instructions,
+ 'encode_xdata_$reported'(Reported,
+ 'encode_xdata_$title'(Title,
+ [])))))),
_attrs = encode_xdata_attr_type(Type, _xmlns_attrs),
{xmlel, <<"x">>, _attrs, _els}.
encode_xdata_attr_type(_val, _acc) ->
[{<<"type">>, enc_enum(_val)} | _acc].
-decode_xdata_item(__TopXMLNS,
+decode_xdata_item(__TopXMLNS, __IgnoreEls,
{xmlel, <<"item">>, _attrs, _els}) ->
- Fields = decode_xdata_item_els(__TopXMLNS, _els, []),
+ Fields = decode_xdata_item_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
Fields.
-decode_xdata_item_els(__TopXMLNS, [], Fields) ->
+decode_xdata_item_els(__TopXMLNS, __IgnoreEls, [],
+ Fields) ->
lists:reverse(Fields);
-decode_xdata_item_els(__TopXMLNS,
+decode_xdata_item_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"field">>, _attrs, _} = _el | _els],
Fields) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_xdata_item_els(__TopXMLNS, _els,
- [decode_xdata_field(__TopXMLNS, _el)
+ decode_xdata_item_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_xdata_field(__TopXMLNS, __IgnoreEls,
+ _el)
| Fields]);
- true -> decode_xdata_item_els(__TopXMLNS, _els, Fields)
+ true ->
+ decode_xdata_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Fields)
end;
-decode_xdata_item_els(__TopXMLNS, [_ | _els], Fields) ->
- decode_xdata_item_els(__TopXMLNS, _els, Fields).
+decode_xdata_item_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Fields) ->
+ decode_xdata_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Fields).
encode_xdata_item(Fields, _xmlns_attrs) ->
- _els = 'encode_xdata_item_$fields'(Fields, []),
+ _els = lists:reverse('encode_xdata_item_$fields'(Fields,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"item">>, _attrs, _els}.
'encode_xdata_item_$fields'(_els,
[encode_xdata_field(Fields, []) | _acc]).
-decode_xdata_reported(__TopXMLNS,
+decode_xdata_reported(__TopXMLNS, __IgnoreEls,
{xmlel, <<"reported">>, _attrs, _els}) ->
- Fields = decode_xdata_reported_els(__TopXMLNS, _els,
- []),
+ Fields = decode_xdata_reported_els(__TopXMLNS,
+ __IgnoreEls, _els, []),
Fields.
-decode_xdata_reported_els(__TopXMLNS, [], Fields) ->
+decode_xdata_reported_els(__TopXMLNS, __IgnoreEls, [],
+ Fields) ->
lists:reverse(Fields);
-decode_xdata_reported_els(__TopXMLNS,
+decode_xdata_reported_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"field">>, _attrs, _} = _el | _els],
Fields) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_xdata_reported_els(__TopXMLNS, _els,
- [decode_xdata_field(__TopXMLNS, _el)
+ decode_xdata_reported_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_xdata_field(__TopXMLNS,
+ __IgnoreEls, _el)
| Fields]);
true ->
- decode_xdata_reported_els(__TopXMLNS, _els, Fields)
+ decode_xdata_reported_els(__TopXMLNS, __IgnoreEls, _els,
+ Fields)
end;
-decode_xdata_reported_els(__TopXMLNS, [_ | _els],
- Fields) ->
- decode_xdata_reported_els(__TopXMLNS, _els, Fields).
+decode_xdata_reported_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Fields) ->
+ decode_xdata_reported_els(__TopXMLNS, __IgnoreEls, _els,
+ Fields).
encode_xdata_reported(Fields, _xmlns_attrs) ->
- _els = 'encode_xdata_reported_$fields'(Fields, []),
+ _els =
+ lists:reverse('encode_xdata_reported_$fields'(Fields,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"reported">>, _attrs, _els}.
'encode_xdata_reported_$fields'(_els,
[encode_xdata_field(Fields, []) | _acc]).
-decode_xdata_title(__TopXMLNS,
+decode_xdata_title(__TopXMLNS, __IgnoreEls,
{xmlel, <<"title">>, _attrs, _els}) ->
- Cdata = decode_xdata_title_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_xdata_title_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_xdata_title_els(__TopXMLNS, [], Cdata) ->
+decode_xdata_title_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_xdata_title_cdata(__TopXMLNS, Cdata);
-decode_xdata_title_els(__TopXMLNS,
+decode_xdata_title_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_xdata_title_els(__TopXMLNS, _els,
+ decode_xdata_title_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_xdata_title_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_xdata_title_els(__TopXMLNS, _els, Cdata).
+decode_xdata_title_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_xdata_title_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_xdata_title(Cdata, _xmlns_attrs) ->
_els = encode_xdata_title_cdata(Cdata, []),
encode_xdata_title_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_xdata_instructions(__TopXMLNS,
+decode_xdata_instructions(__TopXMLNS, __IgnoreEls,
{xmlel, <<"instructions">>, _attrs, _els}) ->
- Cdata = decode_xdata_instructions_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_xdata_instructions_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_xdata_instructions_els(__TopXMLNS, [], Cdata) ->
+decode_xdata_instructions_els(__TopXMLNS, __IgnoreEls,
+ [], Cdata) ->
decode_xdata_instructions_cdata(__TopXMLNS, Cdata);
-decode_xdata_instructions_els(__TopXMLNS,
+decode_xdata_instructions_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_xdata_instructions_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_xdata_instructions_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_xdata_instructions_els(__TopXMLNS, _els, Cdata).
+ decode_xdata_instructions_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_xdata_instructions_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_xdata_instructions_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_xdata_instructions(Cdata, _xmlns_attrs) ->
_els = encode_xdata_instructions_cdata(Cdata, []),
encode_xdata_instructions_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_xdata_field(__TopXMLNS,
+decode_xdata_field(__TopXMLNS, __IgnoreEls,
{xmlel, <<"field">>, _attrs, _els}) ->
{Options, Values, Desc, Required} =
- decode_xdata_field_els(__TopXMLNS, _els, [], [],
- undefined, false),
+ decode_xdata_field_els(__TopXMLNS, __IgnoreEls, _els,
+ [], [], undefined, false),
{Label, Type, Var} =
decode_xdata_field_attrs(__TopXMLNS, _attrs, undefined,
undefined, undefined),
{xdata_field, Label, Type, Var, Required, Desc, Values,
Options}.
-decode_xdata_field_els(__TopXMLNS, [], Options, Values,
- Desc, Required) ->
+decode_xdata_field_els(__TopXMLNS, __IgnoreEls, [],
+ Options, Values, Desc, Required) ->
{lists:reverse(Options), lists:reverse(Values), Desc,
Required};
-decode_xdata_field_els(__TopXMLNS,
+decode_xdata_field_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"required">>, _attrs, _} = _el | _els],
Options, Values, Desc, Required) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_xdata_field_els(__TopXMLNS, _els, Options,
- Values, Desc,
- decode_xdata_field_required(__TopXMLNS, _el));
+ decode_xdata_field_els(__TopXMLNS, __IgnoreEls, _els,
+ Options, Values, Desc,
+ decode_xdata_field_required(__TopXMLNS,
+ __IgnoreEls,
+ _el));
true ->
- decode_xdata_field_els(__TopXMLNS, _els, Options,
- Values, Desc, Required)
+ decode_xdata_field_els(__TopXMLNS, __IgnoreEls, _els,
+ Options, Values, Desc, Required)
end;
-decode_xdata_field_els(__TopXMLNS,
+decode_xdata_field_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"desc">>, _attrs, _} = _el | _els], Options,
Values, Desc, Required) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_xdata_field_els(__TopXMLNS, _els, Options,
- Values,
- decode_xdata_field_desc(__TopXMLNS, _el),
+ decode_xdata_field_els(__TopXMLNS, __IgnoreEls, _els,
+ Options, Values,
+ decode_xdata_field_desc(__TopXMLNS,
+ __IgnoreEls, _el),
Required);
true ->
- decode_xdata_field_els(__TopXMLNS, _els, Options,
- Values, Desc, Required)
+ decode_xdata_field_els(__TopXMLNS, __IgnoreEls, _els,
+ Options, Values, Desc, Required)
end;
-decode_xdata_field_els(__TopXMLNS,
+decode_xdata_field_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"value">>, _attrs, _} = _el | _els], Options,
Values, Desc, Required) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_xdata_field_els(__TopXMLNS, _els, Options,
- case decode_xdata_field_value(__TopXMLNS, _el)
+ decode_xdata_field_els(__TopXMLNS, __IgnoreEls, _els,
+ Options,
+ case decode_xdata_field_value(__TopXMLNS,
+ __IgnoreEls,
+ _el)
of
undefined -> Values;
_new_el -> [_new_el | Values]
end,
Desc, Required);
true ->
- decode_xdata_field_els(__TopXMLNS, _els, Options,
- Values, Desc, Required)
+ decode_xdata_field_els(__TopXMLNS, __IgnoreEls, _els,
+ Options, Values, Desc, Required)
end;
-decode_xdata_field_els(__TopXMLNS,
+decode_xdata_field_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"option">>, _attrs, _} = _el | _els],
Options, Values, Desc, Required) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_xdata_field_els(__TopXMLNS, _els,
+ decode_xdata_field_els(__TopXMLNS, __IgnoreEls, _els,
case decode_xdata_field_option(__TopXMLNS,
+ __IgnoreEls,
_el)
of
undefined -> Options;
end,
Values, Desc, Required);
true ->
- decode_xdata_field_els(__TopXMLNS, _els, Options,
- Values, Desc, Required)
+ decode_xdata_field_els(__TopXMLNS, __IgnoreEls, _els,
+ Options, Values, Desc, Required)
end;
-decode_xdata_field_els(__TopXMLNS, [_ | _els], Options,
- Values, Desc, Required) ->
- decode_xdata_field_els(__TopXMLNS, _els, Options,
- Values, Desc, Required).
+decode_xdata_field_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Options, Values, Desc, Required) ->
+ decode_xdata_field_els(__TopXMLNS, __IgnoreEls, _els,
+ Options, Values, Desc, Required).
decode_xdata_field_attrs(__TopXMLNS,
[{<<"label">>, _val} | _attrs], _Label, Type, Var) ->
encode_xdata_field({xdata_field, Label, Type, Var,
Required, Desc, Values, Options},
_xmlns_attrs) ->
- _els = 'encode_xdata_field_$required'(Required,
- 'encode_xdata_field_$desc'(Desc,
- 'encode_xdata_field_$values'(Values,
- 'encode_xdata_field_$options'(Options,
- [])))),
+ _els =
+ lists:reverse('encode_xdata_field_$options'(Options,
+ 'encode_xdata_field_$values'(Values,
+ 'encode_xdata_field_$desc'(Desc,
+ 'encode_xdata_field_$required'(Required,
+ []))))),
_attrs = encode_xdata_field_attr_var(Var,
encode_xdata_field_attr_type(Type,
encode_xdata_field_attr_label(Label,
encode_xdata_field_attr_var(_val, _acc) ->
[{<<"var">>, _val} | _acc].
-decode_xdata_field_option(__TopXMLNS,
+decode_xdata_field_option(__TopXMLNS, __IgnoreEls,
{xmlel, <<"option">>, _attrs, _els}) ->
- Value = decode_xdata_field_option_els(__TopXMLNS, _els,
- error),
+ Value = decode_xdata_field_option_els(__TopXMLNS,
+ __IgnoreEls, _els, error),
Value.
-decode_xdata_field_option_els(__TopXMLNS, [], Value) ->
+decode_xdata_field_option_els(__TopXMLNS, __IgnoreEls,
+ [], Value) ->
case Value of
error ->
erlang:error({xmpp_codec,
{missing_tag, <<"value">>, __TopXMLNS}});
{value, Value1} -> Value1
end;
-decode_xdata_field_option_els(__TopXMLNS,
+decode_xdata_field_option_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"value">>, _attrs, _} = _el | _els],
Value) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_xdata_field_option_els(__TopXMLNS, _els,
+ decode_xdata_field_option_els(__TopXMLNS, __IgnoreEls,
+ _els,
{value,
decode_xdata_field_value(__TopXMLNS,
+ __IgnoreEls,
_el)});
true ->
- decode_xdata_field_option_els(__TopXMLNS, _els, Value)
+ decode_xdata_field_option_els(__TopXMLNS, __IgnoreEls,
+ _els, Value)
end;
-decode_xdata_field_option_els(__TopXMLNS, [_ | _els],
- Value) ->
- decode_xdata_field_option_els(__TopXMLNS, _els, Value).
+decode_xdata_field_option_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Value) ->
+ decode_xdata_field_option_els(__TopXMLNS, __IgnoreEls,
+ _els, Value).
encode_xdata_field_option(Value, _xmlns_attrs) ->
- _els = 'encode_xdata_field_option_$value'(Value, []),
+ _els =
+ lists:reverse('encode_xdata_field_option_$value'(Value,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"option">>, _attrs, _els}.
'encode_xdata_field_option_$value'(Value, _acc) ->
[encode_xdata_field_value(Value, []) | _acc].
-decode_xdata_field_value(__TopXMLNS,
+decode_xdata_field_value(__TopXMLNS, __IgnoreEls,
{xmlel, <<"value">>, _attrs, _els}) ->
- Cdata = decode_xdata_field_value_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_xdata_field_value_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_xdata_field_value_els(__TopXMLNS, [], Cdata) ->
+decode_xdata_field_value_els(__TopXMLNS, __IgnoreEls,
+ [], Cdata) ->
decode_xdata_field_value_cdata(__TopXMLNS, Cdata);
-decode_xdata_field_value_els(__TopXMLNS,
+decode_xdata_field_value_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_xdata_field_value_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_xdata_field_value_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_xdata_field_value_els(__TopXMLNS, _els, Cdata).
+ decode_xdata_field_value_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_xdata_field_value_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_xdata_field_value_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_xdata_field_value(Cdata, _xmlns_attrs) ->
_els = encode_xdata_field_value_cdata(Cdata, []),
encode_xdata_field_value_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_xdata_field_desc(__TopXMLNS,
+decode_xdata_field_desc(__TopXMLNS, __IgnoreEls,
{xmlel, <<"desc">>, _attrs, _els}) ->
- Cdata = decode_xdata_field_desc_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_xdata_field_desc_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_xdata_field_desc_els(__TopXMLNS, [], Cdata) ->
+decode_xdata_field_desc_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_xdata_field_desc_cdata(__TopXMLNS, Cdata);
-decode_xdata_field_desc_els(__TopXMLNS,
+decode_xdata_field_desc_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_xdata_field_desc_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_xdata_field_desc_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_xdata_field_desc_els(__TopXMLNS, _els, Cdata).
+ decode_xdata_field_desc_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_xdata_field_desc_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_xdata_field_desc_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_xdata_field_desc(Cdata, _xmlns_attrs) ->
_els = encode_xdata_field_desc_cdata(Cdata, []),
encode_xdata_field_desc_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_xdata_field_required(__TopXMLNS,
+decode_xdata_field_required(__TopXMLNS, __IgnoreEls,
{xmlel, <<"required">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"required">>, _attrs, _els}.
-decode_vcard(__TopXMLNS,
+decode_vcard(__TopXMLNS, __IgnoreEls,
{xmlel, <<"vCard">>, _attrs, _els}) ->
{Mailer, Adr, Class, Categories, Desc, Uid, Prodid,
Jabberid, Sound, Note, Role, Title, Nickname, Rev,
Sort_string, Org, Bday, Key, Tz, Url, Email, Tel, Label,
Fn, Version, N, Photo, Logo, Geo} =
- decode_vcard_els(__TopXMLNS, _els, undefined, [],
- undefined, [], undefined, undefined, undefined,
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els,
+ undefined, [], undefined, [], undefined, undefined,
undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined,
- undefined, undefined, undefined, [], [], [], undefined,
- undefined, undefined, undefined, undefined, undefined),
+ undefined, undefined, undefined, undefined, [], [], [],
+ undefined, undefined, undefined, undefined, undefined,
+ undefined),
{vcard, Version, Fn, N, Nickname, Photo, Bday, Adr,
Label, Tel, Email, Jabberid, Mailer, Tz, Geo, Title,
Role, Logo, Org, Categories, Note, Prodid, Rev,
Sort_string, Sound, Uid, Url, Class, Key, Desc}.
-decode_vcard_els(__TopXMLNS, [], Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound, Note,
- Role, Title, Nickname, Rev, Sort_string, Org, Bday, Key,
- Tz, Url, Email, Tel, Label, Fn, Version, N, Photo, Logo,
- Geo) ->
+decode_vcard_els(__TopXMLNS, __IgnoreEls, [], Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev, Sort_string,
+ Org, Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
+ N, Photo, Logo, Geo) ->
{Mailer, lists:reverse(Adr), Class, Categories, Desc,
Uid, Prodid, Jabberid, Sound, Note, Role, Title,
Nickname, Rev, Sort_string, Org, Bday, Key, Tz, Url,
lists:reverse(Email), lists:reverse(Tel),
lists:reverse(Label), Fn, Version, N, Photo, Logo, Geo};
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"N">>, _attrs, _} = _el | _els], Mailer, Adr,
Class, Categories, Desc, Uid, Prodid, Jabberid, Sound,
Note, Role, Title, Nickname, Rev, Sort_string, Org,
Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- decode_vcard_N(__TopXMLNS, _el), Photo, Logo, Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version,
+ decode_vcard_N(__TopXMLNS, __IgnoreEls, _el), Photo,
+ Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"ADR">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer,
- [decode_vcard_ADR(__TopXMLNS, _el) | Adr], Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ [decode_vcard_ADR(__TopXMLNS, __IgnoreEls, _el)
+ | Adr],
+ Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"LABEL">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel,
- [decode_vcard_LABEL(__TopXMLNS, _el) | Label], Fn,
- Version, N, Photo, Logo, Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ [decode_vcard_LABEL(__TopXMLNS, __IgnoreEls, _el)
+ | Label],
+ Fn, Version, N, Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"TEL">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email,
- [decode_vcard_TEL(__TopXMLNS, _el) | Tel], Label,
- Fn, Version, N, Photo, Logo, Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email,
+ [decode_vcard_TEL(__TopXMLNS, __IgnoreEls, _el)
+ | Tel],
+ Label, Fn, Version, N, Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"EMAIL">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url,
- [decode_vcard_EMAIL(__TopXMLNS, _el) | Email], Tel,
- Label, Fn, Version, N, Photo, Logo, Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url,
+ [decode_vcard_EMAIL(__TopXMLNS, __IgnoreEls, _el)
+ | Email],
+ Tel, Label, Fn, Version, N, Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"GEO">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, decode_vcard_GEO(__TopXMLNS, _el));
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo,
+ decode_vcard_GEO(__TopXMLNS, __IgnoreEls, _el));
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"LOGO">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, decode_vcard_LOGO(__TopXMLNS, _el), Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo,
+ decode_vcard_LOGO(__TopXMLNS, __IgnoreEls, _el),
+ Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PHOTO">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, decode_vcard_PHOTO(__TopXMLNS, _el), Logo, Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N,
+ decode_vcard_PHOTO(__TopXMLNS, __IgnoreEls, _el),
+ Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"ORG">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string,
- decode_vcard_ORG(__TopXMLNS, _el), Bday, Key, Tz,
- Url, Email, Tel, Label, Fn, Version, N, Photo, Logo,
- Geo);
- true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string,
+ decode_vcard_ORG(__TopXMLNS, __IgnoreEls, _el),
Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ N, Photo, Logo, Geo);
+ true ->
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"SOUND">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid,
- decode_vcard_SOUND(__TopXMLNS, _el), Note, Role,
- Title, Nickname, Rev, Sort_string, Org, Bday, Key,
- Tz, Url, Email, Tel, Label, Fn, Version, N, Photo,
- Logo, Geo);
- true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ decode_vcard_SOUND(__TopXMLNS, __IgnoreEls, _el),
Note, Role, Title, Nickname, Rev, Sort_string, Org,
Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ N, Photo, Logo, Geo);
+ true ->
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"KEY">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, decode_vcard_KEY(__TopXMLNS, _el), Tz, Url,
- Email, Tel, Label, Fn, Version, N, Photo, Logo,
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday,
+ decode_vcard_KEY(__TopXMLNS, __IgnoreEls, _el), Tz,
+ Url, Email, Tel, Label, Fn, Version, N, Photo, Logo,
Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"VERSION">>, _attrs, _} = _el | _els],
Mailer, Adr, Class, Categories, Desc, Uid, Prodid,
Jabberid, Sound, Note, Role, Title, Nickname, Rev,
Fn, Version, N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn,
- decode_vcard_VERSION(__TopXMLNS, _el), N, Photo,
- Logo, Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn,
+ decode_vcard_VERSION(__TopXMLNS, __IgnoreEls, _el),
+ N, Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"FN">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label,
- decode_vcard_FN(__TopXMLNS, _el), Version, N, Photo,
- Logo, Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label,
+ decode_vcard_FN(__TopXMLNS, __IgnoreEls, _el),
+ Version, N, Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"NICKNAME">>, _attrs, _} = _el | _els],
Mailer, Adr, Class, Categories, Desc, Uid, Prodid,
Jabberid, Sound, Note, Role, Title, Nickname, Rev,
Fn, Version, N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title,
- decode_vcard_NICKNAME(__TopXMLNS, _el), Rev,
- Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
- Label, Fn, Version, N, Photo, Logo, Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title,
+ decode_vcard_NICKNAME(__TopXMLNS, __IgnoreEls, _el),
+ Rev, Sort_string, Org, Bday, Key, Tz, Url, Email,
+ Tel, Label, Fn, Version, N, Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"BDAY">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- decode_vcard_BDAY(__TopXMLNS, _el), Key, Tz, Url,
- Email, Tel, Label, Fn, Version, N, Photo, Logo,
- Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org,
+ decode_vcard_BDAY(__TopXMLNS, __IgnoreEls, _el),
+ Key, Tz, Url, Email, Tel, Label, Fn, Version, N,
+ Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"JABBERID">>, _attrs, _} = _el | _els],
Mailer, Adr, Class, Categories, Desc, Uid, Prodid,
Jabberid, Sound, Note, Role, Title, Nickname, Rev,
Fn, Version, N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid,
- decode_vcard_JABBERID(__TopXMLNS, _el), Sound, Note,
- Role, Title, Nickname, Rev, Sort_string, Org, Bday,
- Key, Tz, Url, Email, Tel, Label, Fn, Version, N,
- Photo, Logo, Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid,
+ decode_vcard_JABBERID(__TopXMLNS, __IgnoreEls, _el),
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"MAILER">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els,
- decode_vcard_MAILER(__TopXMLNS, _el), Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_vcard_MAILER(__TopXMLNS, __IgnoreEls, _el),
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"TZ">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, decode_vcard_TZ(__TopXMLNS, _el), Url,
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key,
+ decode_vcard_TZ(__TopXMLNS, __IgnoreEls, _el), Url,
Email, Tel, Label, Fn, Version, N, Photo, Logo,
Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"TITLE">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, decode_vcard_TITLE(__TopXMLNS, _el),
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role,
+ decode_vcard_TITLE(__TopXMLNS, __IgnoreEls, _el),
Nickname, Rev, Sort_string, Org, Bday, Key, Tz, Url,
Email, Tel, Label, Fn, Version, N, Photo, Logo,
Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"ROLE">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, decode_vcard_ROLE(__TopXMLNS, _el), Title,
- Nickname, Rev, Sort_string, Org, Bday, Key, Tz, Url,
- Email, Tel, Label, Fn, Version, N, Photo, Logo,
- Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note,
+ decode_vcard_ROLE(__TopXMLNS, __IgnoreEls, _el),
+ Title, Nickname, Rev, Sort_string, Org, Bday, Key,
+ Tz, Url, Email, Tel, Label, Fn, Version, N, Photo,
+ Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"NOTE">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- decode_vcard_NOTE(__TopXMLNS, _el), Role, Title,
- Nickname, Rev, Sort_string, Org, Bday, Key, Tz, Url,
- Email, Tel, Label, Fn, Version, N, Photo, Logo,
- Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound,
+ decode_vcard_NOTE(__TopXMLNS, __IgnoreEls, _el),
+ Role, Title, Nickname, Rev, Sort_string, Org, Bday,
+ Key, Tz, Url, Email, Tel, Label, Fn, Version, N,
+ Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PRODID">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid,
- decode_vcard_PRODID(__TopXMLNS, _el), Jabberid,
- Sound, Note, Role, Title, Nickname, Rev,
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid,
+ decode_vcard_PRODID(__TopXMLNS, __IgnoreEls, _el),
+ Jabberid, Sound, Note, Role, Title, Nickname, Rev,
Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
Label, Fn, Version, N, Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"REV">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname,
- decode_vcard_REV(__TopXMLNS, _el), Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname,
+ decode_vcard_REV(__TopXMLNS, __IgnoreEls, _el),
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"SORT-STRING">>, _attrs, _} = _el | _els],
Mailer, Adr, Class, Categories, Desc, Uid, Prodid,
Jabberid, Sound, Note, Role, Title, Nickname, Rev,
Fn, Version, N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev,
- decode_vcard_SORT_STRING(__TopXMLNS, _el), Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ decode_vcard_SORT_STRING(__TopXMLNS, __IgnoreEls,
+ _el),
+ Org, Bday, Key, Tz, Url, Email, Tel, Label, Fn,
+ Version, N, Photo, Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"UID">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, decode_vcard_UID(__TopXMLNS, _el),
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc,
+ decode_vcard_UID(__TopXMLNS, __IgnoreEls, _el),
Prodid, Jabberid, Sound, Note, Role, Title,
Nickname, Rev, Sort_string, Org, Bday, Key, Tz, Url,
Email, Tel, Label, Fn, Version, N, Photo, Logo,
Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"URL">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, decode_vcard_URL(__TopXMLNS, _el),
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz,
+ decode_vcard_URL(__TopXMLNS, __IgnoreEls, _el),
Email, Tel, Label, Fn, Version, N, Photo, Logo,
Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"DESC">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, decode_vcard_DESC(__TopXMLNS, _el), Uid,
- Prodid, Jabberid, Sound, Note, Role, Title,
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories,
+ decode_vcard_DESC(__TopXMLNS, __IgnoreEls, _el),
+ Uid, Prodid, Jabberid, Sound, Note, Role, Title,
Nickname, Rev, Sort_string, Org, Bday, Key, Tz, Url,
Email, Tel, Label, Fn, Version, N, Photo, Logo,
Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"CATEGORIES">>, _attrs, _} = _el | _els],
Mailer, Adr, Class, Categories, Desc, Uid, Prodid,
Jabberid, Sound, Note, Role, Title, Nickname, Rev,
Fn, Version, N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- decode_vcard_CATEGORIES(__TopXMLNS, _el), Desc, Uid,
- Prodid, Jabberid, Sound, Note, Role, Title,
- Nickname, Rev, Sort_string, Org, Bday, Key, Tz, Url,
- Email, Tel, Label, Fn, Version, N, Photo, Logo,
- Geo);
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class,
+ decode_vcard_CATEGORIES(__TopXMLNS, __IgnoreEls,
+ _el),
+ Desc, Uid, Prodid, Jabberid, Sound, Note, Role,
+ Title, Nickname, Rev, Sort_string, Org, Bday, Key,
+ Tz, Url, Email, Tel, Label, Fn, Version, N, Photo,
+ Logo, Geo);
true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS,
+decode_vcard_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"CLASS">>, _attrs, _} = _el | _els], Mailer,
Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
Sound, Note, Role, Title, Nickname, Rev, Sort_string,
N, Photo, Logo, Geo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr,
- decode_vcard_CLASS(__TopXMLNS, _el), Categories,
- Desc, Uid, Prodid, Jabberid, Sound, Note, Role,
- Title, Nickname, Rev, Sort_string, Org, Bday, Key,
- Tz, Url, Email, Tel, Label, Fn, Version, N, Photo,
- Logo, Geo);
- true ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr,
+ decode_vcard_CLASS(__TopXMLNS, __IgnoreEls, _el),
Categories, Desc, Uid, Prodid, Jabberid, Sound,
Note, Role, Title, Nickname, Rev, Sort_string, Org,
Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
- N, Photo, Logo, Geo)
+ N, Photo, Logo, Geo);
+ true ->
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel,
+ Label, Fn, Version, N, Photo, Logo, Geo)
end;
-decode_vcard_els(__TopXMLNS, [_ | _els], Mailer, Adr,
- Class, Categories, Desc, Uid, Prodid, Jabberid, Sound,
- Note, Role, Title, Nickname, Rev, Sort_string, Org,
- Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version, N,
- Photo, Logo, Geo) ->
- decode_vcard_els(__TopXMLNS, _els, Mailer, Adr, Class,
- Categories, Desc, Uid, Prodid, Jabberid, Sound, Note,
- Role, Title, Nickname, Rev, Sort_string, Org, Bday, Key,
- Tz, Url, Email, Tel, Label, Fn, Version, N, Photo, Logo,
- Geo).
+decode_vcard_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Mailer, Adr, Class, Categories, Desc, Uid, Prodid,
+ Jabberid, Sound, Note, Role, Title, Nickname, Rev,
+ Sort_string, Org, Bday, Key, Tz, Url, Email, Tel, Label,
+ Fn, Version, N, Photo, Logo, Geo) ->
+ decode_vcard_els(__TopXMLNS, __IgnoreEls, _els, Mailer,
+ Adr, Class, Categories, Desc, Uid, Prodid, Jabberid,
+ Sound, Note, Role, Title, Nickname, Rev, Sort_string,
+ Org, Bday, Key, Tz, Url, Email, Tel, Label, Fn, Version,
+ N, Photo, Logo, Geo).
encode_vcard({vcard, Version, Fn, N, Nickname, Photo,
Bday, Adr, Label, Tel, Email, Jabberid, Mailer, Tz, Geo,
Title, Role, Logo, Org, Categories, Note, Prodid, Rev,
Sort_string, Sound, Uid, Url, Class, Key, Desc},
_xmlns_attrs) ->
- _els = 'encode_vcard_$geo'(Geo,
- 'encode_vcard_$logo'(Logo,
- 'encode_vcard_$photo'(Photo,
- 'encode_vcard_$n'(N,
- 'encode_vcard_$version'(Version,
- 'encode_vcard_$fn'(Fn,
- 'encode_vcard_$label'(Label,
- 'encode_vcard_$tel'(Tel,
- 'encode_vcard_$email'(Email,
- 'encode_vcard_$url'(Url,
- 'encode_vcard_$tz'(Tz,
- 'encode_vcard_$key'(Key,
- 'encode_vcard_$bday'(Bday,
- 'encode_vcard_$org'(Org,
- 'encode_vcard_$sort_string'(Sort_string,
- 'encode_vcard_$rev'(Rev,
- 'encode_vcard_$nickname'(Nickname,
- 'encode_vcard_$title'(Title,
- 'encode_vcard_$role'(Role,
- 'encode_vcard_$note'(Note,
- 'encode_vcard_$sound'(Sound,
- 'encode_vcard_$jabberid'(Jabberid,
- 'encode_vcard_$prodid'(Prodid,
- 'encode_vcard_$uid'(Uid,
- 'encode_vcard_$desc'(Desc,
- 'encode_vcard_$categories'(Categories,
- 'encode_vcard_$class'(Class,
- 'encode_vcard_$adr'(Adr,
- 'encode_vcard_$mailer'(Mailer,
- []))))))))))))))))))))))))))))),
+ _els = lists:reverse('encode_vcard_$mailer'(Mailer,
+ 'encode_vcard_$adr'(Adr,
+ 'encode_vcard_$class'(Class,
+ 'encode_vcard_$categories'(Categories,
+ 'encode_vcard_$desc'(Desc,
+ 'encode_vcard_$uid'(Uid,
+ 'encode_vcard_$prodid'(Prodid,
+ 'encode_vcard_$jabberid'(Jabberid,
+ 'encode_vcard_$sound'(Sound,
+ 'encode_vcard_$note'(Note,
+ 'encode_vcard_$role'(Role,
+ 'encode_vcard_$title'(Title,
+ 'encode_vcard_$nickname'(Nickname,
+ 'encode_vcard_$rev'(Rev,
+ 'encode_vcard_$sort_string'(Sort_string,
+ 'encode_vcard_$org'(Org,
+ 'encode_vcard_$bday'(Bday,
+ 'encode_vcard_$key'(Key,
+ 'encode_vcard_$tz'(Tz,
+ 'encode_vcard_$url'(Url,
+ 'encode_vcard_$email'(Email,
+ 'encode_vcard_$tel'(Tel,
+ 'encode_vcard_$label'(Label,
+ 'encode_vcard_$fn'(Fn,
+ 'encode_vcard_$version'(Version,
+ 'encode_vcard_$n'(N,
+ 'encode_vcard_$photo'(Photo,
+ 'encode_vcard_$logo'(Logo,
+ 'encode_vcard_$geo'(Geo,
+ [])))))))))))))))))))))))))))))),
_attrs = _xmlns_attrs,
{xmlel, <<"vCard">>, _attrs, _els}.
'encode_vcard_$geo'(Geo, _acc) ->
[encode_vcard_GEO(Geo, []) | _acc].
-decode_vcard_CLASS(__TopXMLNS,
+decode_vcard_CLASS(__TopXMLNS, __IgnoreEls,
{xmlel, <<"CLASS">>, _attrs, _els}) ->
- Class = decode_vcard_CLASS_els(__TopXMLNS, _els,
- undefined),
+ Class = decode_vcard_CLASS_els(__TopXMLNS, __IgnoreEls,
+ _els, undefined),
Class.
-decode_vcard_CLASS_els(__TopXMLNS, [], Class) -> Class;
-decode_vcard_CLASS_els(__TopXMLNS,
+decode_vcard_CLASS_els(__TopXMLNS, __IgnoreEls, [],
+ Class) ->
+ Class;
+decode_vcard_CLASS_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PUBLIC">>, _attrs, _} = _el | _els],
Class) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_CLASS_els(__TopXMLNS, _els,
- decode_vcard_PUBLIC(__TopXMLNS, _el));
- true -> decode_vcard_CLASS_els(__TopXMLNS, _els, Class)
+ decode_vcard_CLASS_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_vcard_PUBLIC(__TopXMLNS, __IgnoreEls,
+ _el));
+ true ->
+ decode_vcard_CLASS_els(__TopXMLNS, __IgnoreEls, _els,
+ Class)
end;
-decode_vcard_CLASS_els(__TopXMLNS,
+decode_vcard_CLASS_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PRIVATE">>, _attrs, _} = _el | _els],
Class) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_CLASS_els(__TopXMLNS, _els,
- decode_vcard_PRIVATE(__TopXMLNS, _el));
- true -> decode_vcard_CLASS_els(__TopXMLNS, _els, Class)
+ decode_vcard_CLASS_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_vcard_PRIVATE(__TopXMLNS, __IgnoreEls,
+ _el));
+ true ->
+ decode_vcard_CLASS_els(__TopXMLNS, __IgnoreEls, _els,
+ Class)
end;
-decode_vcard_CLASS_els(__TopXMLNS,
+decode_vcard_CLASS_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"CONFIDENTIAL">>, _attrs, _} = _el | _els],
Class) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_CLASS_els(__TopXMLNS, _els,
- decode_vcard_CONFIDENTIAL(__TopXMLNS, _el));
- true -> decode_vcard_CLASS_els(__TopXMLNS, _els, Class)
+ decode_vcard_CLASS_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_vcard_CONFIDENTIAL(__TopXMLNS,
+ __IgnoreEls, _el));
+ true ->
+ decode_vcard_CLASS_els(__TopXMLNS, __IgnoreEls, _els,
+ Class)
end;
-decode_vcard_CLASS_els(__TopXMLNS, [_ | _els], Class) ->
- decode_vcard_CLASS_els(__TopXMLNS, _els, Class).
+decode_vcard_CLASS_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Class) ->
+ decode_vcard_CLASS_els(__TopXMLNS, __IgnoreEls, _els,
+ Class).
encode_vcard_CLASS(Class, _xmlns_attrs) ->
- _els = 'encode_vcard_CLASS_$class'(Class, []),
+ _els = lists:reverse('encode_vcard_CLASS_$class'(Class,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"CLASS">>, _attrs, _els}.
_acc) ->
[encode_vcard_CONFIDENTIAL(Class, []) | _acc].
-decode_vcard_CATEGORIES(__TopXMLNS,
+decode_vcard_CATEGORIES(__TopXMLNS, __IgnoreEls,
{xmlel, <<"CATEGORIES">>, _attrs, _els}) ->
- Keywords = decode_vcard_CATEGORIES_els(__TopXMLNS, _els,
- []),
+ Keywords = decode_vcard_CATEGORIES_els(__TopXMLNS,
+ __IgnoreEls, _els, []),
Keywords.
-decode_vcard_CATEGORIES_els(__TopXMLNS, [], Keywords) ->
+decode_vcard_CATEGORIES_els(__TopXMLNS, __IgnoreEls, [],
+ Keywords) ->
lists:reverse(Keywords);
-decode_vcard_CATEGORIES_els(__TopXMLNS,
+decode_vcard_CATEGORIES_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"KEYWORD">>, _attrs, _} = _el | _els],
Keywords) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_CATEGORIES_els(__TopXMLNS, _els,
+ decode_vcard_CATEGORIES_els(__TopXMLNS, __IgnoreEls,
+ _els,
case decode_vcard_KEYWORD(__TopXMLNS,
+ __IgnoreEls,
_el)
of
undefined -> Keywords;
_new_el -> [_new_el | Keywords]
end);
true ->
- decode_vcard_CATEGORIES_els(__TopXMLNS, _els, Keywords)
+ decode_vcard_CATEGORIES_els(__TopXMLNS, __IgnoreEls,
+ _els, Keywords)
end;
-decode_vcard_CATEGORIES_els(__TopXMLNS, [_ | _els],
- Keywords) ->
- decode_vcard_CATEGORIES_els(__TopXMLNS, _els, Keywords).
+decode_vcard_CATEGORIES_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Keywords) ->
+ decode_vcard_CATEGORIES_els(__TopXMLNS, __IgnoreEls,
+ _els, Keywords).
encode_vcard_CATEGORIES(Keywords, _xmlns_attrs) ->
- _els = 'encode_vcard_CATEGORIES_$keywords'(Keywords,
- []),
+ _els =
+ lists:reverse('encode_vcard_CATEGORIES_$keywords'(Keywords,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"CATEGORIES">>, _attrs, _els}.
[encode_vcard_KEYWORD(Keywords, [])
| _acc]).
-decode_vcard_KEY(__TopXMLNS,
+decode_vcard_KEY(__TopXMLNS, __IgnoreEls,
{xmlel, <<"KEY">>, _attrs, _els}) ->
- {Cred, Type} = decode_vcard_KEY_els(__TopXMLNS, _els,
- undefined, undefined),
+ {Cred, Type} = decode_vcard_KEY_els(__TopXMLNS,
+ __IgnoreEls, _els, undefined,
+ undefined),
{vcard_key, Type, Cred}.
-decode_vcard_KEY_els(__TopXMLNS, [], Cred, Type) ->
+decode_vcard_KEY_els(__TopXMLNS, __IgnoreEls, [], Cred,
+ Type) ->
{Cred, Type};
-decode_vcard_KEY_els(__TopXMLNS,
+decode_vcard_KEY_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"TYPE">>, _attrs, _} = _el | _els], Cred,
Type) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_KEY_els(__TopXMLNS, _els, Cred,
- decode_vcard_TYPE(__TopXMLNS, _el));
+ decode_vcard_KEY_els(__TopXMLNS, __IgnoreEls, _els,
+ Cred,
+ decode_vcard_TYPE(__TopXMLNS, __IgnoreEls,
+ _el));
true ->
- decode_vcard_KEY_els(__TopXMLNS, _els, Cred, Type)
+ decode_vcard_KEY_els(__TopXMLNS, __IgnoreEls, _els,
+ Cred, Type)
end;
-decode_vcard_KEY_els(__TopXMLNS,
+decode_vcard_KEY_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"CRED">>, _attrs, _} = _el | _els], Cred,
Type) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_KEY_els(__TopXMLNS, _els,
- decode_vcard_CRED(__TopXMLNS, _el), Type);
+ decode_vcard_KEY_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_vcard_CRED(__TopXMLNS, __IgnoreEls, _el),
+ Type);
true ->
- decode_vcard_KEY_els(__TopXMLNS, _els, Cred, Type)
+ decode_vcard_KEY_els(__TopXMLNS, __IgnoreEls, _els,
+ Cred, Type)
end;
-decode_vcard_KEY_els(__TopXMLNS, [_ | _els], Cred,
- Type) ->
- decode_vcard_KEY_els(__TopXMLNS, _els, Cred, Type).
+decode_vcard_KEY_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cred, Type) ->
+ decode_vcard_KEY_els(__TopXMLNS, __IgnoreEls, _els,
+ Cred, Type).
encode_vcard_KEY({vcard_key, Type, Cred},
_xmlns_attrs) ->
- _els = 'encode_vcard_KEY_$type'(Type,
- 'encode_vcard_KEY_$cred'(Cred, [])),
+ _els = lists:reverse('encode_vcard_KEY_$cred'(Cred,
+ 'encode_vcard_KEY_$type'(Type,
+ []))),
_attrs = _xmlns_attrs,
{xmlel, <<"KEY">>, _attrs, _els}.
'encode_vcard_KEY_$type'(Type, _acc) ->
[encode_vcard_TYPE(Type, []) | _acc].
-decode_vcard_SOUND(__TopXMLNS,
+decode_vcard_SOUND(__TopXMLNS, __IgnoreEls,
{xmlel, <<"SOUND">>, _attrs, _els}) ->
{Phonetic, Extval, Binval} =
- decode_vcard_SOUND_els(__TopXMLNS, _els, undefined,
- undefined, undefined),
+ decode_vcard_SOUND_els(__TopXMLNS, __IgnoreEls, _els,
+ undefined, undefined, undefined),
{vcard_sound, Phonetic, Binval, Extval}.
-decode_vcard_SOUND_els(__TopXMLNS, [], Phonetic, Extval,
- Binval) ->
+decode_vcard_SOUND_els(__TopXMLNS, __IgnoreEls, [],
+ Phonetic, Extval, Binval) ->
{Phonetic, Extval, Binval};
-decode_vcard_SOUND_els(__TopXMLNS,
+decode_vcard_SOUND_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"BINVAL">>, _attrs, _} = _el | _els],
Phonetic, Extval, Binval) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_SOUND_els(__TopXMLNS, _els, Phonetic,
- Extval, decode_vcard_BINVAL(__TopXMLNS, _el));
+ decode_vcard_SOUND_els(__TopXMLNS, __IgnoreEls, _els,
+ Phonetic, Extval,
+ decode_vcard_BINVAL(__TopXMLNS, __IgnoreEls,
+ _el));
true ->
- decode_vcard_SOUND_els(__TopXMLNS, _els, Phonetic,
- Extval, Binval)
+ decode_vcard_SOUND_els(__TopXMLNS, __IgnoreEls, _els,
+ Phonetic, Extval, Binval)
end;
-decode_vcard_SOUND_els(__TopXMLNS,
+decode_vcard_SOUND_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"EXTVAL">>, _attrs, _} = _el | _els],
Phonetic, Extval, Binval) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_SOUND_els(__TopXMLNS, _els, Phonetic,
- decode_vcard_EXTVAL(__TopXMLNS, _el), Binval);
+ decode_vcard_SOUND_els(__TopXMLNS, __IgnoreEls, _els,
+ Phonetic,
+ decode_vcard_EXTVAL(__TopXMLNS, __IgnoreEls,
+ _el),
+ Binval);
true ->
- decode_vcard_SOUND_els(__TopXMLNS, _els, Phonetic,
- Extval, Binval)
+ decode_vcard_SOUND_els(__TopXMLNS, __IgnoreEls, _els,
+ Phonetic, Extval, Binval)
end;
-decode_vcard_SOUND_els(__TopXMLNS,
+decode_vcard_SOUND_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PHONETIC">>, _attrs, _} = _el | _els],
Phonetic, Extval, Binval) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_SOUND_els(__TopXMLNS, _els,
- decode_vcard_PHONETIC(__TopXMLNS, _el),
+ decode_vcard_SOUND_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_vcard_PHONETIC(__TopXMLNS, __IgnoreEls,
+ _el),
Extval, Binval);
true ->
- decode_vcard_SOUND_els(__TopXMLNS, _els, Phonetic,
- Extval, Binval)
+ decode_vcard_SOUND_els(__TopXMLNS, __IgnoreEls, _els,
+ Phonetic, Extval, Binval)
end;
-decode_vcard_SOUND_els(__TopXMLNS, [_ | _els], Phonetic,
- Extval, Binval) ->
- decode_vcard_SOUND_els(__TopXMLNS, _els, Phonetic,
- Extval, Binval).
+decode_vcard_SOUND_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Phonetic, Extval, Binval) ->
+ decode_vcard_SOUND_els(__TopXMLNS, __IgnoreEls, _els,
+ Phonetic, Extval, Binval).
encode_vcard_SOUND({vcard_sound, Phonetic, Binval,
Extval},
_xmlns_attrs) ->
- _els = 'encode_vcard_SOUND_$binval'(Binval,
- 'encode_vcard_SOUND_$extval'(Extval,
- 'encode_vcard_SOUND_$phonetic'(Phonetic,
- []))),
+ _els =
+ lists:reverse('encode_vcard_SOUND_$phonetic'(Phonetic,
+ 'encode_vcard_SOUND_$extval'(Extval,
+ 'encode_vcard_SOUND_$binval'(Binval,
+ [])))),
_attrs = _xmlns_attrs,
{xmlel, <<"SOUND">>, _attrs, _els}.
'encode_vcard_SOUND_$binval'(Binval, _acc) ->
[encode_vcard_BINVAL(Binval, []) | _acc].
-decode_vcard_ORG(__TopXMLNS,
+decode_vcard_ORG(__TopXMLNS, __IgnoreEls,
{xmlel, <<"ORG">>, _attrs, _els}) ->
- {Units, Name} = decode_vcard_ORG_els(__TopXMLNS, _els,
- [], undefined),
+ {Units, Name} = decode_vcard_ORG_els(__TopXMLNS,
+ __IgnoreEls, _els, [], undefined),
{vcard_org, Name, Units}.
-decode_vcard_ORG_els(__TopXMLNS, [], Units, Name) ->
+decode_vcard_ORG_els(__TopXMLNS, __IgnoreEls, [], Units,
+ Name) ->
{lists:reverse(Units), Name};
-decode_vcard_ORG_els(__TopXMLNS,
+decode_vcard_ORG_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"ORGNAME">>, _attrs, _} = _el | _els], Units,
Name) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ORG_els(__TopXMLNS, _els, Units,
- decode_vcard_ORGNAME(__TopXMLNS, _el));
+ decode_vcard_ORG_els(__TopXMLNS, __IgnoreEls, _els,
+ Units,
+ decode_vcard_ORGNAME(__TopXMLNS, __IgnoreEls,
+ _el));
true ->
- decode_vcard_ORG_els(__TopXMLNS, _els, Units, Name)
+ decode_vcard_ORG_els(__TopXMLNS, __IgnoreEls, _els,
+ Units, Name)
end;
-decode_vcard_ORG_els(__TopXMLNS,
+decode_vcard_ORG_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"ORGUNIT">>, _attrs, _} = _el | _els], Units,
Name) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ORG_els(__TopXMLNS, _els,
- case decode_vcard_ORGUNIT(__TopXMLNS, _el) of
+ decode_vcard_ORG_els(__TopXMLNS, __IgnoreEls, _els,
+ case decode_vcard_ORGUNIT(__TopXMLNS,
+ __IgnoreEls, _el)
+ of
undefined -> Units;
_new_el -> [_new_el | Units]
end,
Name);
true ->
- decode_vcard_ORG_els(__TopXMLNS, _els, Units, Name)
+ decode_vcard_ORG_els(__TopXMLNS, __IgnoreEls, _els,
+ Units, Name)
end;
-decode_vcard_ORG_els(__TopXMLNS, [_ | _els], Units,
- Name) ->
- decode_vcard_ORG_els(__TopXMLNS, _els, Units, Name).
+decode_vcard_ORG_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Units, Name) ->
+ decode_vcard_ORG_els(__TopXMLNS, __IgnoreEls, _els,
+ Units, Name).
encode_vcard_ORG({vcard_org, Name, Units},
_xmlns_attrs) ->
- _els = 'encode_vcard_ORG_$name'(Name,
- 'encode_vcard_ORG_$units'(Units, [])),
+ _els = lists:reverse('encode_vcard_ORG_$units'(Units,
+ 'encode_vcard_ORG_$name'(Name,
+ []))),
_attrs = _xmlns_attrs,
{xmlel, <<"ORG">>, _attrs, _els}.
'encode_vcard_ORG_$name'(Name, _acc) ->
[encode_vcard_ORGNAME(Name, []) | _acc].
-decode_vcard_PHOTO(__TopXMLNS,
+decode_vcard_PHOTO(__TopXMLNS, __IgnoreEls,
{xmlel, <<"PHOTO">>, _attrs, _els}) ->
{Type, Extval, Binval} =
- decode_vcard_PHOTO_els(__TopXMLNS, _els, undefined,
- undefined, undefined),
+ decode_vcard_PHOTO_els(__TopXMLNS, __IgnoreEls, _els,
+ undefined, undefined, undefined),
{vcard_photo, Type, Binval, Extval}.
-decode_vcard_PHOTO_els(__TopXMLNS, [], Type, Extval,
- Binval) ->
+decode_vcard_PHOTO_els(__TopXMLNS, __IgnoreEls, [],
+ Type, Extval, Binval) ->
{Type, Extval, Binval};
-decode_vcard_PHOTO_els(__TopXMLNS,
+decode_vcard_PHOTO_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"TYPE">>, _attrs, _} = _el | _els], Type,
Extval, Binval) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_PHOTO_els(__TopXMLNS, _els,
- decode_vcard_TYPE(__TopXMLNS, _el), Extval,
- Binval);
+ decode_vcard_PHOTO_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_vcard_TYPE(__TopXMLNS, __IgnoreEls,
+ _el),
+ Extval, Binval);
true ->
- decode_vcard_PHOTO_els(__TopXMLNS, _els, Type, Extval,
- Binval)
+ decode_vcard_PHOTO_els(__TopXMLNS, __IgnoreEls, _els,
+ Type, Extval, Binval)
end;
-decode_vcard_PHOTO_els(__TopXMLNS,
+decode_vcard_PHOTO_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"BINVAL">>, _attrs, _} = _el | _els], Type,
Extval, Binval) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_PHOTO_els(__TopXMLNS, _els, Type, Extval,
- decode_vcard_BINVAL(__TopXMLNS, _el));
+ decode_vcard_PHOTO_els(__TopXMLNS, __IgnoreEls, _els,
+ Type, Extval,
+ decode_vcard_BINVAL(__TopXMLNS, __IgnoreEls,
+ _el));
true ->
- decode_vcard_PHOTO_els(__TopXMLNS, _els, Type, Extval,
- Binval)
+ decode_vcard_PHOTO_els(__TopXMLNS, __IgnoreEls, _els,
+ Type, Extval, Binval)
end;
-decode_vcard_PHOTO_els(__TopXMLNS,
+decode_vcard_PHOTO_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"EXTVAL">>, _attrs, _} = _el | _els], Type,
Extval, Binval) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_PHOTO_els(__TopXMLNS, _els, Type,
- decode_vcard_EXTVAL(__TopXMLNS, _el), Binval);
+ decode_vcard_PHOTO_els(__TopXMLNS, __IgnoreEls, _els,
+ Type,
+ decode_vcard_EXTVAL(__TopXMLNS, __IgnoreEls,
+ _el),
+ Binval);
true ->
- decode_vcard_PHOTO_els(__TopXMLNS, _els, Type, Extval,
- Binval)
+ decode_vcard_PHOTO_els(__TopXMLNS, __IgnoreEls, _els,
+ Type, Extval, Binval)
end;
-decode_vcard_PHOTO_els(__TopXMLNS, [_ | _els], Type,
- Extval, Binval) ->
- decode_vcard_PHOTO_els(__TopXMLNS, _els, Type, Extval,
- Binval).
+decode_vcard_PHOTO_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Type, Extval, Binval) ->
+ decode_vcard_PHOTO_els(__TopXMLNS, __IgnoreEls, _els,
+ Type, Extval, Binval).
encode_vcard_PHOTO({vcard_photo, Type, Binval, Extval},
_xmlns_attrs) ->
- _els = 'encode_vcard_PHOTO_$binval'(Binval,
- 'encode_vcard_PHOTO_$extval'(Extval,
- 'encode_vcard_PHOTO_$type'(Type,
- []))),
+ _els = lists:reverse('encode_vcard_PHOTO_$type'(Type,
+ 'encode_vcard_PHOTO_$extval'(Extval,
+ 'encode_vcard_PHOTO_$binval'(Binval,
+ [])))),
_attrs = _xmlns_attrs,
{xmlel, <<"PHOTO">>, _attrs, _els}.
'encode_vcard_PHOTO_$binval'(Binval, _acc) ->
[encode_vcard_BINVAL(Binval, []) | _acc].
-decode_vcard_LOGO(__TopXMLNS,
+decode_vcard_LOGO(__TopXMLNS, __IgnoreEls,
{xmlel, <<"LOGO">>, _attrs, _els}) ->
{Type, Extval, Binval} =
- decode_vcard_LOGO_els(__TopXMLNS, _els, undefined,
- undefined, undefined),
+ decode_vcard_LOGO_els(__TopXMLNS, __IgnoreEls, _els,
+ undefined, undefined, undefined),
{vcard_logo, Type, Binval, Extval}.
-decode_vcard_LOGO_els(__TopXMLNS, [], Type, Extval,
- Binval) ->
+decode_vcard_LOGO_els(__TopXMLNS, __IgnoreEls, [], Type,
+ Extval, Binval) ->
{Type, Extval, Binval};
-decode_vcard_LOGO_els(__TopXMLNS,
+decode_vcard_LOGO_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"TYPE">>, _attrs, _} = _el | _els], Type,
Extval, Binval) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_LOGO_els(__TopXMLNS, _els,
- decode_vcard_TYPE(__TopXMLNS, _el), Extval,
- Binval);
+ decode_vcard_LOGO_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_vcard_TYPE(__TopXMLNS, __IgnoreEls,
+ _el),
+ Extval, Binval);
true ->
- decode_vcard_LOGO_els(__TopXMLNS, _els, Type, Extval,
- Binval)
+ decode_vcard_LOGO_els(__TopXMLNS, __IgnoreEls, _els,
+ Type, Extval, Binval)
end;
-decode_vcard_LOGO_els(__TopXMLNS,
+decode_vcard_LOGO_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"BINVAL">>, _attrs, _} = _el | _els], Type,
Extval, Binval) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_LOGO_els(__TopXMLNS, _els, Type, Extval,
- decode_vcard_BINVAL(__TopXMLNS, _el));
+ decode_vcard_LOGO_els(__TopXMLNS, __IgnoreEls, _els,
+ Type, Extval,
+ decode_vcard_BINVAL(__TopXMLNS, __IgnoreEls,
+ _el));
true ->
- decode_vcard_LOGO_els(__TopXMLNS, _els, Type, Extval,
- Binval)
+ decode_vcard_LOGO_els(__TopXMLNS, __IgnoreEls, _els,
+ Type, Extval, Binval)
end;
-decode_vcard_LOGO_els(__TopXMLNS,
+decode_vcard_LOGO_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"EXTVAL">>, _attrs, _} = _el | _els], Type,
Extval, Binval) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_LOGO_els(__TopXMLNS, _els, Type,
- decode_vcard_EXTVAL(__TopXMLNS, _el), Binval);
+ decode_vcard_LOGO_els(__TopXMLNS, __IgnoreEls, _els,
+ Type,
+ decode_vcard_EXTVAL(__TopXMLNS, __IgnoreEls,
+ _el),
+ Binval);
true ->
- decode_vcard_LOGO_els(__TopXMLNS, _els, Type, Extval,
- Binval)
+ decode_vcard_LOGO_els(__TopXMLNS, __IgnoreEls, _els,
+ Type, Extval, Binval)
end;
-decode_vcard_LOGO_els(__TopXMLNS, [_ | _els], Type,
- Extval, Binval) ->
- decode_vcard_LOGO_els(__TopXMLNS, _els, Type, Extval,
- Binval).
+decode_vcard_LOGO_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Type, Extval, Binval) ->
+ decode_vcard_LOGO_els(__TopXMLNS, __IgnoreEls, _els,
+ Type, Extval, Binval).
encode_vcard_LOGO({vcard_logo, Type, Binval, Extval},
_xmlns_attrs) ->
- _els = 'encode_vcard_LOGO_$binval'(Binval,
- 'encode_vcard_LOGO_$extval'(Extval,
- 'encode_vcard_LOGO_$type'(Type,
- []))),
+ _els = lists:reverse('encode_vcard_LOGO_$type'(Type,
+ 'encode_vcard_LOGO_$extval'(Extval,
+ 'encode_vcard_LOGO_$binval'(Binval,
+ [])))),
_attrs = _xmlns_attrs,
{xmlel, <<"LOGO">>, _attrs, _els}.
'encode_vcard_LOGO_$binval'(Binval, _acc) ->
[encode_vcard_BINVAL(Binval, []) | _acc].
-decode_vcard_BINVAL(__TopXMLNS,
+decode_vcard_BINVAL(__TopXMLNS, __IgnoreEls,
{xmlel, <<"BINVAL">>, _attrs, _els}) ->
- Cdata = decode_vcard_BINVAL_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_BINVAL_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_BINVAL_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_BINVAL_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_BINVAL_cdata(__TopXMLNS, Cdata);
-decode_vcard_BINVAL_els(__TopXMLNS,
+decode_vcard_BINVAL_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_BINVAL_els(__TopXMLNS, _els,
+ decode_vcard_BINVAL_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_BINVAL_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_BINVAL_els(__TopXMLNS, _els, Cdata).
+decode_vcard_BINVAL_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_BINVAL_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_BINVAL(Cdata, _xmlns_attrs) ->
_els = encode_vcard_BINVAL_cdata(Cdata, []),
encode_vcard_BINVAL_cdata(_val, _acc) ->
[{xmlcdata, base64:encode(_val)} | _acc].
-decode_vcard_GEO(__TopXMLNS,
+decode_vcard_GEO(__TopXMLNS, __IgnoreEls,
{xmlel, <<"GEO">>, _attrs, _els}) ->
- {Lat, Lon} = decode_vcard_GEO_els(__TopXMLNS, _els,
- undefined, undefined),
+ {Lat, Lon} = decode_vcard_GEO_els(__TopXMLNS,
+ __IgnoreEls, _els, undefined, undefined),
{vcard_geo, Lat, Lon}.
-decode_vcard_GEO_els(__TopXMLNS, [], Lat, Lon) ->
+decode_vcard_GEO_els(__TopXMLNS, __IgnoreEls, [], Lat,
+ Lon) ->
{Lat, Lon};
-decode_vcard_GEO_els(__TopXMLNS,
+decode_vcard_GEO_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"LAT">>, _attrs, _} = _el | _els], Lat,
Lon) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_GEO_els(__TopXMLNS, _els,
- decode_vcard_LAT(__TopXMLNS, _el), Lon);
- true -> decode_vcard_GEO_els(__TopXMLNS, _els, Lat, Lon)
+ decode_vcard_GEO_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_vcard_LAT(__TopXMLNS, __IgnoreEls, _el),
+ Lon);
+ true ->
+ decode_vcard_GEO_els(__TopXMLNS, __IgnoreEls, _els, Lat,
+ Lon)
end;
-decode_vcard_GEO_els(__TopXMLNS,
+decode_vcard_GEO_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"LON">>, _attrs, _} = _el | _els], Lat,
Lon) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_GEO_els(__TopXMLNS, _els, Lat,
- decode_vcard_LON(__TopXMLNS, _el));
- true -> decode_vcard_GEO_els(__TopXMLNS, _els, Lat, Lon)
+ decode_vcard_GEO_els(__TopXMLNS, __IgnoreEls, _els, Lat,
+ decode_vcard_LON(__TopXMLNS, __IgnoreEls, _el));
+ true ->
+ decode_vcard_GEO_els(__TopXMLNS, __IgnoreEls, _els, Lat,
+ Lon)
end;
-decode_vcard_GEO_els(__TopXMLNS, [_ | _els], Lat,
- Lon) ->
- decode_vcard_GEO_els(__TopXMLNS, _els, Lat, Lon).
+decode_vcard_GEO_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Lat, Lon) ->
+ decode_vcard_GEO_els(__TopXMLNS, __IgnoreEls, _els, Lat,
+ Lon).
encode_vcard_GEO({vcard_geo, Lat, Lon}, _xmlns_attrs) ->
- _els = 'encode_vcard_GEO_$lon'(Lon,
- 'encode_vcard_GEO_$lat'(Lat, [])),
+ _els = lists:reverse('encode_vcard_GEO_$lat'(Lat,
+ 'encode_vcard_GEO_$lon'(Lon,
+ []))),
_attrs = _xmlns_attrs,
{xmlel, <<"GEO">>, _attrs, _els}.
'encode_vcard_GEO_$lon'(Lon, _acc) ->
[encode_vcard_LON(Lon, []) | _acc].
-decode_vcard_EMAIL(__TopXMLNS,
+decode_vcard_EMAIL(__TopXMLNS, __IgnoreEls,
{xmlel, <<"EMAIL">>, _attrs, _els}) ->
{X400, Userid, Internet, Home, Pref, Work} =
- decode_vcard_EMAIL_els(__TopXMLNS, _els, false,
- undefined, false, false, false, false),
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ false, undefined, false, false, false, false),
{vcard_email, Home, Work, Internet, Pref, X400, Userid}.
-decode_vcard_EMAIL_els(__TopXMLNS, [], X400, Userid,
- Internet, Home, Pref, Work) ->
+decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, [],
+ X400, Userid, Internet, Home, Pref, Work) ->
{X400, Userid, Internet, Home, Pref, Work};
-decode_vcard_EMAIL_els(__TopXMLNS,
+decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"HOME">>, _attrs, _} = _el | _els], X400,
Userid, Internet, Home, Pref, Work) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_EMAIL_els(__TopXMLNS, _els, X400, Userid,
- Internet, decode_vcard_HOME(__TopXMLNS, _el),
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ X400, Userid, Internet,
+ decode_vcard_HOME(__TopXMLNS, __IgnoreEls,
+ _el),
Pref, Work);
true ->
- decode_vcard_EMAIL_els(__TopXMLNS, _els, X400, Userid,
- Internet, Home, Pref, Work)
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ X400, Userid, Internet, Home, Pref, Work)
end;
-decode_vcard_EMAIL_els(__TopXMLNS,
+decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"WORK">>, _attrs, _} = _el | _els], X400,
Userid, Internet, Home, Pref, Work) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_EMAIL_els(__TopXMLNS, _els, X400, Userid,
- Internet, Home, Pref,
- decode_vcard_WORK(__TopXMLNS, _el));
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ X400, Userid, Internet, Home, Pref,
+ decode_vcard_WORK(__TopXMLNS, __IgnoreEls,
+ _el));
true ->
- decode_vcard_EMAIL_els(__TopXMLNS, _els, X400, Userid,
- Internet, Home, Pref, Work)
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ X400, Userid, Internet, Home, Pref, Work)
end;
-decode_vcard_EMAIL_els(__TopXMLNS,
+decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"INTERNET">>, _attrs, _} = _el | _els], X400,
Userid, Internet, Home, Pref, Work) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_EMAIL_els(__TopXMLNS, _els, X400, Userid,
- decode_vcard_INTERNET(__TopXMLNS, _el), Home,
- Pref, Work);
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ X400, Userid,
+ decode_vcard_INTERNET(__TopXMLNS, __IgnoreEls,
+ _el),
+ Home, Pref, Work);
true ->
- decode_vcard_EMAIL_els(__TopXMLNS, _els, X400, Userid,
- Internet, Home, Pref, Work)
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ X400, Userid, Internet, Home, Pref, Work)
end;
-decode_vcard_EMAIL_els(__TopXMLNS,
+decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PREF">>, _attrs, _} = _el | _els], X400,
Userid, Internet, Home, Pref, Work) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_EMAIL_els(__TopXMLNS, _els, X400, Userid,
- Internet, Home,
- decode_vcard_PREF(__TopXMLNS, _el), Work);
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ X400, Userid, Internet, Home,
+ decode_vcard_PREF(__TopXMLNS, __IgnoreEls,
+ _el),
+ Work);
true ->
- decode_vcard_EMAIL_els(__TopXMLNS, _els, X400, Userid,
- Internet, Home, Pref, Work)
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ X400, Userid, Internet, Home, Pref, Work)
end;
-decode_vcard_EMAIL_els(__TopXMLNS,
+decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"X400">>, _attrs, _} = _el | _els], X400,
Userid, Internet, Home, Pref, Work) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_EMAIL_els(__TopXMLNS, _els,
- decode_vcard_X400(__TopXMLNS, _el), Userid,
- Internet, Home, Pref, Work);
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_vcard_X400(__TopXMLNS, __IgnoreEls,
+ _el),
+ Userid, Internet, Home, Pref, Work);
true ->
- decode_vcard_EMAIL_els(__TopXMLNS, _els, X400, Userid,
- Internet, Home, Pref, Work)
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ X400, Userid, Internet, Home, Pref, Work)
end;
-decode_vcard_EMAIL_els(__TopXMLNS,
+decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"USERID">>, _attrs, _} = _el | _els], X400,
Userid, Internet, Home, Pref, Work) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_EMAIL_els(__TopXMLNS, _els, X400,
- decode_vcard_USERID(__TopXMLNS, _el),
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ X400,
+ decode_vcard_USERID(__TopXMLNS, __IgnoreEls,
+ _el),
Internet, Home, Pref, Work);
true ->
- decode_vcard_EMAIL_els(__TopXMLNS, _els, X400, Userid,
- Internet, Home, Pref, Work)
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ X400, Userid, Internet, Home, Pref, Work)
end;
-decode_vcard_EMAIL_els(__TopXMLNS, [_ | _els], X400,
- Userid, Internet, Home, Pref, Work) ->
- decode_vcard_EMAIL_els(__TopXMLNS, _els, X400, Userid,
- Internet, Home, Pref, Work).
+decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], X400, Userid, Internet, Home, Pref, Work) ->
+ decode_vcard_EMAIL_els(__TopXMLNS, __IgnoreEls, _els,
+ X400, Userid, Internet, Home, Pref, Work).
encode_vcard_EMAIL({vcard_email, Home, Work, Internet,
Pref, X400, Userid},
_xmlns_attrs) ->
- _els = 'encode_vcard_EMAIL_$work'(Work,
- 'encode_vcard_EMAIL_$pref'(Pref,
- 'encode_vcard_EMAIL_$home'(Home,
- 'encode_vcard_EMAIL_$internet'(Internet,
- 'encode_vcard_EMAIL_$userid'(Userid,
- 'encode_vcard_EMAIL_$x400'(X400,
- [])))))),
+ _els = lists:reverse('encode_vcard_EMAIL_$x400'(X400,
+ 'encode_vcard_EMAIL_$userid'(Userid,
+ 'encode_vcard_EMAIL_$internet'(Internet,
+ 'encode_vcard_EMAIL_$home'(Home,
+ 'encode_vcard_EMAIL_$pref'(Pref,
+ 'encode_vcard_EMAIL_$work'(Work,
+ []))))))),
_attrs = _xmlns_attrs,
{xmlel, <<"EMAIL">>, _attrs, _els}.
'encode_vcard_EMAIL_$work'(Work, _acc) ->
[encode_vcard_WORK(Work, []) | _acc].
-decode_vcard_TEL(__TopXMLNS,
+decode_vcard_TEL(__TopXMLNS, __IgnoreEls,
{xmlel, <<"TEL">>, _attrs, _els}) ->
{Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax,
Work, Cell, Modem, Isdn, Video} =
- decode_vcard_TEL_els(__TopXMLNS, _els, undefined, false,
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ undefined, false, false, false, false, false,
false, false, false, false, false, false, false,
- false, false, false, false, false),
+ false),
{vcard_tel, Home, Work, Voice, Fax, Pager, Msg, Cell,
Video, Bbs, Modem, Isdn, Pcs, Pref, Number}.
-decode_vcard_TEL_els(__TopXMLNS, [], Number, Pager, Pcs,
- Bbs, Voice, Home, Pref, Msg, Fax, Work, Cell, Modem,
- Isdn, Video) ->
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, [],
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax,
+ Work, Cell, Modem, Isdn, Video) ->
{Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax,
Work, Cell, Modem, Isdn, Video};
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"HOME">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice,
- decode_vcard_HOME(__TopXMLNS, _el), Pref, Msg,
- Fax, Work, Cell, Modem, Isdn, Video);
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice,
+ decode_vcard_HOME(__TopXMLNS, __IgnoreEls, _el),
+ Pref, Msg, Fax, Work, Cell, Modem, Isdn, Video);
true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"WORK">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax,
- decode_vcard_WORK(__TopXMLNS, _el), Cell, Modem,
- Isdn, Video);
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax,
+ decode_vcard_WORK(__TopXMLNS, __IgnoreEls, _el),
+ Cell, Modem, Isdn, Video);
true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"VOICE">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, decode_vcard_VOICE(__TopXMLNS, _el),
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs,
+ decode_vcard_VOICE(__TopXMLNS, __IgnoreEls,
+ _el),
Home, Pref, Msg, Fax, Work, Cell, Modem, Isdn,
Video);
true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"FAX">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg,
- decode_vcard_FAX(__TopXMLNS, _el), Work, Cell,
- Modem, Isdn, Video);
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ decode_vcard_FAX(__TopXMLNS, __IgnoreEls, _el),
+ Work, Cell, Modem, Isdn, Video);
true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PAGER">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number,
- decode_vcard_PAGER(__TopXMLNS, _el), Pcs, Bbs,
- Voice, Home, Pref, Msg, Fax, Work, Cell, Modem,
- Isdn, Video);
- true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number,
+ decode_vcard_PAGER(__TopXMLNS, __IgnoreEls,
+ _el),
Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ Cell, Modem, Isdn, Video);
+ true ->
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"MSG">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref,
- decode_vcard_MSG(__TopXMLNS, _el), Fax, Work,
- Cell, Modem, Isdn, Video);
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref,
+ decode_vcard_MSG(__TopXMLNS, __IgnoreEls, _el),
+ Fax, Work, Cell, Modem, Isdn, Video);
true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"CELL">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- decode_vcard_CELL(__TopXMLNS, _el), Modem, Isdn,
- Video);
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work,
+ decode_vcard_CELL(__TopXMLNS, __IgnoreEls, _el),
+ Modem, Isdn, Video);
true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"VIDEO">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn,
- decode_vcard_VIDEO(__TopXMLNS, _el));
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn,
+ decode_vcard_VIDEO(__TopXMLNS, __IgnoreEls,
+ _el));
true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"BBS">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, decode_vcard_BBS(__TopXMLNS, _el), Voice,
- Home, Pref, Msg, Fax, Work, Cell, Modem, Isdn,
- Video);
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs,
+ decode_vcard_BBS(__TopXMLNS, __IgnoreEls, _el),
+ Voice, Home, Pref, Msg, Fax, Work, Cell, Modem,
+ Isdn, Video);
true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"MODEM">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, decode_vcard_MODEM(__TopXMLNS, _el), Isdn,
- Video);
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell,
+ decode_vcard_MODEM(__TopXMLNS, __IgnoreEls,
+ _el),
+ Isdn, Video);
true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"ISDN">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, decode_vcard_ISDN(__TopXMLNS, _el),
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem,
+ decode_vcard_ISDN(__TopXMLNS, __IgnoreEls, _el),
Video);
true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PCS">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- decode_vcard_PCS(__TopXMLNS, _el), Bbs, Voice,
- Home, Pref, Msg, Fax, Work, Cell, Modem, Isdn,
- Video);
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager,
+ decode_vcard_PCS(__TopXMLNS, __IgnoreEls, _el),
+ Bbs, Voice, Home, Pref, Msg, Fax, Work, Cell,
+ Modem, Isdn, Video);
true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PREF">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home,
- decode_vcard_PREF(__TopXMLNS, _el), Msg, Fax,
- Work, Cell, Modem, Isdn, Video);
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home,
+ decode_vcard_PREF(__TopXMLNS, __IgnoreEls, _el),
+ Msg, Fax, Work, Cell, Modem, Isdn, Video);
true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS,
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"NUMBER">>, _attrs, _} = _el | _els], Number,
Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
Cell, Modem, Isdn, Video) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_TEL_els(__TopXMLNS, _els,
- decode_vcard_NUMBER(__TopXMLNS, _el), Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video);
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_vcard_NUMBER(__TopXMLNS, __IgnoreEls,
+ _el),
+ Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax,
+ Work, Cell, Modem, Isdn, Video);
true ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video)
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg,
+ Fax, Work, Cell, Modem, Isdn, Video)
end;
-decode_vcard_TEL_els(__TopXMLNS, [_ | _els], Number,
- Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work,
- Cell, Modem, Isdn, Video) ->
- decode_vcard_TEL_els(__TopXMLNS, _els, Number, Pager,
- Pcs, Bbs, Voice, Home, Pref, Msg, Fax, Work, Cell,
- Modem, Isdn, Video).
+decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Number, Pager, Pcs, Bbs, Voice, Home, Pref,
+ Msg, Fax, Work, Cell, Modem, Isdn, Video) ->
+ decode_vcard_TEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Number, Pager, Pcs, Bbs, Voice, Home, Pref, Msg, Fax,
+ Work, Cell, Modem, Isdn, Video).
encode_vcard_TEL({vcard_tel, Home, Work, Voice, Fax,
Pager, Msg, Cell, Video, Bbs, Modem, Isdn, Pcs, Pref,
Number},
_xmlns_attrs) ->
- _els = 'encode_vcard_TEL_$video'(Video,
- 'encode_vcard_TEL_$isdn'(Isdn,
- 'encode_vcard_TEL_$modem'(Modem,
- 'encode_vcard_TEL_$cell'(Cell,
- 'encode_vcard_TEL_$work'(Work,
- 'encode_vcard_TEL_$fax'(Fax,
- 'encode_vcard_TEL_$msg'(Msg,
- 'encode_vcard_TEL_$pref'(Pref,
- 'encode_vcard_TEL_$home'(Home,
- 'encode_vcard_TEL_$voice'(Voice,
- 'encode_vcard_TEL_$bbs'(Bbs,
- 'encode_vcard_TEL_$pcs'(Pcs,
- 'encode_vcard_TEL_$pager'(Pager,
- 'encode_vcard_TEL_$number'(Number,
- [])))))))))))))),
+ _els = lists:reverse('encode_vcard_TEL_$number'(Number,
+ 'encode_vcard_TEL_$pager'(Pager,
+ 'encode_vcard_TEL_$pcs'(Pcs,
+ 'encode_vcard_TEL_$bbs'(Bbs,
+ 'encode_vcard_TEL_$voice'(Voice,
+ 'encode_vcard_TEL_$home'(Home,
+ 'encode_vcard_TEL_$pref'(Pref,
+ 'encode_vcard_TEL_$msg'(Msg,
+ 'encode_vcard_TEL_$fax'(Fax,
+ 'encode_vcard_TEL_$work'(Work,
+ 'encode_vcard_TEL_$cell'(Cell,
+ 'encode_vcard_TEL_$modem'(Modem,
+ 'encode_vcard_TEL_$isdn'(Isdn,
+ 'encode_vcard_TEL_$video'(Video,
+ []))))))))))))))),
_attrs = _xmlns_attrs,
{xmlel, <<"TEL">>, _attrs, _els}.
'encode_vcard_TEL_$video'(Video, _acc) ->
[encode_vcard_VIDEO(Video, []) | _acc].
-decode_vcard_LABEL(__TopXMLNS,
+decode_vcard_LABEL(__TopXMLNS, __IgnoreEls,
{xmlel, <<"LABEL">>, _attrs, _els}) ->
{Line, Home, Pref, Work, Intl, Parcel, Postal, Dom} =
- decode_vcard_LABEL_els(__TopXMLNS, _els, [], false,
- false, false, false, false, false, false),
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ [], false, false, false, false, false, false,
+ false),
{vcard_label, Home, Work, Postal, Parcel, Dom, Intl,
Pref, Line}.
-decode_vcard_LABEL_els(__TopXMLNS, [], Line, Home, Pref,
- Work, Intl, Parcel, Postal, Dom) ->
+decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, [],
+ Line, Home, Pref, Work, Intl, Parcel, Postal, Dom) ->
{lists:reverse(Line), Home, Pref, Work, Intl, Parcel,
Postal, Dom};
-decode_vcard_LABEL_els(__TopXMLNS,
+decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"HOME">>, _attrs, _} = _el | _els], Line,
Home, Pref, Work, Intl, Parcel, Postal, Dom) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line,
- decode_vcard_HOME(__TopXMLNS, _el), Pref,
- Work, Intl, Parcel, Postal, Dom);
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line,
+ decode_vcard_HOME(__TopXMLNS, __IgnoreEls,
+ _el),
+ Pref, Work, Intl, Parcel, Postal, Dom);
true ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, Work, Intl, Parcel, Postal, Dom)
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref, Work, Intl, Parcel, Postal,
+ Dom)
end;
-decode_vcard_LABEL_els(__TopXMLNS,
+decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"WORK">>, _attrs, _} = _el | _els], Line,
Home, Pref, Work, Intl, Parcel, Postal, Dom) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, decode_vcard_WORK(__TopXMLNS, _el),
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref,
+ decode_vcard_WORK(__TopXMLNS, __IgnoreEls,
+ _el),
Intl, Parcel, Postal, Dom);
true ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, Work, Intl, Parcel, Postal, Dom)
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref, Work, Intl, Parcel, Postal,
+ Dom)
end;
-decode_vcard_LABEL_els(__TopXMLNS,
+decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"POSTAL">>, _attrs, _} = _el | _els], Line,
Home, Pref, Work, Intl, Parcel, Postal, Dom) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, Work, Intl, Parcel,
- decode_vcard_POSTAL(__TopXMLNS, _el), Dom);
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref, Work, Intl, Parcel,
+ decode_vcard_POSTAL(__TopXMLNS, __IgnoreEls,
+ _el),
+ Dom);
true ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, Work, Intl, Parcel, Postal, Dom)
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref, Work, Intl, Parcel, Postal,
+ Dom)
end;
-decode_vcard_LABEL_els(__TopXMLNS,
+decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PARCEL">>, _attrs, _} = _el | _els], Line,
Home, Pref, Work, Intl, Parcel, Postal, Dom) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, Work, Intl,
- decode_vcard_PARCEL(__TopXMLNS, _el), Postal,
- Dom);
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref, Work, Intl,
+ decode_vcard_PARCEL(__TopXMLNS, __IgnoreEls,
+ _el),
+ Postal, Dom);
true ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, Work, Intl, Parcel, Postal, Dom)
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref, Work, Intl, Parcel, Postal,
+ Dom)
end;
-decode_vcard_LABEL_els(__TopXMLNS,
+decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"DOM">>, _attrs, _} = _el | _els], Line,
Home, Pref, Work, Intl, Parcel, Postal, Dom) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, Work, Intl, Parcel, Postal,
- decode_vcard_DOM(__TopXMLNS, _el));
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref, Work, Intl, Parcel, Postal,
+ decode_vcard_DOM(__TopXMLNS, __IgnoreEls,
+ _el));
true ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, Work, Intl, Parcel, Postal, Dom)
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref, Work, Intl, Parcel, Postal,
+ Dom)
end;
-decode_vcard_LABEL_els(__TopXMLNS,
+decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"INTL">>, _attrs, _} = _el | _els], Line,
Home, Pref, Work, Intl, Parcel, Postal, Dom) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, Work,
- decode_vcard_INTL(__TopXMLNS, _el), Parcel,
- Postal, Dom);
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref, Work,
+ decode_vcard_INTL(__TopXMLNS, __IgnoreEls,
+ _el),
+ Parcel, Postal, Dom);
true ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, Work, Intl, Parcel, Postal, Dom)
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref, Work, Intl, Parcel, Postal,
+ Dom)
end;
-decode_vcard_LABEL_els(__TopXMLNS,
+decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PREF">>, _attrs, _} = _el | _els], Line,
Home, Pref, Work, Intl, Parcel, Postal, Dom) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- decode_vcard_PREF(__TopXMLNS, _el), Work,
- Intl, Parcel, Postal, Dom);
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home,
+ decode_vcard_PREF(__TopXMLNS, __IgnoreEls,
+ _el),
+ Work, Intl, Parcel, Postal, Dom);
true ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, Work, Intl, Parcel, Postal, Dom)
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref, Work, Intl, Parcel, Postal,
+ Dom)
end;
-decode_vcard_LABEL_els(__TopXMLNS,
+decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"LINE">>, _attrs, _} = _el | _els], Line,
Home, Pref, Work, Intl, Parcel, Postal, Dom) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_LABEL_els(__TopXMLNS, _els,
- case decode_vcard_LINE(__TopXMLNS, _el) of
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ case decode_vcard_LINE(__TopXMLNS,
+ __IgnoreEls, _el)
+ of
undefined -> Line;
_new_el -> [_new_el | Line]
end,
Home, Pref, Work, Intl, Parcel, Postal, Dom);
true ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, Work, Intl, Parcel, Postal, Dom)
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref, Work, Intl, Parcel, Postal,
+ Dom)
end;
-decode_vcard_LABEL_els(__TopXMLNS, [_ | _els], Line,
- Home, Pref, Work, Intl, Parcel, Postal, Dom) ->
- decode_vcard_LABEL_els(__TopXMLNS, _els, Line, Home,
- Pref, Work, Intl, Parcel, Postal, Dom).
+decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Line, Home, Pref, Work, Intl, Parcel,
+ Postal, Dom) ->
+ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els,
+ Line, Home, Pref, Work, Intl, Parcel, Postal, Dom).
encode_vcard_LABEL({vcard_label, Home, Work, Postal,
Parcel, Dom, Intl, Pref, Line},
_xmlns_attrs) ->
- _els = 'encode_vcard_LABEL_$dom'(Dom,
- 'encode_vcard_LABEL_$postal'(Postal,
- 'encode_vcard_LABEL_$parcel'(Parcel,
- 'encode_vcard_LABEL_$intl'(Intl,
- 'encode_vcard_LABEL_$work'(Work,
- 'encode_vcard_LABEL_$pref'(Pref,
- 'encode_vcard_LABEL_$home'(Home,
- 'encode_vcard_LABEL_$line'(Line,
- [])))))))),
+ _els = lists:reverse('encode_vcard_LABEL_$line'(Line,
+ 'encode_vcard_LABEL_$home'(Home,
+ 'encode_vcard_LABEL_$pref'(Pref,
+ 'encode_vcard_LABEL_$work'(Work,
+ 'encode_vcard_LABEL_$intl'(Intl,
+ 'encode_vcard_LABEL_$parcel'(Parcel,
+ 'encode_vcard_LABEL_$postal'(Postal,
+ 'encode_vcard_LABEL_$dom'(Dom,
+ []))))))))),
_attrs = _xmlns_attrs,
{xmlel, <<"LABEL">>, _attrs, _els}.
'encode_vcard_LABEL_$dom'(Dom, _acc) ->
[encode_vcard_DOM(Dom, []) | _acc].
-decode_vcard_ADR(__TopXMLNS,
+decode_vcard_ADR(__TopXMLNS, __IgnoreEls,
{xmlel, <<"ADR">>, _attrs, _els}) ->
{Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
Locality, Work, Intl, Parcel, Postal, Dom, Region} =
- decode_vcard_ADR_els(__TopXMLNS, _els, undefined,
- undefined, undefined, false, false, undefined,
- undefined, undefined, false, false, false, false,
- false, undefined),
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ undefined, undefined, undefined, false, false,
+ undefined, undefined, undefined, false, false,
+ false, false, false, undefined),
{vcard_adr, Home, Work, Postal, Parcel, Dom, Intl, Pref,
Pobox, Extadd, Street, Locality, Region, Pcode, Ctry}.
-decode_vcard_ADR_els(__TopXMLNS, [], Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work, Intl,
- Parcel, Postal, Dom, Region) ->
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, [],
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom, Region) ->
{Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
Locality, Work, Intl, Parcel, Postal, Dom, Region};
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"HOME">>, _attrs, _} = _el | _els], Street,
Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, decode_vcard_HOME(__TopXMLNS, _el), Pref,
- Pobox, Ctry, Locality, Work, Intl, Parcel,
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode,
+ decode_vcard_HOME(__TopXMLNS, __IgnoreEls, _el),
+ Pref, Pobox, Ctry, Locality, Work, Intl, Parcel,
Postal, Dom, Region);
true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"WORK">>, _attrs, _} = _el | _els], Street,
Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality,
- decode_vcard_WORK(__TopXMLNS, _el), Intl,
- Parcel, Postal, Dom, Region);
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality,
+ decode_vcard_WORK(__TopXMLNS, __IgnoreEls, _el),
+ Intl, Parcel, Postal, Dom, Region);
true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"POSTAL">>, _attrs, _} = _el | _els], Street,
Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel,
- decode_vcard_POSTAL(__TopXMLNS, _el), Dom,
- Region);
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel,
+ decode_vcard_POSTAL(__TopXMLNS, __IgnoreEls,
+ _el),
+ Dom, Region);
true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PARCEL">>, _attrs, _} = _el | _els], Street,
Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, decode_vcard_PARCEL(__TopXMLNS, _el),
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl,
+ decode_vcard_PARCEL(__TopXMLNS, __IgnoreEls,
+ _el),
Postal, Dom, Region);
true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"DOM">>, _attrs, _} = _el | _els], Street,
Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal,
- decode_vcard_DOM(__TopXMLNS, _el), Region);
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal,
+ decode_vcard_DOM(__TopXMLNS, __IgnoreEls, _el),
+ Region);
true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"INTL">>, _attrs, _} = _el | _els], Street,
Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- decode_vcard_INTL(__TopXMLNS, _el), Parcel,
- Postal, Dom, Region);
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work,
+ decode_vcard_INTL(__TopXMLNS, __IgnoreEls, _el),
+ Parcel, Postal, Dom, Region);
true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PREF">>, _attrs, _} = _el | _els], Street,
Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, decode_vcard_PREF(__TopXMLNS, _el),
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home,
+ decode_vcard_PREF(__TopXMLNS, __IgnoreEls, _el),
Pobox, Ctry, Locality, Work, Intl, Parcel,
Postal, Dom, Region);
true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"POBOX">>, _attrs, _} = _el | _els], Street,
Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref,
- decode_vcard_POBOX(__TopXMLNS, _el), Ctry,
- Locality, Work, Intl, Parcel, Postal, Dom,
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref,
+ decode_vcard_POBOX(__TopXMLNS, __IgnoreEls,
+ _el),
+ Ctry, Locality, Work, Intl, Parcel, Postal, Dom,
Region);
true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"EXTADD">>, _attrs, _} = _el | _els], Street,
Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street,
- decode_vcard_EXTADD(__TopXMLNS, _el), Pcode,
- Home, Pref, Pobox, Ctry, Locality, Work, Intl,
- Parcel, Postal, Dom, Region);
- true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street,
+ decode_vcard_EXTADD(__TopXMLNS, __IgnoreEls,
+ _el),
Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ Intl, Parcel, Postal, Dom, Region);
+ true ->
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"STREET">>, _attrs, _} = _el | _els], Street,
Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els,
- decode_vcard_STREET(__TopXMLNS, _el), Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region);
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_vcard_STREET(__TopXMLNS, __IgnoreEls,
+ _el),
+ Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region);
true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"LOCALITY">>, _attrs, _} = _el | _els],
Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
Locality, Work, Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry,
- decode_vcard_LOCALITY(__TopXMLNS, _el), Work,
- Intl, Parcel, Postal, Dom, Region);
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ decode_vcard_LOCALITY(__TopXMLNS, __IgnoreEls,
+ _el),
+ Work, Intl, Parcel, Postal, Dom, Region);
true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"REGION">>, _attrs, _} = _el | _els], Street,
Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom,
- decode_vcard_REGION(__TopXMLNS, _el));
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ decode_vcard_REGION(__TopXMLNS, __IgnoreEls,
+ _el));
true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PCODE">>, _attrs, _} = _el | _els], Street,
Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- decode_vcard_PCODE(__TopXMLNS, _el), Home, Pref,
- Pobox, Ctry, Locality, Work, Intl, Parcel,
- Postal, Dom, Region);
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd,
+ decode_vcard_PCODE(__TopXMLNS, __IgnoreEls,
+ _el),
+ Home, Pref, Pobox, Ctry, Locality, Work, Intl,
+ Parcel, Postal, Dom, Region);
true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS,
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"CTRY">>, _attrs, _} = _el | _els], Street,
Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
Intl, Parcel, Postal, Dom, Region) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox,
- decode_vcard_CTRY(__TopXMLNS, _el), Locality,
- Work, Intl, Parcel, Postal, Dom, Region);
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox,
+ decode_vcard_CTRY(__TopXMLNS, __IgnoreEls, _el),
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region);
true ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region)
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom,
+ Region)
end;
-decode_vcard_ADR_els(__TopXMLNS, [_ | _els], Street,
- Extadd, Pcode, Home, Pref, Pobox, Ctry, Locality, Work,
- Intl, Parcel, Postal, Dom, Region) ->
- decode_vcard_ADR_els(__TopXMLNS, _els, Street, Extadd,
- Pcode, Home, Pref, Pobox, Ctry, Locality, Work, Intl,
- Parcel, Postal, Dom, Region).
+decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Street, Extadd, Pcode, Home, Pref, Pobox,
+ Ctry, Locality, Work, Intl, Parcel, Postal, Dom,
+ Region) ->
+ decode_vcard_ADR_els(__TopXMLNS, __IgnoreEls, _els,
+ Street, Extadd, Pcode, Home, Pref, Pobox, Ctry,
+ Locality, Work, Intl, Parcel, Postal, Dom, Region).
encode_vcard_ADR({vcard_adr, Home, Work, Postal, Parcel,
Dom, Intl, Pref, Pobox, Extadd, Street, Locality,
Region, Pcode, Ctry},
_xmlns_attrs) ->
- _els = 'encode_vcard_ADR_$region'(Region,
- 'encode_vcard_ADR_$dom'(Dom,
- 'encode_vcard_ADR_$postal'(Postal,
- 'encode_vcard_ADR_$parcel'(Parcel,
- 'encode_vcard_ADR_$intl'(Intl,
- 'encode_vcard_ADR_$work'(Work,
- 'encode_vcard_ADR_$locality'(Locality,
- 'encode_vcard_ADR_$ctry'(Ctry,
- 'encode_vcard_ADR_$pobox'(Pobox,
- 'encode_vcard_ADR_$pref'(Pref,
- 'encode_vcard_ADR_$home'(Home,
- 'encode_vcard_ADR_$pcode'(Pcode,
- 'encode_vcard_ADR_$extadd'(Extadd,
- 'encode_vcard_ADR_$street'(Street,
- [])))))))))))))),
+ _els = lists:reverse('encode_vcard_ADR_$street'(Street,
+ 'encode_vcard_ADR_$extadd'(Extadd,
+ 'encode_vcard_ADR_$pcode'(Pcode,
+ 'encode_vcard_ADR_$home'(Home,
+ 'encode_vcard_ADR_$pref'(Pref,
+ 'encode_vcard_ADR_$pobox'(Pobox,
+ 'encode_vcard_ADR_$ctry'(Ctry,
+ 'encode_vcard_ADR_$locality'(Locality,
+ 'encode_vcard_ADR_$work'(Work,
+ 'encode_vcard_ADR_$intl'(Intl,
+ 'encode_vcard_ADR_$parcel'(Parcel,
+ 'encode_vcard_ADR_$postal'(Postal,
+ 'encode_vcard_ADR_$dom'(Dom,
+ 'encode_vcard_ADR_$region'(Region,
+ []))))))))))))))),
_attrs = _xmlns_attrs,
{xmlel, <<"ADR">>, _attrs, _els}.
'encode_vcard_ADR_$region'(Region, _acc) ->
[encode_vcard_REGION(Region, []) | _acc].
-decode_vcard_N(__TopXMLNS,
+decode_vcard_N(__TopXMLNS, __IgnoreEls,
{xmlel, <<"N">>, _attrs, _els}) ->
{Middle, Suffix, Prefix, Family, Given} =
- decode_vcard_N_els(__TopXMLNS, _els, undefined,
- undefined, undefined, undefined, undefined),
+ decode_vcard_N_els(__TopXMLNS, __IgnoreEls, _els,
+ undefined, undefined, undefined, undefined,
+ undefined),
{vcard_name, Family, Given, Middle, Prefix, Suffix}.
-decode_vcard_N_els(__TopXMLNS, [], Middle, Suffix,
- Prefix, Family, Given) ->
+decode_vcard_N_els(__TopXMLNS, __IgnoreEls, [], Middle,
+ Suffix, Prefix, Family, Given) ->
{Middle, Suffix, Prefix, Family, Given};
-decode_vcard_N_els(__TopXMLNS,
+decode_vcard_N_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"FAMILY">>, _attrs, _} = _el | _els], Middle,
Suffix, Prefix, Family, Given) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_N_els(__TopXMLNS, _els, Middle, Suffix,
- Prefix, decode_vcard_FAMILY(__TopXMLNS, _el),
+ decode_vcard_N_els(__TopXMLNS, __IgnoreEls, _els,
+ Middle, Suffix, Prefix,
+ decode_vcard_FAMILY(__TopXMLNS, __IgnoreEls, _el),
Given);
true ->
- decode_vcard_N_els(__TopXMLNS, _els, Middle, Suffix,
- Prefix, Family, Given)
+ decode_vcard_N_els(__TopXMLNS, __IgnoreEls, _els,
+ Middle, Suffix, Prefix, Family, Given)
end;
-decode_vcard_N_els(__TopXMLNS,
+decode_vcard_N_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"GIVEN">>, _attrs, _} = _el | _els], Middle,
Suffix, Prefix, Family, Given) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_N_els(__TopXMLNS, _els, Middle, Suffix,
- Prefix, Family,
- decode_vcard_GIVEN(__TopXMLNS, _el));
+ decode_vcard_N_els(__TopXMLNS, __IgnoreEls, _els,
+ Middle, Suffix, Prefix, Family,
+ decode_vcard_GIVEN(__TopXMLNS, __IgnoreEls, _el));
true ->
- decode_vcard_N_els(__TopXMLNS, _els, Middle, Suffix,
- Prefix, Family, Given)
+ decode_vcard_N_els(__TopXMLNS, __IgnoreEls, _els,
+ Middle, Suffix, Prefix, Family, Given)
end;
-decode_vcard_N_els(__TopXMLNS,
+decode_vcard_N_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"MIDDLE">>, _attrs, _} = _el | _els], Middle,
Suffix, Prefix, Family, Given) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_N_els(__TopXMLNS, _els,
- decode_vcard_MIDDLE(__TopXMLNS, _el), Suffix,
- Prefix, Family, Given);
+ decode_vcard_N_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_vcard_MIDDLE(__TopXMLNS, __IgnoreEls, _el),
+ Suffix, Prefix, Family, Given);
true ->
- decode_vcard_N_els(__TopXMLNS, _els, Middle, Suffix,
- Prefix, Family, Given)
+ decode_vcard_N_els(__TopXMLNS, __IgnoreEls, _els,
+ Middle, Suffix, Prefix, Family, Given)
end;
-decode_vcard_N_els(__TopXMLNS,
+decode_vcard_N_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"PREFIX">>, _attrs, _} = _el | _els], Middle,
Suffix, Prefix, Family, Given) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_N_els(__TopXMLNS, _els, Middle, Suffix,
- decode_vcard_PREFIX(__TopXMLNS, _el), Family,
- Given);
+ decode_vcard_N_els(__TopXMLNS, __IgnoreEls, _els,
+ Middle, Suffix,
+ decode_vcard_PREFIX(__TopXMLNS, __IgnoreEls, _el),
+ Family, Given);
true ->
- decode_vcard_N_els(__TopXMLNS, _els, Middle, Suffix,
- Prefix, Family, Given)
+ decode_vcard_N_els(__TopXMLNS, __IgnoreEls, _els,
+ Middle, Suffix, Prefix, Family, Given)
end;
-decode_vcard_N_els(__TopXMLNS,
+decode_vcard_N_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"SUFFIX">>, _attrs, _} = _el | _els], Middle,
Suffix, Prefix, Family, Given) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_vcard_N_els(__TopXMLNS, _els, Middle,
- decode_vcard_SUFFIX(__TopXMLNS, _el), Prefix,
- Family, Given);
+ decode_vcard_N_els(__TopXMLNS, __IgnoreEls, _els,
+ Middle,
+ decode_vcard_SUFFIX(__TopXMLNS, __IgnoreEls, _el),
+ Prefix, Family, Given);
true ->
- decode_vcard_N_els(__TopXMLNS, _els, Middle, Suffix,
- Prefix, Family, Given)
+ decode_vcard_N_els(__TopXMLNS, __IgnoreEls, _els,
+ Middle, Suffix, Prefix, Family, Given)
end;
-decode_vcard_N_els(__TopXMLNS, [_ | _els], Middle,
- Suffix, Prefix, Family, Given) ->
- decode_vcard_N_els(__TopXMLNS, _els, Middle, Suffix,
- Prefix, Family, Given).
+decode_vcard_N_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Middle, Suffix, Prefix, Family, Given) ->
+ decode_vcard_N_els(__TopXMLNS, __IgnoreEls, _els,
+ Middle, Suffix, Prefix, Family, Given).
encode_vcard_N({vcard_name, Family, Given, Middle,
Prefix, Suffix},
_xmlns_attrs) ->
- _els = 'encode_vcard_N_$given'(Given,
- 'encode_vcard_N_$family'(Family,
- 'encode_vcard_N_$prefix'(Prefix,
- 'encode_vcard_N_$suffix'(Suffix,
- 'encode_vcard_N_$middle'(Middle,
- []))))),
+ _els = lists:reverse('encode_vcard_N_$middle'(Middle,
+ 'encode_vcard_N_$suffix'(Suffix,
+ 'encode_vcard_N_$prefix'(Prefix,
+ 'encode_vcard_N_$family'(Family,
+ 'encode_vcard_N_$given'(Given,
+ [])))))),
_attrs = _xmlns_attrs,
{xmlel, <<"N">>, _attrs, _els}.
'encode_vcard_N_$given'(Given, _acc) ->
[encode_vcard_GIVEN(Given, []) | _acc].
-decode_vcard_CONFIDENTIAL(__TopXMLNS,
+decode_vcard_CONFIDENTIAL(__TopXMLNS, __IgnoreEls,
{xmlel, <<"CONFIDENTIAL">>, _attrs, _els}) ->
confidential.
_attrs = _xmlns_attrs,
{xmlel, <<"CONFIDENTIAL">>, _attrs, _els}.
-decode_vcard_PRIVATE(__TopXMLNS,
+decode_vcard_PRIVATE(__TopXMLNS, __IgnoreEls,
{xmlel, <<"PRIVATE">>, _attrs, _els}) ->
private.
_attrs = _xmlns_attrs,
{xmlel, <<"PRIVATE">>, _attrs, _els}.
-decode_vcard_PUBLIC(__TopXMLNS,
+decode_vcard_PUBLIC(__TopXMLNS, __IgnoreEls,
{xmlel, <<"PUBLIC">>, _attrs, _els}) ->
public.
_attrs = _xmlns_attrs,
{xmlel, <<"PUBLIC">>, _attrs, _els}.
-decode_vcard_EXTVAL(__TopXMLNS,
+decode_vcard_EXTVAL(__TopXMLNS, __IgnoreEls,
{xmlel, <<"EXTVAL">>, _attrs, _els}) ->
- Cdata = decode_vcard_EXTVAL_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_EXTVAL_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_EXTVAL_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_EXTVAL_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_EXTVAL_cdata(__TopXMLNS, Cdata);
-decode_vcard_EXTVAL_els(__TopXMLNS,
+decode_vcard_EXTVAL_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_EXTVAL_els(__TopXMLNS, _els,
+ decode_vcard_EXTVAL_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_EXTVAL_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_EXTVAL_els(__TopXMLNS, _els, Cdata).
+decode_vcard_EXTVAL_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_EXTVAL_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_EXTVAL(Cdata, _xmlns_attrs) ->
_els = encode_vcard_EXTVAL_cdata(Cdata, []),
encode_vcard_EXTVAL_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_TYPE(__TopXMLNS,
+decode_vcard_TYPE(__TopXMLNS, __IgnoreEls,
{xmlel, <<"TYPE">>, _attrs, _els}) ->
- Cdata = decode_vcard_TYPE_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_TYPE_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_TYPE_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_TYPE_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_TYPE_cdata(__TopXMLNS, Cdata);
-decode_vcard_TYPE_els(__TopXMLNS,
+decode_vcard_TYPE_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_TYPE_els(__TopXMLNS, _els,
+ decode_vcard_TYPE_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_TYPE_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_TYPE_els(__TopXMLNS, _els, Cdata).
+decode_vcard_TYPE_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_TYPE_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_TYPE(Cdata, _xmlns_attrs) ->
_els = encode_vcard_TYPE_cdata(Cdata, []),
encode_vcard_TYPE_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_DESC(__TopXMLNS,
+decode_vcard_DESC(__TopXMLNS, __IgnoreEls,
{xmlel, <<"DESC">>, _attrs, _els}) ->
- Cdata = decode_vcard_DESC_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_DESC_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_DESC_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_DESC_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_DESC_cdata(__TopXMLNS, Cdata);
-decode_vcard_DESC_els(__TopXMLNS,
+decode_vcard_DESC_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_DESC_els(__TopXMLNS, _els,
+ decode_vcard_DESC_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_DESC_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_DESC_els(__TopXMLNS, _els, Cdata).
+decode_vcard_DESC_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_DESC_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_DESC(Cdata, _xmlns_attrs) ->
_els = encode_vcard_DESC_cdata(Cdata, []),
encode_vcard_DESC_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_URL(__TopXMLNS,
+decode_vcard_URL(__TopXMLNS, __IgnoreEls,
{xmlel, <<"URL">>, _attrs, _els}) ->
- Cdata = decode_vcard_URL_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_URL_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_URL_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_URL_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_URL_cdata(__TopXMLNS, Cdata);
-decode_vcard_URL_els(__TopXMLNS,
+decode_vcard_URL_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_URL_els(__TopXMLNS, _els,
+ decode_vcard_URL_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_URL_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_URL_els(__TopXMLNS, _els, Cdata).
+decode_vcard_URL_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_URL_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_URL(Cdata, _xmlns_attrs) ->
_els = encode_vcard_URL_cdata(Cdata, []),
encode_vcard_URL_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_UID(__TopXMLNS,
+decode_vcard_UID(__TopXMLNS, __IgnoreEls,
{xmlel, <<"UID">>, _attrs, _els}) ->
- Cdata = decode_vcard_UID_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_UID_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_UID_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_UID_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_UID_cdata(__TopXMLNS, Cdata);
-decode_vcard_UID_els(__TopXMLNS,
+decode_vcard_UID_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_UID_els(__TopXMLNS, _els,
+ decode_vcard_UID_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_UID_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_UID_els(__TopXMLNS, _els, Cdata).
+decode_vcard_UID_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_UID_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_UID(Cdata, _xmlns_attrs) ->
_els = encode_vcard_UID_cdata(Cdata, []),
encode_vcard_UID_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_SORT_STRING(__TopXMLNS,
+decode_vcard_SORT_STRING(__TopXMLNS, __IgnoreEls,
{xmlel, <<"SORT-STRING">>, _attrs, _els}) ->
- Cdata = decode_vcard_SORT_STRING_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_vcard_SORT_STRING_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_vcard_SORT_STRING_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_SORT_STRING_els(__TopXMLNS, __IgnoreEls,
+ [], Cdata) ->
decode_vcard_SORT_STRING_cdata(__TopXMLNS, Cdata);
-decode_vcard_SORT_STRING_els(__TopXMLNS,
+decode_vcard_SORT_STRING_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_SORT_STRING_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_vcard_SORT_STRING_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_SORT_STRING_els(__TopXMLNS, _els, Cdata).
+ decode_vcard_SORT_STRING_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_vcard_SORT_STRING_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_SORT_STRING_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_vcard_SORT_STRING(Cdata, _xmlns_attrs) ->
_els = encode_vcard_SORT_STRING_cdata(Cdata, []),
encode_vcard_SORT_STRING_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_REV(__TopXMLNS,
+decode_vcard_REV(__TopXMLNS, __IgnoreEls,
{xmlel, <<"REV">>, _attrs, _els}) ->
- Cdata = decode_vcard_REV_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_REV_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_REV_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_REV_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_REV_cdata(__TopXMLNS, Cdata);
-decode_vcard_REV_els(__TopXMLNS,
+decode_vcard_REV_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_REV_els(__TopXMLNS, _els,
+ decode_vcard_REV_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_REV_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_REV_els(__TopXMLNS, _els, Cdata).
+decode_vcard_REV_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_REV_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_REV(Cdata, _xmlns_attrs) ->
_els = encode_vcard_REV_cdata(Cdata, []),
encode_vcard_REV_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_PRODID(__TopXMLNS,
+decode_vcard_PRODID(__TopXMLNS, __IgnoreEls,
{xmlel, <<"PRODID">>, _attrs, _els}) ->
- Cdata = decode_vcard_PRODID_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_PRODID_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_PRODID_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_PRODID_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_PRODID_cdata(__TopXMLNS, Cdata);
-decode_vcard_PRODID_els(__TopXMLNS,
+decode_vcard_PRODID_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_PRODID_els(__TopXMLNS, _els,
+ decode_vcard_PRODID_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_PRODID_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_PRODID_els(__TopXMLNS, _els, Cdata).
+decode_vcard_PRODID_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_PRODID_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_PRODID(Cdata, _xmlns_attrs) ->
_els = encode_vcard_PRODID_cdata(Cdata, []),
encode_vcard_PRODID_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_NOTE(__TopXMLNS,
+decode_vcard_NOTE(__TopXMLNS, __IgnoreEls,
{xmlel, <<"NOTE">>, _attrs, _els}) ->
- Cdata = decode_vcard_NOTE_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_NOTE_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_NOTE_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_NOTE_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_NOTE_cdata(__TopXMLNS, Cdata);
-decode_vcard_NOTE_els(__TopXMLNS,
+decode_vcard_NOTE_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_NOTE_els(__TopXMLNS, _els,
+ decode_vcard_NOTE_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_NOTE_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_NOTE_els(__TopXMLNS, _els, Cdata).
+decode_vcard_NOTE_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_NOTE_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_NOTE(Cdata, _xmlns_attrs) ->
_els = encode_vcard_NOTE_cdata(Cdata, []),
encode_vcard_NOTE_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_KEYWORD(__TopXMLNS,
+decode_vcard_KEYWORD(__TopXMLNS, __IgnoreEls,
{xmlel, <<"KEYWORD">>, _attrs, _els}) ->
- Cdata = decode_vcard_KEYWORD_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_vcard_KEYWORD_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_vcard_KEYWORD_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_KEYWORD_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_KEYWORD_cdata(__TopXMLNS, Cdata);
-decode_vcard_KEYWORD_els(__TopXMLNS,
+decode_vcard_KEYWORD_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_KEYWORD_els(__TopXMLNS, _els,
+ decode_vcard_KEYWORD_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_KEYWORD_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_KEYWORD_els(__TopXMLNS, _els, Cdata).
+decode_vcard_KEYWORD_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_KEYWORD_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_KEYWORD(Cdata, _xmlns_attrs) ->
_els = encode_vcard_KEYWORD_cdata(Cdata, []),
encode_vcard_KEYWORD_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_ROLE(__TopXMLNS,
+decode_vcard_ROLE(__TopXMLNS, __IgnoreEls,
{xmlel, <<"ROLE">>, _attrs, _els}) ->
- Cdata = decode_vcard_ROLE_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_ROLE_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_ROLE_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_ROLE_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_ROLE_cdata(__TopXMLNS, Cdata);
-decode_vcard_ROLE_els(__TopXMLNS,
+decode_vcard_ROLE_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_ROLE_els(__TopXMLNS, _els,
+ decode_vcard_ROLE_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_ROLE_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_ROLE_els(__TopXMLNS, _els, Cdata).
+decode_vcard_ROLE_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_ROLE_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_ROLE(Cdata, _xmlns_attrs) ->
_els = encode_vcard_ROLE_cdata(Cdata, []),
encode_vcard_ROLE_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_TITLE(__TopXMLNS,
+decode_vcard_TITLE(__TopXMLNS, __IgnoreEls,
{xmlel, <<"TITLE">>, _attrs, _els}) ->
- Cdata = decode_vcard_TITLE_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_TITLE_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_TITLE_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_TITLE_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_TITLE_cdata(__TopXMLNS, Cdata);
-decode_vcard_TITLE_els(__TopXMLNS,
+decode_vcard_TITLE_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_TITLE_els(__TopXMLNS, _els,
+ decode_vcard_TITLE_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_TITLE_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_TITLE_els(__TopXMLNS, _els, Cdata).
+decode_vcard_TITLE_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_TITLE_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_TITLE(Cdata, _xmlns_attrs) ->
_els = encode_vcard_TITLE_cdata(Cdata, []),
encode_vcard_TITLE_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_TZ(__TopXMLNS,
+decode_vcard_TZ(__TopXMLNS, __IgnoreEls,
{xmlel, <<"TZ">>, _attrs, _els}) ->
- Cdata = decode_vcard_TZ_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_TZ_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_TZ_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_TZ_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_TZ_cdata(__TopXMLNS, Cdata);
-decode_vcard_TZ_els(__TopXMLNS,
+decode_vcard_TZ_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_TZ_els(__TopXMLNS, _els,
+ decode_vcard_TZ_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_TZ_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_TZ_els(__TopXMLNS, _els, Cdata).
+decode_vcard_TZ_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Cdata) ->
+ decode_vcard_TZ_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_TZ(Cdata, _xmlns_attrs) ->
_els = encode_vcard_TZ_cdata(Cdata, []),
encode_vcard_TZ_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_MAILER(__TopXMLNS,
+decode_vcard_MAILER(__TopXMLNS, __IgnoreEls,
{xmlel, <<"MAILER">>, _attrs, _els}) ->
- Cdata = decode_vcard_MAILER_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_MAILER_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_MAILER_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_MAILER_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_MAILER_cdata(__TopXMLNS, Cdata);
-decode_vcard_MAILER_els(__TopXMLNS,
+decode_vcard_MAILER_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_MAILER_els(__TopXMLNS, _els,
+ decode_vcard_MAILER_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_MAILER_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_MAILER_els(__TopXMLNS, _els, Cdata).
+decode_vcard_MAILER_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_MAILER_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_MAILER(Cdata, _xmlns_attrs) ->
_els = encode_vcard_MAILER_cdata(Cdata, []),
encode_vcard_MAILER_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_JABBERID(__TopXMLNS,
+decode_vcard_JABBERID(__TopXMLNS, __IgnoreEls,
{xmlel, <<"JABBERID">>, _attrs, _els}) ->
- Cdata = decode_vcard_JABBERID_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_vcard_JABBERID_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_vcard_JABBERID_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_JABBERID_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_JABBERID_cdata(__TopXMLNS, Cdata);
-decode_vcard_JABBERID_els(__TopXMLNS,
+decode_vcard_JABBERID_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_JABBERID_els(__TopXMLNS, _els,
+ decode_vcard_JABBERID_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_JABBERID_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_JABBERID_els(__TopXMLNS, _els, Cdata).
+decode_vcard_JABBERID_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_JABBERID_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_JABBERID(Cdata, _xmlns_attrs) ->
_els = encode_vcard_JABBERID_cdata(Cdata, []),
encode_vcard_JABBERID_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_BDAY(__TopXMLNS,
+decode_vcard_BDAY(__TopXMLNS, __IgnoreEls,
{xmlel, <<"BDAY">>, _attrs, _els}) ->
- Cdata = decode_vcard_BDAY_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_BDAY_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_BDAY_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_BDAY_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_BDAY_cdata(__TopXMLNS, Cdata);
-decode_vcard_BDAY_els(__TopXMLNS,
+decode_vcard_BDAY_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_BDAY_els(__TopXMLNS, _els,
+ decode_vcard_BDAY_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_BDAY_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_BDAY_els(__TopXMLNS, _els, Cdata).
+decode_vcard_BDAY_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_BDAY_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_BDAY(Cdata, _xmlns_attrs) ->
_els = encode_vcard_BDAY_cdata(Cdata, []),
encode_vcard_BDAY_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_NICKNAME(__TopXMLNS,
+decode_vcard_NICKNAME(__TopXMLNS, __IgnoreEls,
{xmlel, <<"NICKNAME">>, _attrs, _els}) ->
- Cdata = decode_vcard_NICKNAME_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_vcard_NICKNAME_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_vcard_NICKNAME_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_NICKNAME_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_NICKNAME_cdata(__TopXMLNS, Cdata);
-decode_vcard_NICKNAME_els(__TopXMLNS,
+decode_vcard_NICKNAME_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_NICKNAME_els(__TopXMLNS, _els,
+ decode_vcard_NICKNAME_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_NICKNAME_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_NICKNAME_els(__TopXMLNS, _els, Cdata).
+decode_vcard_NICKNAME_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_NICKNAME_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_NICKNAME(Cdata, _xmlns_attrs) ->
_els = encode_vcard_NICKNAME_cdata(Cdata, []),
encode_vcard_NICKNAME_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_FN(__TopXMLNS,
+decode_vcard_FN(__TopXMLNS, __IgnoreEls,
{xmlel, <<"FN">>, _attrs, _els}) ->
- Cdata = decode_vcard_FN_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_FN_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_FN_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_FN_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_FN_cdata(__TopXMLNS, Cdata);
-decode_vcard_FN_els(__TopXMLNS,
+decode_vcard_FN_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_FN_els(__TopXMLNS, _els,
+ decode_vcard_FN_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_FN_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_FN_els(__TopXMLNS, _els, Cdata).
+decode_vcard_FN_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Cdata) ->
+ decode_vcard_FN_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_FN(Cdata, _xmlns_attrs) ->
_els = encode_vcard_FN_cdata(Cdata, []),
encode_vcard_FN_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_VERSION(__TopXMLNS,
+decode_vcard_VERSION(__TopXMLNS, __IgnoreEls,
{xmlel, <<"VERSION">>, _attrs, _els}) ->
- Cdata = decode_vcard_VERSION_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_vcard_VERSION_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_vcard_VERSION_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_VERSION_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_VERSION_cdata(__TopXMLNS, Cdata);
-decode_vcard_VERSION_els(__TopXMLNS,
+decode_vcard_VERSION_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_VERSION_els(__TopXMLNS, _els,
+ decode_vcard_VERSION_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_VERSION_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_VERSION_els(__TopXMLNS, _els, Cdata).
+decode_vcard_VERSION_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_VERSION_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_VERSION(Cdata, _xmlns_attrs) ->
_els = encode_vcard_VERSION_cdata(Cdata, []),
encode_vcard_VERSION_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_CRED(__TopXMLNS,
+decode_vcard_CRED(__TopXMLNS, __IgnoreEls,
{xmlel, <<"CRED">>, _attrs, _els}) ->
- Cdata = decode_vcard_CRED_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_CRED_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_CRED_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_CRED_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_CRED_cdata(__TopXMLNS, Cdata);
-decode_vcard_CRED_els(__TopXMLNS,
+decode_vcard_CRED_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_CRED_els(__TopXMLNS, _els,
+ decode_vcard_CRED_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_CRED_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_CRED_els(__TopXMLNS, _els, Cdata).
+decode_vcard_CRED_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_CRED_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_CRED(Cdata, _xmlns_attrs) ->
_els = encode_vcard_CRED_cdata(Cdata, []),
encode_vcard_CRED_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_PHONETIC(__TopXMLNS,
+decode_vcard_PHONETIC(__TopXMLNS, __IgnoreEls,
{xmlel, <<"PHONETIC">>, _attrs, _els}) ->
- Cdata = decode_vcard_PHONETIC_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_vcard_PHONETIC_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_vcard_PHONETIC_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_PHONETIC_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_PHONETIC_cdata(__TopXMLNS, Cdata);
-decode_vcard_PHONETIC_els(__TopXMLNS,
+decode_vcard_PHONETIC_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_PHONETIC_els(__TopXMLNS, _els,
+ decode_vcard_PHONETIC_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_PHONETIC_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_PHONETIC_els(__TopXMLNS, _els, Cdata).
+decode_vcard_PHONETIC_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_PHONETIC_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_PHONETIC(Cdata, _xmlns_attrs) ->
_els = encode_vcard_PHONETIC_cdata(Cdata, []),
encode_vcard_PHONETIC_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_ORGUNIT(__TopXMLNS,
+decode_vcard_ORGUNIT(__TopXMLNS, __IgnoreEls,
{xmlel, <<"ORGUNIT">>, _attrs, _els}) ->
- Cdata = decode_vcard_ORGUNIT_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_vcard_ORGUNIT_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_vcard_ORGUNIT_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_ORGUNIT_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_ORGUNIT_cdata(__TopXMLNS, Cdata);
-decode_vcard_ORGUNIT_els(__TopXMLNS,
+decode_vcard_ORGUNIT_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_ORGUNIT_els(__TopXMLNS, _els,
+ decode_vcard_ORGUNIT_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_ORGUNIT_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_ORGUNIT_els(__TopXMLNS, _els, Cdata).
+decode_vcard_ORGUNIT_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_ORGUNIT_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_ORGUNIT(Cdata, _xmlns_attrs) ->
_els = encode_vcard_ORGUNIT_cdata(Cdata, []),
encode_vcard_ORGUNIT_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_ORGNAME(__TopXMLNS,
+decode_vcard_ORGNAME(__TopXMLNS, __IgnoreEls,
{xmlel, <<"ORGNAME">>, _attrs, _els}) ->
- Cdata = decode_vcard_ORGNAME_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_vcard_ORGNAME_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_vcard_ORGNAME_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_ORGNAME_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_ORGNAME_cdata(__TopXMLNS, Cdata);
-decode_vcard_ORGNAME_els(__TopXMLNS,
+decode_vcard_ORGNAME_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_ORGNAME_els(__TopXMLNS, _els,
+ decode_vcard_ORGNAME_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_ORGNAME_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_ORGNAME_els(__TopXMLNS, _els, Cdata).
+decode_vcard_ORGNAME_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_ORGNAME_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_ORGNAME(Cdata, _xmlns_attrs) ->
_els = encode_vcard_ORGNAME_cdata(Cdata, []),
encode_vcard_ORGNAME_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_LON(__TopXMLNS,
+decode_vcard_LON(__TopXMLNS, __IgnoreEls,
{xmlel, <<"LON">>, _attrs, _els}) ->
- Cdata = decode_vcard_LON_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_LON_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_LON_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_LON_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_LON_cdata(__TopXMLNS, Cdata);
-decode_vcard_LON_els(__TopXMLNS,
+decode_vcard_LON_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_LON_els(__TopXMLNS, _els,
+ decode_vcard_LON_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_LON_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_LON_els(__TopXMLNS, _els, Cdata).
+decode_vcard_LON_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_LON_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_LON(Cdata, _xmlns_attrs) ->
_els = encode_vcard_LON_cdata(Cdata, []),
encode_vcard_LON_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_LAT(__TopXMLNS,
+decode_vcard_LAT(__TopXMLNS, __IgnoreEls,
{xmlel, <<"LAT">>, _attrs, _els}) ->
- Cdata = decode_vcard_LAT_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_LAT_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_LAT_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_LAT_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_LAT_cdata(__TopXMLNS, Cdata);
-decode_vcard_LAT_els(__TopXMLNS,
+decode_vcard_LAT_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_LAT_els(__TopXMLNS, _els,
+ decode_vcard_LAT_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_LAT_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_LAT_els(__TopXMLNS, _els, Cdata).
+decode_vcard_LAT_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_LAT_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_LAT(Cdata, _xmlns_attrs) ->
_els = encode_vcard_LAT_cdata(Cdata, []),
encode_vcard_LAT_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_USERID(__TopXMLNS,
+decode_vcard_USERID(__TopXMLNS, __IgnoreEls,
{xmlel, <<"USERID">>, _attrs, _els}) ->
- Cdata = decode_vcard_USERID_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_USERID_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_USERID_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_USERID_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_USERID_cdata(__TopXMLNS, Cdata);
-decode_vcard_USERID_els(__TopXMLNS,
+decode_vcard_USERID_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_USERID_els(__TopXMLNS, _els,
+ decode_vcard_USERID_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_USERID_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_USERID_els(__TopXMLNS, _els, Cdata).
+decode_vcard_USERID_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_USERID_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_USERID(Cdata, _xmlns_attrs) ->
_els = encode_vcard_USERID_cdata(Cdata, []),
encode_vcard_USERID_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_NUMBER(__TopXMLNS,
+decode_vcard_NUMBER(__TopXMLNS, __IgnoreEls,
{xmlel, <<"NUMBER">>, _attrs, _els}) ->
- Cdata = decode_vcard_NUMBER_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_NUMBER_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_NUMBER_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_NUMBER_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_NUMBER_cdata(__TopXMLNS, Cdata);
-decode_vcard_NUMBER_els(__TopXMLNS,
+decode_vcard_NUMBER_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_NUMBER_els(__TopXMLNS, _els,
+ decode_vcard_NUMBER_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_NUMBER_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_NUMBER_els(__TopXMLNS, _els, Cdata).
+decode_vcard_NUMBER_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_NUMBER_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_NUMBER(Cdata, _xmlns_attrs) ->
_els = encode_vcard_NUMBER_cdata(Cdata, []),
encode_vcard_NUMBER_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_LINE(__TopXMLNS,
+decode_vcard_LINE(__TopXMLNS, __IgnoreEls,
{xmlel, <<"LINE">>, _attrs, _els}) ->
- Cdata = decode_vcard_LINE_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_LINE_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_LINE_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_LINE_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_LINE_cdata(__TopXMLNS, Cdata);
-decode_vcard_LINE_els(__TopXMLNS,
+decode_vcard_LINE_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_LINE_els(__TopXMLNS, _els,
+ decode_vcard_LINE_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_LINE_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_LINE_els(__TopXMLNS, _els, Cdata).
+decode_vcard_LINE_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_LINE_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_LINE(Cdata, _xmlns_attrs) ->
_els = encode_vcard_LINE_cdata(Cdata, []),
encode_vcard_LINE_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_CTRY(__TopXMLNS,
+decode_vcard_CTRY(__TopXMLNS, __IgnoreEls,
{xmlel, <<"CTRY">>, _attrs, _els}) ->
- Cdata = decode_vcard_CTRY_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_CTRY_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_CTRY_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_CTRY_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_CTRY_cdata(__TopXMLNS, Cdata);
-decode_vcard_CTRY_els(__TopXMLNS,
+decode_vcard_CTRY_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_CTRY_els(__TopXMLNS, _els,
+ decode_vcard_CTRY_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_CTRY_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_CTRY_els(__TopXMLNS, _els, Cdata).
+decode_vcard_CTRY_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_CTRY_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_CTRY(Cdata, _xmlns_attrs) ->
_els = encode_vcard_CTRY_cdata(Cdata, []),
encode_vcard_CTRY_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_PCODE(__TopXMLNS,
+decode_vcard_PCODE(__TopXMLNS, __IgnoreEls,
{xmlel, <<"PCODE">>, _attrs, _els}) ->
- Cdata = decode_vcard_PCODE_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_PCODE_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_PCODE_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_PCODE_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_PCODE_cdata(__TopXMLNS, Cdata);
-decode_vcard_PCODE_els(__TopXMLNS,
+decode_vcard_PCODE_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_PCODE_els(__TopXMLNS, _els,
+ decode_vcard_PCODE_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_PCODE_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_PCODE_els(__TopXMLNS, _els, Cdata).
+decode_vcard_PCODE_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_PCODE_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_PCODE(Cdata, _xmlns_attrs) ->
_els = encode_vcard_PCODE_cdata(Cdata, []),
encode_vcard_PCODE_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_REGION(__TopXMLNS,
+decode_vcard_REGION(__TopXMLNS, __IgnoreEls,
{xmlel, <<"REGION">>, _attrs, _els}) ->
- Cdata = decode_vcard_REGION_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_REGION_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_REGION_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_REGION_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_REGION_cdata(__TopXMLNS, Cdata);
-decode_vcard_REGION_els(__TopXMLNS,
+decode_vcard_REGION_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_REGION_els(__TopXMLNS, _els,
+ decode_vcard_REGION_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_REGION_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_REGION_els(__TopXMLNS, _els, Cdata).
+decode_vcard_REGION_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_REGION_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_REGION(Cdata, _xmlns_attrs) ->
_els = encode_vcard_REGION_cdata(Cdata, []),
encode_vcard_REGION_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_LOCALITY(__TopXMLNS,
+decode_vcard_LOCALITY(__TopXMLNS, __IgnoreEls,
{xmlel, <<"LOCALITY">>, _attrs, _els}) ->
- Cdata = decode_vcard_LOCALITY_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_vcard_LOCALITY_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_vcard_LOCALITY_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_LOCALITY_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_LOCALITY_cdata(__TopXMLNS, Cdata);
-decode_vcard_LOCALITY_els(__TopXMLNS,
+decode_vcard_LOCALITY_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_LOCALITY_els(__TopXMLNS, _els,
+ decode_vcard_LOCALITY_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_LOCALITY_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_LOCALITY_els(__TopXMLNS, _els, Cdata).
+decode_vcard_LOCALITY_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_LOCALITY_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_LOCALITY(Cdata, _xmlns_attrs) ->
_els = encode_vcard_LOCALITY_cdata(Cdata, []),
encode_vcard_LOCALITY_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_STREET(__TopXMLNS,
+decode_vcard_STREET(__TopXMLNS, __IgnoreEls,
{xmlel, <<"STREET">>, _attrs, _els}) ->
- Cdata = decode_vcard_STREET_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_STREET_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_STREET_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_STREET_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_STREET_cdata(__TopXMLNS, Cdata);
-decode_vcard_STREET_els(__TopXMLNS,
+decode_vcard_STREET_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_STREET_els(__TopXMLNS, _els,
+ decode_vcard_STREET_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_STREET_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_STREET_els(__TopXMLNS, _els, Cdata).
+decode_vcard_STREET_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_STREET_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_STREET(Cdata, _xmlns_attrs) ->
_els = encode_vcard_STREET_cdata(Cdata, []),
encode_vcard_STREET_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_EXTADD(__TopXMLNS,
+decode_vcard_EXTADD(__TopXMLNS, __IgnoreEls,
{xmlel, <<"EXTADD">>, _attrs, _els}) ->
- Cdata = decode_vcard_EXTADD_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_EXTADD_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_EXTADD_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_EXTADD_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_EXTADD_cdata(__TopXMLNS, Cdata);
-decode_vcard_EXTADD_els(__TopXMLNS,
+decode_vcard_EXTADD_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_EXTADD_els(__TopXMLNS, _els,
+ decode_vcard_EXTADD_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_EXTADD_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_EXTADD_els(__TopXMLNS, _els, Cdata).
+decode_vcard_EXTADD_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_EXTADD_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_EXTADD(Cdata, _xmlns_attrs) ->
_els = encode_vcard_EXTADD_cdata(Cdata, []),
encode_vcard_EXTADD_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_POBOX(__TopXMLNS,
+decode_vcard_POBOX(__TopXMLNS, __IgnoreEls,
{xmlel, <<"POBOX">>, _attrs, _els}) ->
- Cdata = decode_vcard_POBOX_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_POBOX_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_POBOX_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_POBOX_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_POBOX_cdata(__TopXMLNS, Cdata);
-decode_vcard_POBOX_els(__TopXMLNS,
+decode_vcard_POBOX_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_POBOX_els(__TopXMLNS, _els,
+ decode_vcard_POBOX_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_POBOX_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_POBOX_els(__TopXMLNS, _els, Cdata).
+decode_vcard_POBOX_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_POBOX_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_POBOX(Cdata, _xmlns_attrs) ->
_els = encode_vcard_POBOX_cdata(Cdata, []),
encode_vcard_POBOX_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_SUFFIX(__TopXMLNS,
+decode_vcard_SUFFIX(__TopXMLNS, __IgnoreEls,
{xmlel, <<"SUFFIX">>, _attrs, _els}) ->
- Cdata = decode_vcard_SUFFIX_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_SUFFIX_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_SUFFIX_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_SUFFIX_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_SUFFIX_cdata(__TopXMLNS, Cdata);
-decode_vcard_SUFFIX_els(__TopXMLNS,
+decode_vcard_SUFFIX_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_SUFFIX_els(__TopXMLNS, _els,
+ decode_vcard_SUFFIX_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_SUFFIX_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_SUFFIX_els(__TopXMLNS, _els, Cdata).
+decode_vcard_SUFFIX_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_SUFFIX_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_SUFFIX(Cdata, _xmlns_attrs) ->
_els = encode_vcard_SUFFIX_cdata(Cdata, []),
encode_vcard_SUFFIX_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_PREFIX(__TopXMLNS,
+decode_vcard_PREFIX(__TopXMLNS, __IgnoreEls,
{xmlel, <<"PREFIX">>, _attrs, _els}) ->
- Cdata = decode_vcard_PREFIX_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_PREFIX_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_PREFIX_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_PREFIX_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_PREFIX_cdata(__TopXMLNS, Cdata);
-decode_vcard_PREFIX_els(__TopXMLNS,
+decode_vcard_PREFIX_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_PREFIX_els(__TopXMLNS, _els,
+ decode_vcard_PREFIX_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_PREFIX_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_PREFIX_els(__TopXMLNS, _els, Cdata).
+decode_vcard_PREFIX_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_PREFIX_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_PREFIX(Cdata, _xmlns_attrs) ->
_els = encode_vcard_PREFIX_cdata(Cdata, []),
encode_vcard_PREFIX_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_MIDDLE(__TopXMLNS,
+decode_vcard_MIDDLE(__TopXMLNS, __IgnoreEls,
{xmlel, <<"MIDDLE">>, _attrs, _els}) ->
- Cdata = decode_vcard_MIDDLE_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_MIDDLE_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_MIDDLE_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_MIDDLE_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_MIDDLE_cdata(__TopXMLNS, Cdata);
-decode_vcard_MIDDLE_els(__TopXMLNS,
+decode_vcard_MIDDLE_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_MIDDLE_els(__TopXMLNS, _els,
+ decode_vcard_MIDDLE_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_MIDDLE_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_MIDDLE_els(__TopXMLNS, _els, Cdata).
+decode_vcard_MIDDLE_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_MIDDLE_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_MIDDLE(Cdata, _xmlns_attrs) ->
_els = encode_vcard_MIDDLE_cdata(Cdata, []),
encode_vcard_MIDDLE_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_GIVEN(__TopXMLNS,
+decode_vcard_GIVEN(__TopXMLNS, __IgnoreEls,
{xmlel, <<"GIVEN">>, _attrs, _els}) ->
- Cdata = decode_vcard_GIVEN_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_GIVEN_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_GIVEN_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_GIVEN_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_GIVEN_cdata(__TopXMLNS, Cdata);
-decode_vcard_GIVEN_els(__TopXMLNS,
+decode_vcard_GIVEN_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_GIVEN_els(__TopXMLNS, _els,
+ decode_vcard_GIVEN_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_GIVEN_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_vcard_GIVEN_els(__TopXMLNS, _els, Cdata).
+decode_vcard_GIVEN_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_GIVEN_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_GIVEN(Cdata, _xmlns_attrs) ->
_els = encode_vcard_GIVEN_cdata(Cdata, []),
encode_vcard_GIVEN_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_FAMILY(__TopXMLNS,
+decode_vcard_FAMILY(__TopXMLNS, __IgnoreEls,
{xmlel, <<"FAMILY">>, _attrs, _els}) ->
- Cdata = decode_vcard_FAMILY_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_vcard_FAMILY_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_vcard_FAMILY_els(__TopXMLNS, [], Cdata) ->
+decode_vcard_FAMILY_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_vcard_FAMILY_cdata(__TopXMLNS, Cdata);
-decode_vcard_FAMILY_els(__TopXMLNS,
+decode_vcard_FAMILY_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_vcard_FAMILY_els(__TopXMLNS, _els,
+ decode_vcard_FAMILY_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_vcard_FAMILY_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_vcard_FAMILY_els(__TopXMLNS, _els, Cdata).
+decode_vcard_FAMILY_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_vcard_FAMILY_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_vcard_FAMILY(Cdata, _xmlns_attrs) ->
_els = encode_vcard_FAMILY_cdata(Cdata, []),
encode_vcard_FAMILY_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_vcard_X400(__TopXMLNS,
+decode_vcard_X400(__TopXMLNS, __IgnoreEls,
{xmlel, <<"X400">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"X400">>, _attrs, _els}.
-decode_vcard_INTERNET(__TopXMLNS,
+decode_vcard_INTERNET(__TopXMLNS, __IgnoreEls,
{xmlel, <<"INTERNET">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"INTERNET">>, _attrs, _els}.
-decode_vcard_PREF(__TopXMLNS,
+decode_vcard_PREF(__TopXMLNS, __IgnoreEls,
{xmlel, <<"PREF">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"PREF">>, _attrs, _els}.
-decode_vcard_INTL(__TopXMLNS,
+decode_vcard_INTL(__TopXMLNS, __IgnoreEls,
{xmlel, <<"INTL">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"INTL">>, _attrs, _els}.
-decode_vcard_DOM(__TopXMLNS,
+decode_vcard_DOM(__TopXMLNS, __IgnoreEls,
{xmlel, <<"DOM">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"DOM">>, _attrs, _els}.
-decode_vcard_PARCEL(__TopXMLNS,
+decode_vcard_PARCEL(__TopXMLNS, __IgnoreEls,
{xmlel, <<"PARCEL">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"PARCEL">>, _attrs, _els}.
-decode_vcard_POSTAL(__TopXMLNS,
+decode_vcard_POSTAL(__TopXMLNS, __IgnoreEls,
{xmlel, <<"POSTAL">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"POSTAL">>, _attrs, _els}.
-decode_vcard_PCS(__TopXMLNS,
+decode_vcard_PCS(__TopXMLNS, __IgnoreEls,
{xmlel, <<"PCS">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"PCS">>, _attrs, _els}.
-decode_vcard_ISDN(__TopXMLNS,
+decode_vcard_ISDN(__TopXMLNS, __IgnoreEls,
{xmlel, <<"ISDN">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"ISDN">>, _attrs, _els}.
-decode_vcard_MODEM(__TopXMLNS,
+decode_vcard_MODEM(__TopXMLNS, __IgnoreEls,
{xmlel, <<"MODEM">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"MODEM">>, _attrs, _els}.
-decode_vcard_BBS(__TopXMLNS,
+decode_vcard_BBS(__TopXMLNS, __IgnoreEls,
{xmlel, <<"BBS">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"BBS">>, _attrs, _els}.
-decode_vcard_VIDEO(__TopXMLNS,
+decode_vcard_VIDEO(__TopXMLNS, __IgnoreEls,
{xmlel, <<"VIDEO">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"VIDEO">>, _attrs, _els}.
-decode_vcard_CELL(__TopXMLNS,
+decode_vcard_CELL(__TopXMLNS, __IgnoreEls,
{xmlel, <<"CELL">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"CELL">>, _attrs, _els}.
-decode_vcard_MSG(__TopXMLNS,
+decode_vcard_MSG(__TopXMLNS, __IgnoreEls,
{xmlel, <<"MSG">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"MSG">>, _attrs, _els}.
-decode_vcard_PAGER(__TopXMLNS,
+decode_vcard_PAGER(__TopXMLNS, __IgnoreEls,
{xmlel, <<"PAGER">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"PAGER">>, _attrs, _els}.
-decode_vcard_FAX(__TopXMLNS,
+decode_vcard_FAX(__TopXMLNS, __IgnoreEls,
{xmlel, <<"FAX">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"FAX">>, _attrs, _els}.
-decode_vcard_VOICE(__TopXMLNS,
+decode_vcard_VOICE(__TopXMLNS, __IgnoreEls,
{xmlel, <<"VOICE">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"VOICE">>, _attrs, _els}.
-decode_vcard_WORK(__TopXMLNS,
+decode_vcard_WORK(__TopXMLNS, __IgnoreEls,
{xmlel, <<"WORK">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"WORK">>, _attrs, _els}.
-decode_vcard_HOME(__TopXMLNS,
+decode_vcard_HOME(__TopXMLNS, __IgnoreEls,
{xmlel, <<"HOME">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"HOME">>, _attrs, _els}.
-decode_stream_error(__TopXMLNS,
+decode_stream_error(__TopXMLNS, __IgnoreEls,
{xmlel, <<"stream:error">>, _attrs, _els}) ->
{Text, Reason} = decode_stream_error_els(__TopXMLNS,
- _els, undefined, undefined),
+ __IgnoreEls, _els, undefined,
+ undefined),
{stream_error, Reason, Text}.
-decode_stream_error_els(__TopXMLNS, [], Text, Reason) ->
+decode_stream_error_els(__TopXMLNS, __IgnoreEls, [],
+ Text, Reason) ->
{Text, Reason};
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"text">>, _attrs, _} = _el | _els], Text,
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els,
- decode_stream_error_text(_xmlns, _el),
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_stream_error_text(_xmlns, __IgnoreEls,
+ _el),
Reason);
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"bad-format">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
- decode_stream_error_bad_format(_xmlns, _el));
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
+ decode_stream_error_bad_format(_xmlns,
+ __IgnoreEls,
+ _el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"bad-namespace-prefix">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_bad_namespace_prefix(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"conflict">>, _attrs, _} = _el | _els], Text,
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
- decode_stream_error_conflict(_xmlns, _el));
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
+ decode_stream_error_conflict(_xmlns,
+ __IgnoreEls,
+ _el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"connection-timeout">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_connection_timeout(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"host-gone">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
- decode_stream_error_host_gone(_xmlns, _el));
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
+ decode_stream_error_host_gone(_xmlns,
+ __IgnoreEls,
+ _el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"host-unknown">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_host_unknown(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"improper-addressing">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_improper_addressing(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"internal-server-error">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_internal_server_error(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"invalid-from">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_invalid_from(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"invalid-id">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
- decode_stream_error_invalid_id(_xmlns, _el));
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
+ decode_stream_error_invalid_id(_xmlns,
+ __IgnoreEls,
+ _el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"invalid-namespace">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_invalid_namespace(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"invalid-xml">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_invalid_xml(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"not-authorized">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_not_authorized(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"not-well-formed">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_not_well_formed(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"policy-violation">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_policy_violation(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"remote-connection-failed">>, _attrs, _} =
_el
| _els],
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_remote_connection_failed(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"reset">>, _attrs, _} = _el | _els], Text,
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
- decode_stream_error_reset(_xmlns, _el));
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
+ decode_stream_error_reset(_xmlns,
+ __IgnoreEls, _el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"resource-constraint">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_resource_constraint(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"restricted-xml">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_restricted_xml(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"see-other-host">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_see_other_host(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"system-shutdown">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_system_shutdown(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"undefined-condition">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_undefined_condition(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"unsupported-encoding">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_unsupported_encoding(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"unsupported-stanza-type">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_unsupported_stanza_type(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS,
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"unsupported-version">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-streams">> ->
- decode_stream_error_els(__TopXMLNS, _els, Text,
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_stream_error_unsupported_version(_xmlns,
+ __IgnoreEls,
_el));
true ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_stream_error_els(__TopXMLNS, [_ | _els], Text,
- Reason) ->
- decode_stream_error_els(__TopXMLNS, _els, Text, Reason).
+decode_stream_error_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Text, Reason) ->
+ decode_stream_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason).
encode_stream_error({stream_error, Reason, Text},
_xmlns_attrs) ->
- _els = 'encode_stream_error_$reason'(Reason,
- 'encode_stream_error_$text'(Text, [])),
+ _els = lists:reverse('encode_stream_error_$text'(Text,
+ 'encode_stream_error_$reason'(Reason,
+ []))),
_attrs = _xmlns_attrs,
{xmlel, <<"stream:error">>, _attrs, _els}.
| _acc].
decode_stream_error_unsupported_version(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"unsupported-version">>,
_attrs, _els}) ->
'unsupported-version'.
{xmlel, <<"unsupported-version">>, _attrs, _els}.
decode_stream_error_unsupported_stanza_type(__TopXMLNS,
+ __IgnoreEls,
{xmlel,
<<"unsupported-stanza-type">>,
_attrs, _els}) ->
{xmlel, <<"unsupported-stanza-type">>, _attrs, _els}.
decode_stream_error_unsupported_encoding(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"unsupported-encoding">>,
_attrs, _els}) ->
'unsupported-encoding'.
{xmlel, <<"unsupported-encoding">>, _attrs, _els}.
decode_stream_error_undefined_condition(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"undefined-condition">>,
_attrs, _els}) ->
'undefined-condition'.
{xmlel, <<"undefined-condition">>, _attrs, _els}.
decode_stream_error_system_shutdown(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"system-shutdown">>, _attrs,
_els}) ->
'system-shutdown'.
{xmlel, <<"system-shutdown">>, _attrs, _els}.
decode_stream_error_see_other_host(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"see-other-host">>, _attrs,
_els}) ->
Host =
- decode_stream_error_see_other_host_els(__TopXMLNS, _els,
- <<>>),
+ decode_stream_error_see_other_host_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
{'see-other-host', Host}.
-decode_stream_error_see_other_host_els(__TopXMLNS, [],
- Host) ->
+decode_stream_error_see_other_host_els(__TopXMLNS,
+ __IgnoreEls, [], Host) ->
decode_stream_error_see_other_host_cdata(__TopXMLNS,
Host);
decode_stream_error_see_other_host_els(__TopXMLNS,
- [{xmlcdata, _data} | _els], Host) ->
- decode_stream_error_see_other_host_els(__TopXMLNS, _els,
+ __IgnoreEls, [{xmlcdata, _data} | _els],
+ Host) ->
+ decode_stream_error_see_other_host_els(__TopXMLNS,
+ __IgnoreEls, _els,
<<Host/binary, _data/binary>>);
decode_stream_error_see_other_host_els(__TopXMLNS,
- [_ | _els], Host) ->
- decode_stream_error_see_other_host_els(__TopXMLNS, _els,
- Host).
+ __IgnoreEls, [_ | _els], Host) ->
+ decode_stream_error_see_other_host_els(__TopXMLNS,
+ __IgnoreEls, _els, Host).
encode_stream_error_see_other_host({'see-other-host',
Host},
[{xmlcdata, _val} | _acc].
decode_stream_error_restricted_xml(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"restricted-xml">>, _attrs,
_els}) ->
'restricted-xml'.
{xmlel, <<"restricted-xml">>, _attrs, _els}.
decode_stream_error_resource_constraint(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"resource-constraint">>,
_attrs, _els}) ->
'resource-constraint'.
_attrs = _xmlns_attrs,
{xmlel, <<"resource-constraint">>, _attrs, _els}.
-decode_stream_error_reset(__TopXMLNS,
+decode_stream_error_reset(__TopXMLNS, __IgnoreEls,
{xmlel, <<"reset">>, _attrs, _els}) ->
reset.
{xmlel, <<"reset">>, _attrs, _els}.
decode_stream_error_remote_connection_failed(__TopXMLNS,
+ __IgnoreEls,
{xmlel,
<<"remote-connection-failed">>,
_attrs, _els}) ->
{xmlel, <<"remote-connection-failed">>, _attrs, _els}.
decode_stream_error_policy_violation(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"policy-violation">>, _attrs,
_els}) ->
'policy-violation'.
{xmlel, <<"policy-violation">>, _attrs, _els}.
decode_stream_error_not_well_formed(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"not-well-formed">>, _attrs,
_els}) ->
'not-well-formed'.
{xmlel, <<"not-well-formed">>, _attrs, _els}.
decode_stream_error_not_authorized(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"not-authorized">>, _attrs,
_els}) ->
'not-authorized'.
_attrs = _xmlns_attrs,
{xmlel, <<"not-authorized">>, _attrs, _els}.
-decode_stream_error_invalid_xml(__TopXMLNS,
+decode_stream_error_invalid_xml(__TopXMLNS, __IgnoreEls,
{xmlel, <<"invalid-xml">>, _attrs, _els}) ->
'invalid-xml'.
{xmlel, <<"invalid-xml">>, _attrs, _els}.
decode_stream_error_invalid_namespace(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"invalid-namespace">>, _attrs,
_els}) ->
'invalid-namespace'.
_attrs = _xmlns_attrs,
{xmlel, <<"invalid-namespace">>, _attrs, _els}.
-decode_stream_error_invalid_id(__TopXMLNS,
+decode_stream_error_invalid_id(__TopXMLNS, __IgnoreEls,
{xmlel, <<"invalid-id">>, _attrs, _els}) ->
'invalid-id'.
{xmlel, <<"invalid-id">>, _attrs, _els}.
decode_stream_error_invalid_from(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"invalid-from">>, _attrs, _els}) ->
'invalid-from'.
{xmlel, <<"invalid-from">>, _attrs, _els}.
decode_stream_error_internal_server_error(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"internal-server-error">>,
_attrs, _els}) ->
'internal-server-error'.
{xmlel, <<"internal-server-error">>, _attrs, _els}.
decode_stream_error_improper_addressing(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"improper-addressing">>,
_attrs, _els}) ->
'improper-addressing'.
{xmlel, <<"improper-addressing">>, _attrs, _els}.
decode_stream_error_host_unknown(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"host-unknown">>, _attrs, _els}) ->
'host-unknown'.
_attrs = _xmlns_attrs,
{xmlel, <<"host-unknown">>, _attrs, _els}.
-decode_stream_error_host_gone(__TopXMLNS,
+decode_stream_error_host_gone(__TopXMLNS, __IgnoreEls,
{xmlel, <<"host-gone">>, _attrs, _els}) ->
'host-gone'.
{xmlel, <<"host-gone">>, _attrs, _els}.
decode_stream_error_connection_timeout(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"connection-timeout">>, _attrs,
_els}) ->
'connection-timeout'.
_attrs = _xmlns_attrs,
{xmlel, <<"connection-timeout">>, _attrs, _els}.
-decode_stream_error_conflict(__TopXMLNS,
+decode_stream_error_conflict(__TopXMLNS, __IgnoreEls,
{xmlel, <<"conflict">>, _attrs, _els}) ->
conflict.
{xmlel, <<"conflict">>, _attrs, _els}.
decode_stream_error_bad_namespace_prefix(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"bad-namespace-prefix">>,
_attrs, _els}) ->
'bad-namespace-prefix'.
_attrs = _xmlns_attrs,
{xmlel, <<"bad-namespace-prefix">>, _attrs, _els}.
-decode_stream_error_bad_format(__TopXMLNS,
+decode_stream_error_bad_format(__TopXMLNS, __IgnoreEls,
{xmlel, <<"bad-format">>, _attrs, _els}) ->
'bad-format'.
_attrs = _xmlns_attrs,
{xmlel, <<"bad-format">>, _attrs, _els}.
-decode_stream_error_text(__TopXMLNS,
+decode_stream_error_text(__TopXMLNS, __IgnoreEls,
{xmlel, <<"text">>, _attrs, _els}) ->
- Data = decode_stream_error_text_els(__TopXMLNS, _els,
- <<>>),
+ Data = decode_stream_error_text_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Lang = decode_stream_error_text_attrs(__TopXMLNS,
_attrs, undefined),
{text, Lang, Data}.
-decode_stream_error_text_els(__TopXMLNS, [], Data) ->
+decode_stream_error_text_els(__TopXMLNS, __IgnoreEls,
+ [], Data) ->
decode_stream_error_text_cdata(__TopXMLNS, Data);
-decode_stream_error_text_els(__TopXMLNS,
+decode_stream_error_text_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Data) ->
- decode_stream_error_text_els(__TopXMLNS, _els,
- <<Data/binary, _data/binary>>);
-decode_stream_error_text_els(__TopXMLNS, [_ | _els],
- Data) ->
- decode_stream_error_text_els(__TopXMLNS, _els, Data).
+ decode_stream_error_text_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Data/binary, _data/binary>>);
+decode_stream_error_text_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Data) ->
+ decode_stream_error_text_els(__TopXMLNS, __IgnoreEls,
+ _els, Data).
decode_stream_error_text_attrs(__TopXMLNS,
[{<<"xml:lang">>, _val} | _attrs], _Lang) ->
encode_stream_error_text_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_time(__TopXMLNS,
+decode_time(__TopXMLNS, __IgnoreEls,
{xmlel, <<"time">>, _attrs, _els}) ->
- {Utc, Tzo} = decode_time_els(__TopXMLNS, _els,
- undefined, undefined),
+ {Utc, Tzo} = decode_time_els(__TopXMLNS, __IgnoreEls,
+ _els, undefined, undefined),
{time, Tzo, Utc}.
-decode_time_els(__TopXMLNS, [], Utc, Tzo) -> {Utc, Tzo};
-decode_time_els(__TopXMLNS,
+decode_time_els(__TopXMLNS, __IgnoreEls, [], Utc,
+ Tzo) ->
+ {Utc, Tzo};
+decode_time_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"tzo">>, _attrs, _} = _el | _els], Utc,
Tzo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_time_els(__TopXMLNS, _els, Utc,
- decode_time_tzo(__TopXMLNS, _el));
- true -> decode_time_els(__TopXMLNS, _els, Utc, Tzo)
+ decode_time_els(__TopXMLNS, __IgnoreEls, _els, Utc,
+ decode_time_tzo(__TopXMLNS, __IgnoreEls, _el));
+ true ->
+ decode_time_els(__TopXMLNS, __IgnoreEls, _els, Utc, Tzo)
end;
-decode_time_els(__TopXMLNS,
+decode_time_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"utc">>, _attrs, _} = _el | _els], Utc,
Tzo) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_time_els(__TopXMLNS, _els,
- decode_time_utc(__TopXMLNS, _el), Tzo);
- true -> decode_time_els(__TopXMLNS, _els, Utc, Tzo)
+ decode_time_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_time_utc(__TopXMLNS, __IgnoreEls, _el), Tzo);
+ true ->
+ decode_time_els(__TopXMLNS, __IgnoreEls, _els, Utc, Tzo)
end;
-decode_time_els(__TopXMLNS, [_ | _els], Utc, Tzo) ->
- decode_time_els(__TopXMLNS, _els, Utc, Tzo).
+decode_time_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Utc, Tzo) ->
+ decode_time_els(__TopXMLNS, __IgnoreEls, _els, Utc,
+ Tzo).
encode_time({time, Tzo, Utc}, _xmlns_attrs) ->
- _els = 'encode_time_$tzo'(Tzo,
- 'encode_time_$utc'(Utc, [])),
+ _els = lists:reverse('encode_time_$utc'(Utc,
+ 'encode_time_$tzo'(Tzo, []))),
_attrs = _xmlns_attrs,
{xmlel, <<"time">>, _attrs, _els}.
'encode_time_$tzo'(Tzo, _acc) ->
[encode_time_tzo(Tzo, []) | _acc].
-decode_time_tzo(__TopXMLNS,
+decode_time_tzo(__TopXMLNS, __IgnoreEls,
{xmlel, <<"tzo">>, _attrs, _els}) ->
- Cdata = decode_time_tzo_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_time_tzo_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_time_tzo_els(__TopXMLNS, [], Cdata) ->
+decode_time_tzo_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_time_tzo_cdata(__TopXMLNS, Cdata);
-decode_time_tzo_els(__TopXMLNS,
+decode_time_tzo_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_time_tzo_els(__TopXMLNS, _els,
+ decode_time_tzo_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_time_tzo_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_time_tzo_els(__TopXMLNS, _els, Cdata).
+decode_time_tzo_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Cdata) ->
+ decode_time_tzo_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_time_tzo(Cdata, _xmlns_attrs) ->
_els = encode_time_tzo_cdata(Cdata, []),
encode_time_tzo_cdata(_val, _acc) ->
[{xmlcdata, enc_tzo(_val)} | _acc].
-decode_time_utc(__TopXMLNS,
+decode_time_utc(__TopXMLNS, __IgnoreEls,
{xmlel, <<"utc">>, _attrs, _els}) ->
- Cdata = decode_time_utc_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_time_utc_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_time_utc_els(__TopXMLNS, [], Cdata) ->
+decode_time_utc_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_time_utc_cdata(__TopXMLNS, Cdata);
-decode_time_utc_els(__TopXMLNS,
+decode_time_utc_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_time_utc_els(__TopXMLNS, _els,
+ decode_time_utc_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_time_utc_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_time_utc_els(__TopXMLNS, _els, Cdata).
+decode_time_utc_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Cdata) ->
+ decode_time_utc_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_time_utc(Cdata, _xmlns_attrs) ->
_els = encode_time_utc_cdata(Cdata, []),
encode_time_utc_cdata(_val, _acc) ->
[{xmlcdata, enc_utc(_val)} | _acc].
-decode_ping(__TopXMLNS,
+decode_ping(__TopXMLNS, __IgnoreEls,
{xmlel, <<"ping">>, _attrs, _els}) ->
{ping}.
_attrs = _xmlns_attrs,
{xmlel, <<"ping">>, _attrs, _els}.
-decode_session(__TopXMLNS,
+decode_session(__TopXMLNS, __IgnoreEls,
{xmlel, <<"session">>, _attrs, _els}) ->
{session}.
_attrs = _xmlns_attrs,
{xmlel, <<"session">>, _attrs, _els}.
-decode_register(__TopXMLNS,
+decode_register(__TopXMLNS, __IgnoreEls,
{xmlel, <<"query">>, _attrs, _els}) ->
- {Zip, Misc, Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
+ {Zip, Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email} =
- decode_register_els(__TopXMLNS, _els, undefined,
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els,
undefined, undefined, undefined, undefined,
- undefined, undefined, undefined, false, undefined,
- undefined, undefined, undefined, undefined, false,
undefined, undefined, undefined, undefined,
- undefined),
+ undefined, false, undefined, undefined, undefined,
+ undefined, undefined, false, undefined, undefined,
+ undefined, undefined, undefined),
{register, Registered, Remove, Instructions, Username,
Nick, Password, Name, First, Last, Email, Address, City,
- State, Zip, Phone, Url, Date, Misc, Text, Key}.
-
-decode_register_els(__TopXMLNS, [], Zip, Misc, Address,
- Instructions, Text, Last, First, Password, Registered,
- Date, Phone, State, Name, Username, Remove, Key, City,
- Nick, Url, Email) ->
- {Zip, Misc, Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
+ State, Zip, Phone, Url, Date, Misc, Text, Key, Xdata}.
+
+decode_register_els(__TopXMLNS, __IgnoreEls, [], Zip,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
+ Password, Registered, Date, Phone, State, Name,
+ Username, Remove, Key, City, Nick, Url, Email) ->
+ {Zip, Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email};
-decode_register_els(__TopXMLNS,
- [{xmlel, <<"registered">>, _attrs, _} = _el | _els],
- Zip, Misc, Address, Instructions, Text, Last, First,
+decode_register_els(__TopXMLNS, __IgnoreEls,
+ [{xmlel, <<"x">>, _attrs, _} = _el | _els], Zip, Xdata,
+ Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
- if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
+ if _xmlns == <<"jabber:x:data">> ->
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ decode_xdata(_xmlns, __IgnoreEls, _el), Misc,
Address, Instructions, Text, Last, First,
- Password,
- decode_register_registered(__TopXMLNS, _el),
+ Password, Registered, Date, Phone, State, Name,
+ Username, Remove, Key, City, Nick, Url, Email);
+ true ->
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
+ end;
+decode_register_els(__TopXMLNS, __IgnoreEls,
+ [{xmlel, <<"registered">>, _attrs, _} = _el | _els],
+ Zip, Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State, Name,
+ Username, Remove, Key, City, Nick, Url, Email) ->
+ _xmlns = get_attr(<<"xmlns">>, _attrs),
+ if _xmlns == <<>>; _xmlns == __TopXMLNS ->
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password,
+ decode_register_registered(__TopXMLNS,
+ __IgnoreEls, _el),
Date, Phone, State, Name, Username, Remove, Key,
City, Nick, Url, Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"remove">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username,
- decode_register_remove(__TopXMLNS, _el), Key,
- City, Nick, Url, Email);
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username,
+ decode_register_remove(__TopXMLNS, __IgnoreEls,
+ _el),
+ Key, City, Nick, Url, Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"instructions">>, _attrs, _} = _el | _els],
- Zip, Misc, Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
+ Zip, Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address,
- decode_register_instructions(__TopXMLNS, _el),
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address,
+ decode_register_instructions(__TopXMLNS,
+ __IgnoreEls, _el),
Text, Last, First, Password, Registered, Date,
Phone, State, Name, Username, Remove, Key, City,
Nick, Url, Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"username">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- decode_register_username(__TopXMLNS, _el),
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name,
+ decode_register_username(__TopXMLNS, __IgnoreEls,
+ _el),
Remove, Key, City, Nick, Url, Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"nick">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City,
- decode_register_nick(__TopXMLNS, _el), Url,
- Email);
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City,
+ decode_register_nick(__TopXMLNS, __IgnoreEls,
+ _el),
+ Url, Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"password">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- decode_register_password(__TopXMLNS, _el),
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First,
+ decode_register_password(__TopXMLNS, __IgnoreEls,
+ _el),
Registered, Date, Phone, State, Name, Username,
Remove, Key, City, Nick, Url, Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"name">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State,
- decode_register_name(__TopXMLNS, _el), Username,
- Remove, Key, City, Nick, Url, Email);
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ decode_register_name(__TopXMLNS, __IgnoreEls,
+ _el),
+ Username, Remove, Key, City, Nick, Url, Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"first">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last,
- decode_register_first(__TopXMLNS, _el), Password,
- Registered, Date, Phone, State, Name, Username,
- Remove, Key, City, Nick, Url, Email);
- true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ decode_register_first(__TopXMLNS, __IgnoreEls,
+ _el),
Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ Username, Remove, Key, City, Nick, Url, Email);
+ true ->
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"last">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text,
- decode_register_last(__TopXMLNS, _el), First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email);
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text,
+ decode_register_last(__TopXMLNS, __IgnoreEls,
+ _el),
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"email">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url,
- decode_register_email(__TopXMLNS, _el));
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ decode_register_email(__TopXMLNS, __IgnoreEls,
+ _el));
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"address">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- decode_register_address(__TopXMLNS, _el),
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc,
+ decode_register_address(__TopXMLNS, __IgnoreEls,
+ _el),
Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username,
Remove, Key, City, Nick, Url, Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"city">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key,
- decode_register_city(__TopXMLNS, _el), Nick, Url,
- Email);
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key,
+ decode_register_city(__TopXMLNS, __IgnoreEls,
+ _el),
+ Nick, Url, Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"state">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone,
- decode_register_state(__TopXMLNS, _el), Name,
- Username, Remove, Key, City, Nick, Url, Email);
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone,
+ decode_register_state(__TopXMLNS, __IgnoreEls,
+ _el),
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
- [{xmlel, <<"zip">>, _attrs, _} = _el | _els], Zip, Misc,
- Address, Instructions, Text, Last, First, Password,
- Registered, Date, Phone, State, Name, Username, Remove,
- Key, City, Nick, Url, Email) ->
+decode_register_els(__TopXMLNS, __IgnoreEls,
+ [{xmlel, <<"zip">>, _attrs, _} = _el | _els], Zip,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
+ Password, Registered, Date, Phone, State, Name,
+ Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els,
- decode_register_zip(__TopXMLNS, _el), Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email);
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_register_zip(__TopXMLNS, __IgnoreEls,
+ _el),
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"phone">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date,
- decode_register_phone(__TopXMLNS, _el), State,
- Name, Username, Remove, Key, City, Nick, Url,
- Email);
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date,
+ decode_register_phone(__TopXMLNS, __IgnoreEls,
+ _el),
+ State, Name, Username, Remove, Key, City, Nick,
+ Url, Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
- [{xmlel, <<"url">>, _attrs, _} = _el | _els], Zip, Misc,
- Address, Instructions, Text, Last, First, Password,
- Registered, Date, Phone, State, Name, Username, Remove,
- Key, City, Nick, Url, Email) ->
+decode_register_els(__TopXMLNS, __IgnoreEls,
+ [{xmlel, <<"url">>, _attrs, _} = _el | _els], Zip,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
+ Password, Registered, Date, Phone, State, Name,
+ Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick,
- decode_register_url(__TopXMLNS, _el), Email);
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick,
+ decode_register_url(__TopXMLNS, __IgnoreEls,
+ _el),
+ Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"date">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered,
- decode_register_date(__TopXMLNS, _el), Phone,
- State, Name, Username, Remove, Key, City, Nick,
- Url, Email);
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered,
+ decode_register_date(__TopXMLNS, __IgnoreEls,
+ _el),
+ Phone, State, Name, Username, Remove, Key, City,
+ Nick, Url, Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"misc">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip,
- decode_register_misc(__TopXMLNS, _el), Address,
- Instructions, Text, Last, First, Password,
- Registered, Date, Phone, State, Name, Username,
- Remove, Key, City, Nick, Url, Email);
- true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata,
+ decode_register_misc(__TopXMLNS, __IgnoreEls,
+ _el),
Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ Username, Remove, Key, City, Nick, Url, Email);
+ true ->
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS,
+decode_register_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"text">>, _attrs, _} = _el | _els], Zip,
- Misc, Address, Instructions, Text, Last, First,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions,
- decode_register_text(__TopXMLNS, _el), Last,
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions,
+ decode_register_text(__TopXMLNS, __IgnoreEls,
+ _el),
+ Last, First, Password, Registered, Date, Phone,
+ State, Name, Username, Remove, Key, City, Nick,
+ Url, Email);
+ true ->
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
First, Password, Registered, Date, Phone, State,
Name, Username, Remove, Key, City, Nick, Url,
- Email);
- true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ Email)
end;
-decode_register_els(__TopXMLNS,
- [{xmlel, <<"key">>, _attrs, _} = _el | _els], Zip, Misc,
- Address, Instructions, Text, Last, First, Password,
- Registered, Date, Phone, State, Name, Username, Remove,
- Key, City, Nick, Url, Email) ->
+decode_register_els(__TopXMLNS, __IgnoreEls,
+ [{xmlel, <<"key">>, _attrs, _} = _el | _els], Zip,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
+ Password, Registered, Date, Phone, State, Name,
+ Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove,
- decode_register_key(__TopXMLNS, _el), City, Nick,
- Url, Email);
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove,
+ decode_register_key(__TopXMLNS, __IgnoreEls,
+ _el),
+ City, Nick, Url, Email);
true ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First,
- Password, Registered, Date, Phone, State, Name,
- Username, Remove, Key, City, Nick, Url, Email)
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State,
+ Name, Username, Remove, Key, City, Nick, Url,
+ Email)
end;
-decode_register_els(__TopXMLNS, [_ | _els], Zip, Misc,
- Address, Instructions, Text, Last, First, Password,
- Registered, Date, Phone, State, Name, Username, Remove,
- Key, City, Nick, Url, Email) ->
- decode_register_els(__TopXMLNS, _els, Zip, Misc,
- Address, Instructions, Text, Last, First, Password,
- Registered, Date, Phone, State, Name, Username, Remove,
- Key, City, Nick, Url, Email).
+decode_register_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Zip, Xdata, Misc, Address, Instructions, Text, Last,
+ First, Password, Registered, Date, Phone, State, Name,
+ Username, Remove, Key, City, Nick, Url, Email) ->
+ decode_register_els(__TopXMLNS, __IgnoreEls, _els, Zip,
+ Xdata, Misc, Address, Instructions, Text, Last, First,
+ Password, Registered, Date, Phone, State, Name,
+ Username, Remove, Key, City, Nick, Url, Email).
encode_register({register, Registered, Remove,
Instructions, Username, Nick, Password, Name, First,
Last, Email, Address, City, State, Zip, Phone, Url,
- Date, Misc, Text, Key},
+ Date, Misc, Text, Key, Xdata},
_xmlns_attrs) ->
- _els = 'encode_register_$email'(Email,
- 'encode_register_$url'(Url,
- 'encode_register_$nick'(Nick,
- 'encode_register_$city'(City,
- 'encode_register_$key'(Key,
- 'encode_register_$remove'(Remove,
- 'encode_register_$username'(Username,
- 'encode_register_$name'(Name,
- 'encode_register_$state'(State,
- 'encode_register_$phone'(Phone,
- 'encode_register_$date'(Date,
- 'encode_register_$registered'(Registered,
- 'encode_register_$password'(Password,
- 'encode_register_$first'(First,
- 'encode_register_$last'(Last,
- 'encode_register_$text'(Text,
- 'encode_register_$instructions'(Instructions,
- 'encode_register_$address'(Address,
- 'encode_register_$misc'(Misc,
- 'encode_register_$zip'(Zip,
- [])))))))))))))))))))),
+ _els = lists:reverse('encode_register_$zip'(Zip,
+ 'encode_register_$xdata'(Xdata,
+ 'encode_register_$misc'(Misc,
+ 'encode_register_$address'(Address,
+ 'encode_register_$instructions'(Instructions,
+ 'encode_register_$text'(Text,
+ 'encode_register_$last'(Last,
+ 'encode_register_$first'(First,
+ 'encode_register_$password'(Password,
+ 'encode_register_$registered'(Registered,
+ 'encode_register_$date'(Date,
+ 'encode_register_$phone'(Phone,
+ 'encode_register_$state'(State,
+ 'encode_register_$name'(Name,
+ 'encode_register_$username'(Username,
+ 'encode_register_$remove'(Remove,
+ 'encode_register_$key'(Key,
+ 'encode_register_$city'(City,
+ 'encode_register_$nick'(Nick,
+ 'encode_register_$url'(Url,
+ 'encode_register_$email'(Email,
+ [])))))))))))))))))))))),
_attrs = _xmlns_attrs,
{xmlel, <<"query">>, _attrs, _els}.
'encode_register_$zip'(Zip, _acc) ->
[encode_register_zip(Zip, []) | _acc].
+'encode_register_$xdata'(undefined, _acc) -> _acc;
+'encode_register_$xdata'(Xdata, _acc) ->
+ [encode_xdata(Xdata,
+ [{<<"xmlns">>, <<"jabber:x:data">>}])
+ | _acc].
+
'encode_register_$misc'(undefined, _acc) -> _acc;
'encode_register_$misc'(Misc, _acc) ->
[encode_register_misc(Misc, []) | _acc].
'encode_register_$email'(Email, _acc) ->
[encode_register_email(Email, []) | _acc].
-decode_register_key(__TopXMLNS,
+decode_register_key(__TopXMLNS, __IgnoreEls,
{xmlel, <<"key">>, _attrs, _els}) ->
- Cdata = decode_register_key_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_register_key_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_register_key_els(__TopXMLNS, [], Cdata) ->
+decode_register_key_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_key_cdata(__TopXMLNS, Cdata);
-decode_register_key_els(__TopXMLNS,
+decode_register_key_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_key_els(__TopXMLNS, _els,
+ decode_register_key_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_key_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_key_els(__TopXMLNS, _els, Cdata).
+decode_register_key_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_key_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_key(Cdata, _xmlns_attrs) ->
_els = encode_register_key_cdata(Cdata, []),
encode_register_key_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_text(__TopXMLNS,
+decode_register_text(__TopXMLNS, __IgnoreEls,
{xmlel, <<"text">>, _attrs, _els}) ->
- Cdata = decode_register_text_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_text_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_text_els(__TopXMLNS, [], Cdata) ->
+decode_register_text_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_text_cdata(__TopXMLNS, Cdata);
-decode_register_text_els(__TopXMLNS,
+decode_register_text_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_text_els(__TopXMLNS, _els,
+ decode_register_text_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_text_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_text_els(__TopXMLNS, _els, Cdata).
+decode_register_text_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_text_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_text(Cdata, _xmlns_attrs) ->
_els = encode_register_text_cdata(Cdata, []),
encode_register_text_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_misc(__TopXMLNS,
+decode_register_misc(__TopXMLNS, __IgnoreEls,
{xmlel, <<"misc">>, _attrs, _els}) ->
- Cdata = decode_register_misc_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_misc_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_misc_els(__TopXMLNS, [], Cdata) ->
+decode_register_misc_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_misc_cdata(__TopXMLNS, Cdata);
-decode_register_misc_els(__TopXMLNS,
+decode_register_misc_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_misc_els(__TopXMLNS, _els,
+ decode_register_misc_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_misc_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_misc_els(__TopXMLNS, _els, Cdata).
+decode_register_misc_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_misc_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_misc(Cdata, _xmlns_attrs) ->
_els = encode_register_misc_cdata(Cdata, []),
encode_register_misc_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_date(__TopXMLNS,
+decode_register_date(__TopXMLNS, __IgnoreEls,
{xmlel, <<"date">>, _attrs, _els}) ->
- Cdata = decode_register_date_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_date_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_date_els(__TopXMLNS, [], Cdata) ->
+decode_register_date_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_date_cdata(__TopXMLNS, Cdata);
-decode_register_date_els(__TopXMLNS,
+decode_register_date_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_date_els(__TopXMLNS, _els,
+ decode_register_date_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_date_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_date_els(__TopXMLNS, _els, Cdata).
+decode_register_date_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_date_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_date(Cdata, _xmlns_attrs) ->
_els = encode_register_date_cdata(Cdata, []),
encode_register_date_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_url(__TopXMLNS,
+decode_register_url(__TopXMLNS, __IgnoreEls,
{xmlel, <<"url">>, _attrs, _els}) ->
- Cdata = decode_register_url_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_register_url_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_register_url_els(__TopXMLNS, [], Cdata) ->
+decode_register_url_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_url_cdata(__TopXMLNS, Cdata);
-decode_register_url_els(__TopXMLNS,
+decode_register_url_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_url_els(__TopXMLNS, _els,
+ decode_register_url_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_url_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_url_els(__TopXMLNS, _els, Cdata).
+decode_register_url_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_url_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_url(Cdata, _xmlns_attrs) ->
_els = encode_register_url_cdata(Cdata, []),
encode_register_url_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_phone(__TopXMLNS,
+decode_register_phone(__TopXMLNS, __IgnoreEls,
{xmlel, <<"phone">>, _attrs, _els}) ->
- Cdata = decode_register_phone_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_phone_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_phone_els(__TopXMLNS, [], Cdata) ->
+decode_register_phone_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_phone_cdata(__TopXMLNS, Cdata);
-decode_register_phone_els(__TopXMLNS,
+decode_register_phone_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_phone_els(__TopXMLNS, _els,
+ decode_register_phone_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_phone_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_phone_els(__TopXMLNS, _els, Cdata).
+decode_register_phone_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_phone_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_phone(Cdata, _xmlns_attrs) ->
_els = encode_register_phone_cdata(Cdata, []),
encode_register_phone_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_zip(__TopXMLNS,
+decode_register_zip(__TopXMLNS, __IgnoreEls,
{xmlel, <<"zip">>, _attrs, _els}) ->
- Cdata = decode_register_zip_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_register_zip_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_register_zip_els(__TopXMLNS, [], Cdata) ->
+decode_register_zip_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_zip_cdata(__TopXMLNS, Cdata);
-decode_register_zip_els(__TopXMLNS,
+decode_register_zip_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_zip_els(__TopXMLNS, _els,
+ decode_register_zip_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_zip_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_zip_els(__TopXMLNS, _els, Cdata).
+decode_register_zip_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_zip_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_zip(Cdata, _xmlns_attrs) ->
_els = encode_register_zip_cdata(Cdata, []),
encode_register_zip_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_state(__TopXMLNS,
+decode_register_state(__TopXMLNS, __IgnoreEls,
{xmlel, <<"state">>, _attrs, _els}) ->
- Cdata = decode_register_state_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_state_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_state_els(__TopXMLNS, [], Cdata) ->
+decode_register_state_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_state_cdata(__TopXMLNS, Cdata);
-decode_register_state_els(__TopXMLNS,
+decode_register_state_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_state_els(__TopXMLNS, _els,
+ decode_register_state_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_state_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_state_els(__TopXMLNS, _els, Cdata).
+decode_register_state_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_state_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_state(Cdata, _xmlns_attrs) ->
_els = encode_register_state_cdata(Cdata, []),
encode_register_state_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_city(__TopXMLNS,
+decode_register_city(__TopXMLNS, __IgnoreEls,
{xmlel, <<"city">>, _attrs, _els}) ->
- Cdata = decode_register_city_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_city_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_city_els(__TopXMLNS, [], Cdata) ->
+decode_register_city_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_city_cdata(__TopXMLNS, Cdata);
-decode_register_city_els(__TopXMLNS,
+decode_register_city_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_city_els(__TopXMLNS, _els,
+ decode_register_city_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_city_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_city_els(__TopXMLNS, _els, Cdata).
+decode_register_city_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_city_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_city(Cdata, _xmlns_attrs) ->
_els = encode_register_city_cdata(Cdata, []),
encode_register_city_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_address(__TopXMLNS,
+decode_register_address(__TopXMLNS, __IgnoreEls,
{xmlel, <<"address">>, _attrs, _els}) ->
- Cdata = decode_register_address_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_address_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_address_els(__TopXMLNS, [], Cdata) ->
+decode_register_address_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_address_cdata(__TopXMLNS, Cdata);
-decode_register_address_els(__TopXMLNS,
+decode_register_address_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_address_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_register_address_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_address_els(__TopXMLNS, _els, Cdata).
+ decode_register_address_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_register_address_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_address_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_register_address(Cdata, _xmlns_attrs) ->
_els = encode_register_address_cdata(Cdata, []),
encode_register_address_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_email(__TopXMLNS,
+decode_register_email(__TopXMLNS, __IgnoreEls,
{xmlel, <<"email">>, _attrs, _els}) ->
- Cdata = decode_register_email_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_email_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_email_els(__TopXMLNS, [], Cdata) ->
+decode_register_email_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_email_cdata(__TopXMLNS, Cdata);
-decode_register_email_els(__TopXMLNS,
+decode_register_email_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_email_els(__TopXMLNS, _els,
+ decode_register_email_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_email_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_email_els(__TopXMLNS, _els, Cdata).
+decode_register_email_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_email_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_email(Cdata, _xmlns_attrs) ->
_els = encode_register_email_cdata(Cdata, []),
encode_register_email_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_last(__TopXMLNS,
+decode_register_last(__TopXMLNS, __IgnoreEls,
{xmlel, <<"last">>, _attrs, _els}) ->
- Cdata = decode_register_last_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_last_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_last_els(__TopXMLNS, [], Cdata) ->
+decode_register_last_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_last_cdata(__TopXMLNS, Cdata);
-decode_register_last_els(__TopXMLNS,
+decode_register_last_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_last_els(__TopXMLNS, _els,
+ decode_register_last_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_last_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_last_els(__TopXMLNS, _els, Cdata).
+decode_register_last_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_last_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_last(Cdata, _xmlns_attrs) ->
_els = encode_register_last_cdata(Cdata, []),
encode_register_last_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_first(__TopXMLNS,
+decode_register_first(__TopXMLNS, __IgnoreEls,
{xmlel, <<"first">>, _attrs, _els}) ->
- Cdata = decode_register_first_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_first_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_first_els(__TopXMLNS, [], Cdata) ->
+decode_register_first_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_first_cdata(__TopXMLNS, Cdata);
-decode_register_first_els(__TopXMLNS,
+decode_register_first_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_first_els(__TopXMLNS, _els,
+ decode_register_first_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_first_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_first_els(__TopXMLNS, _els, Cdata).
+decode_register_first_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_first_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_first(Cdata, _xmlns_attrs) ->
_els = encode_register_first_cdata(Cdata, []),
encode_register_first_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_name(__TopXMLNS,
+decode_register_name(__TopXMLNS, __IgnoreEls,
{xmlel, <<"name">>, _attrs, _els}) ->
- Cdata = decode_register_name_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_name_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_name_els(__TopXMLNS, [], Cdata) ->
+decode_register_name_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_name_cdata(__TopXMLNS, Cdata);
-decode_register_name_els(__TopXMLNS,
+decode_register_name_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_name_els(__TopXMLNS, _els,
+ decode_register_name_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_name_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_name_els(__TopXMLNS, _els, Cdata).
+decode_register_name_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_name_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_name(Cdata, _xmlns_attrs) ->
_els = encode_register_name_cdata(Cdata, []),
encode_register_name_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_password(__TopXMLNS,
+decode_register_password(__TopXMLNS, __IgnoreEls,
{xmlel, <<"password">>, _attrs, _els}) ->
- Cdata = decode_register_password_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_password_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_password_els(__TopXMLNS, [], Cdata) ->
+decode_register_password_els(__TopXMLNS, __IgnoreEls,
+ [], Cdata) ->
decode_register_password_cdata(__TopXMLNS, Cdata);
-decode_register_password_els(__TopXMLNS,
+decode_register_password_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_password_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_register_password_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_password_els(__TopXMLNS, _els, Cdata).
+ decode_register_password_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_register_password_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_password_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_register_password(Cdata, _xmlns_attrs) ->
_els = encode_register_password_cdata(Cdata, []),
encode_register_password_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_nick(__TopXMLNS,
+decode_register_nick(__TopXMLNS, __IgnoreEls,
{xmlel, <<"nick">>, _attrs, _els}) ->
- Cdata = decode_register_nick_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_nick_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_nick_els(__TopXMLNS, [], Cdata) ->
+decode_register_nick_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_register_nick_cdata(__TopXMLNS, Cdata);
-decode_register_nick_els(__TopXMLNS,
+decode_register_nick_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_nick_els(__TopXMLNS, _els,
+ decode_register_nick_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_register_nick_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_nick_els(__TopXMLNS, _els, Cdata).
+decode_register_nick_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_nick_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_register_nick(Cdata, _xmlns_attrs) ->
_els = encode_register_nick_cdata(Cdata, []),
encode_register_nick_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_username(__TopXMLNS,
+decode_register_username(__TopXMLNS, __IgnoreEls,
{xmlel, <<"username">>, _attrs, _els}) ->
- Cdata = decode_register_username_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_register_username_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_username_els(__TopXMLNS, [], Cdata) ->
+decode_register_username_els(__TopXMLNS, __IgnoreEls,
+ [], Cdata) ->
decode_register_username_cdata(__TopXMLNS, Cdata);
-decode_register_username_els(__TopXMLNS,
+decode_register_username_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_register_username_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_register_username_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_register_username_els(__TopXMLNS, _els, Cdata).
+ decode_register_username_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_register_username_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_register_username_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_register_username(Cdata, _xmlns_attrs) ->
_els = encode_register_username_cdata(Cdata, []),
encode_register_username_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_instructions(__TopXMLNS,
+decode_register_instructions(__TopXMLNS, __IgnoreEls,
{xmlel, <<"instructions">>, _attrs, _els}) ->
Cdata = decode_register_instructions_els(__TopXMLNS,
- _els, <<>>),
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_register_instructions_els(__TopXMLNS, [],
- Cdata) ->
+decode_register_instructions_els(__TopXMLNS,
+ __IgnoreEls, [], Cdata) ->
decode_register_instructions_cdata(__TopXMLNS, Cdata);
decode_register_instructions_els(__TopXMLNS,
- [{xmlcdata, _data} | _els], Cdata) ->
- decode_register_instructions_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_register_instructions_els(__TopXMLNS, [_ | _els],
+ __IgnoreEls, [{xmlcdata, _data} | _els],
Cdata) ->
- decode_register_instructions_els(__TopXMLNS, _els,
- Cdata).
+ decode_register_instructions_els(__TopXMLNS,
+ __IgnoreEls, _els,
+ <<Cdata/binary, _data/binary>>);
+decode_register_instructions_els(__TopXMLNS,
+ __IgnoreEls, [_ | _els], Cdata) ->
+ decode_register_instructions_els(__TopXMLNS,
+ __IgnoreEls, _els, Cdata).
encode_register_instructions(Cdata, _xmlns_attrs) ->
_els = encode_register_instructions_cdata(Cdata, []),
encode_register_instructions_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_register_remove(__TopXMLNS,
+decode_register_remove(__TopXMLNS, __IgnoreEls,
{xmlel, <<"remove">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"remove">>, _attrs, _els}.
-decode_register_registered(__TopXMLNS,
+decode_register_registered(__TopXMLNS, __IgnoreEls,
{xmlel, <<"registered">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"registered">>, _attrs, _els}.
-decode_feature_register(__TopXMLNS,
+decode_feature_register(__TopXMLNS, __IgnoreEls,
{xmlel, <<"register">>, _attrs, _els}) ->
{feature_register}.
_attrs = _xmlns_attrs,
{xmlel, <<"register">>, _attrs, _els}.
-decode_caps(__TopXMLNS,
+decode_caps(__TopXMLNS, __IgnoreEls,
{xmlel, <<"c">>, _attrs, _els}) ->
{Hash, Node, Ver} = decode_caps_attrs(__TopXMLNS,
_attrs, undefined, undefined,
encode_caps_attr_ver(_val, _acc) ->
[{<<"ver">>, base64:encode(_val)} | _acc].
-decode_p1_ack(__TopXMLNS,
+decode_p1_ack(__TopXMLNS, __IgnoreEls,
{xmlel, <<"ack">>, _attrs, _els}) ->
{p1_ack}.
_attrs = _xmlns_attrs,
{xmlel, <<"ack">>, _attrs, _els}.
-decode_p1_rebind(__TopXMLNS,
+decode_p1_rebind(__TopXMLNS, __IgnoreEls,
{xmlel, <<"rebind">>, _attrs, _els}) ->
{p1_rebind}.
_attrs = _xmlns_attrs,
{xmlel, <<"rebind">>, _attrs, _els}.
-decode_p1_push(__TopXMLNS,
+decode_p1_push(__TopXMLNS, __IgnoreEls,
{xmlel, <<"push">>, _attrs, _els}) ->
{p1_push}.
_attrs = _xmlns_attrs,
{xmlel, <<"push">>, _attrs, _els}.
-decode_stream_features(__TopXMLNS,
+decode_stream_features(__TopXMLNS, __IgnoreEls,
{xmlel, <<"stream:features">>, _attrs, _els}) ->
- __Els = decode_stream_features_els(__TopXMLNS, _els,
- []),
+ __Els = decode_stream_features_els(__TopXMLNS,
+ __IgnoreEls, _els, []),
{stream_features, __Els}.
-decode_stream_features_els(__TopXMLNS, [], __Els) ->
+decode_stream_features_els(__TopXMLNS, __IgnoreEls, [],
+ __Els) ->
lists:reverse(__Els);
-decode_stream_features_els(__TopXMLNS,
+decode_stream_features_els(__TopXMLNS, __IgnoreEls,
[{xmlel, _, _, _} = _el | _els], __Els) ->
- case is_known_tag(_el) of
- true ->
- decode_stream_features_els(__TopXMLNS, _els,
- [decode(_el) | __Els]);
- false ->
- decode_stream_features_els(__TopXMLNS, _els, __Els)
- end;
-decode_stream_features_els(__TopXMLNS, [_ | _els],
- __Els) ->
- decode_stream_features_els(__TopXMLNS, _els, __Els).
+ if __IgnoreEls ->
+ decode_stream_features_els(__TopXMLNS, __IgnoreEls,
+ _els, [_el | __Els]);
+ true ->
+ case is_known_tag(_el) of
+ true ->
+ decode_stream_features_els(__TopXMLNS, __IgnoreEls,
+ _els, [decode(_el) | __Els]);
+ false ->
+ decode_stream_features_els(__TopXMLNS, __IgnoreEls,
+ _els, __Els)
+ end
+ end;
+decode_stream_features_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], __Els) ->
+ decode_stream_features_els(__TopXMLNS, __IgnoreEls,
+ _els, __Els).
encode_stream_features({stream_features, __Els},
_xmlns_attrs) ->
_attrs = _xmlns_attrs,
{xmlel, <<"stream:features">>, _attrs, _els}.
-decode_compression(__TopXMLNS,
+decode_compression(__TopXMLNS, __IgnoreEls,
{xmlel, <<"compression">>, _attrs, _els}) ->
- Methods = decode_compression_els(__TopXMLNS, _els, []),
+ Methods = decode_compression_els(__TopXMLNS,
+ __IgnoreEls, _els, []),
{compression, Methods}.
-decode_compression_els(__TopXMLNS, [], Methods) ->
+decode_compression_els(__TopXMLNS, __IgnoreEls, [],
+ Methods) ->
lists:reverse(Methods);
-decode_compression_els(__TopXMLNS,
+decode_compression_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"method">>, _attrs, _} = _el | _els],
Methods) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_compression_els(__TopXMLNS, _els,
+ decode_compression_els(__TopXMLNS, __IgnoreEls, _els,
case decode_compression_method(__TopXMLNS,
+ __IgnoreEls,
_el)
of
undefined -> Methods;
_new_el -> [_new_el | Methods]
end);
true ->
- decode_compression_els(__TopXMLNS, _els, Methods)
+ decode_compression_els(__TopXMLNS, __IgnoreEls, _els,
+ Methods)
end;
-decode_compression_els(__TopXMLNS, [_ | _els],
- Methods) ->
- decode_compression_els(__TopXMLNS, _els, Methods).
+decode_compression_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Methods) ->
+ decode_compression_els(__TopXMLNS, __IgnoreEls, _els,
+ Methods).
encode_compression({compression, Methods},
_xmlns_attrs) ->
- _els = 'encode_compression_$methods'(Methods, []),
+ _els =
+ lists:reverse('encode_compression_$methods'(Methods,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"compression">>, _attrs, _els}.
[encode_compression_method(Methods, [])
| _acc]).
-decode_compression_method(__TopXMLNS,
+decode_compression_method(__TopXMLNS, __IgnoreEls,
{xmlel, <<"method">>, _attrs, _els}) ->
- Cdata = decode_compression_method_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_compression_method_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_compression_method_els(__TopXMLNS, [], Cdata) ->
+decode_compression_method_els(__TopXMLNS, __IgnoreEls,
+ [], Cdata) ->
decode_compression_method_cdata(__TopXMLNS, Cdata);
-decode_compression_method_els(__TopXMLNS,
+decode_compression_method_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_compression_method_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_compression_method_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_compression_method_els(__TopXMLNS, _els, Cdata).
+ decode_compression_method_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_compression_method_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_compression_method_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_compression_method(Cdata, _xmlns_attrs) ->
_els = encode_compression_method_cdata(Cdata, []),
encode_compression_method_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_compressed(__TopXMLNS,
+decode_compressed(__TopXMLNS, __IgnoreEls,
{xmlel, <<"compressed">>, _attrs, _els}) ->
{compressed}.
_attrs = _xmlns_attrs,
{xmlel, <<"compressed">>, _attrs, _els}.
-decode_compress(__TopXMLNS,
+decode_compress(__TopXMLNS, __IgnoreEls,
{xmlel, <<"compress">>, _attrs, _els}) ->
- Methods = decode_compress_els(__TopXMLNS, _els, []),
+ Methods = decode_compress_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
{compress, Methods}.
-decode_compress_els(__TopXMLNS, [], Methods) ->
+decode_compress_els(__TopXMLNS, __IgnoreEls, [],
+ Methods) ->
lists:reverse(Methods);
-decode_compress_els(__TopXMLNS,
+decode_compress_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"method">>, _attrs, _} = _el | _els],
Methods) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_compress_els(__TopXMLNS, _els,
- case decode_compress_method(__TopXMLNS, _el) of
+ decode_compress_els(__TopXMLNS, __IgnoreEls, _els,
+ case decode_compress_method(__TopXMLNS,
+ __IgnoreEls, _el)
+ of
undefined -> Methods;
_new_el -> [_new_el | Methods]
end);
- true -> decode_compress_els(__TopXMLNS, _els, Methods)
+ true ->
+ decode_compress_els(__TopXMLNS, __IgnoreEls, _els,
+ Methods)
end;
-decode_compress_els(__TopXMLNS, [_ | _els], Methods) ->
- decode_compress_els(__TopXMLNS, _els, Methods).
+decode_compress_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Methods) ->
+ decode_compress_els(__TopXMLNS, __IgnoreEls, _els,
+ Methods).
encode_compress({compress, Methods}, _xmlns_attrs) ->
- _els = 'encode_compress_$methods'(Methods, []),
+ _els = lists:reverse('encode_compress_$methods'(Methods,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"compress">>, _attrs, _els}.
'encode_compress_$methods'(_els,
[encode_compress_method(Methods, []) | _acc]).
-decode_compress_method(__TopXMLNS,
+decode_compress_method(__TopXMLNS, __IgnoreEls,
{xmlel, <<"method">>, _attrs, _els}) ->
- Cdata = decode_compress_method_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_compress_method_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_compress_method_els(__TopXMLNS, [], Cdata) ->
+decode_compress_method_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_compress_method_cdata(__TopXMLNS, Cdata);
-decode_compress_method_els(__TopXMLNS,
+decode_compress_method_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_compress_method_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_compress_method_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_compress_method_els(__TopXMLNS, _els, Cdata).
+ decode_compress_method_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_compress_method_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_compress_method_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_compress_method(Cdata, _xmlns_attrs) ->
_els = encode_compress_method_cdata(Cdata, []),
encode_compress_method_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_compress_failure(__TopXMLNS,
+decode_compress_failure(__TopXMLNS, __IgnoreEls,
{xmlel, <<"failure">>, _attrs, _els}) ->
- Reason = decode_compress_failure_els(__TopXMLNS, _els,
- undefined),
+ Reason = decode_compress_failure_els(__TopXMLNS,
+ __IgnoreEls, _els, undefined),
{compress_failure, Reason}.
-decode_compress_failure_els(__TopXMLNS, [], Reason) ->
+decode_compress_failure_els(__TopXMLNS, __IgnoreEls, [],
+ Reason) ->
Reason;
-decode_compress_failure_els(__TopXMLNS,
+decode_compress_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"setup-failed">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_compress_failure_els(__TopXMLNS, _els,
+ decode_compress_failure_els(__TopXMLNS, __IgnoreEls,
+ _els,
decode_compress_failure_setup_failed(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_compress_failure_els(__TopXMLNS, _els, Reason)
+ decode_compress_failure_els(__TopXMLNS, __IgnoreEls,
+ _els, Reason)
end;
-decode_compress_failure_els(__TopXMLNS,
+decode_compress_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"processing-failed">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_compress_failure_els(__TopXMLNS, _els,
+ decode_compress_failure_els(__TopXMLNS, __IgnoreEls,
+ _els,
decode_compress_failure_processing_failed(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_compress_failure_els(__TopXMLNS, _els, Reason)
+ decode_compress_failure_els(__TopXMLNS, __IgnoreEls,
+ _els, Reason)
end;
-decode_compress_failure_els(__TopXMLNS,
+decode_compress_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"unsupported-method">>, _attrs, _} = _el
| _els],
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_compress_failure_els(__TopXMLNS, _els,
+ decode_compress_failure_els(__TopXMLNS, __IgnoreEls,
+ _els,
decode_compress_failure_unsupported_method(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_compress_failure_els(__TopXMLNS, _els, Reason)
+ decode_compress_failure_els(__TopXMLNS, __IgnoreEls,
+ _els, Reason)
end;
-decode_compress_failure_els(__TopXMLNS, [_ | _els],
- Reason) ->
- decode_compress_failure_els(__TopXMLNS, _els, Reason).
+decode_compress_failure_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Reason) ->
+ decode_compress_failure_els(__TopXMLNS, __IgnoreEls,
+ _els, Reason).
encode_compress_failure({compress_failure, Reason},
_xmlns_attrs) ->
- _els = 'encode_compress_failure_$reason'(Reason, []),
+ _els =
+ lists:reverse('encode_compress_failure_$reason'(Reason,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"failure">>, _attrs, _els}.
| _acc].
decode_compress_failure_unsupported_method(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"unsupported-method">>,
_attrs, _els}) ->
'unsupported-method'.
{xmlel, <<"unsupported-method">>, _attrs, _els}.
decode_compress_failure_processing_failed(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"processing-failed">>,
_attrs, _els}) ->
'processing-failed'.
{xmlel, <<"processing-failed">>, _attrs, _els}.
decode_compress_failure_setup_failed(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"setup-failed">>, _attrs,
_els}) ->
'setup-failed'.
_attrs = _xmlns_attrs,
{xmlel, <<"setup-failed">>, _attrs, _els}.
-decode_starttls_failure(__TopXMLNS,
+decode_starttls_failure(__TopXMLNS, __IgnoreEls,
{xmlel, <<"failure">>, _attrs, _els}) ->
{starttls_failure}.
_attrs = _xmlns_attrs,
{xmlel, <<"failure">>, _attrs, _els}.
-decode_starttls_proceed(__TopXMLNS,
+decode_starttls_proceed(__TopXMLNS, __IgnoreEls,
{xmlel, <<"proceed">>, _attrs, _els}) ->
{starttls_proceed}.
_attrs = _xmlns_attrs,
{xmlel, <<"proceed">>, _attrs, _els}.
-decode_starttls(__TopXMLNS,
+decode_starttls(__TopXMLNS, __IgnoreEls,
{xmlel, <<"starttls">>, _attrs, _els}) ->
- Required = decode_starttls_els(__TopXMLNS, _els, false),
+ Required = decode_starttls_els(__TopXMLNS, __IgnoreEls,
+ _els, false),
{starttls, Required}.
-decode_starttls_els(__TopXMLNS, [], Required) ->
+decode_starttls_els(__TopXMLNS, __IgnoreEls, [],
+ Required) ->
Required;
-decode_starttls_els(__TopXMLNS,
+decode_starttls_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"required">>, _attrs, _} = _el | _els],
Required) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_starttls_els(__TopXMLNS, _els,
- decode_starttls_required(__TopXMLNS, _el));
- true -> decode_starttls_els(__TopXMLNS, _els, Required)
+ decode_starttls_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_starttls_required(__TopXMLNS, __IgnoreEls,
+ _el));
+ true ->
+ decode_starttls_els(__TopXMLNS, __IgnoreEls, _els,
+ Required)
end;
-decode_starttls_els(__TopXMLNS, [_ | _els], Required) ->
- decode_starttls_els(__TopXMLNS, _els, Required).
+decode_starttls_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Required) ->
+ decode_starttls_els(__TopXMLNS, __IgnoreEls, _els,
+ Required).
encode_starttls({starttls, Required}, _xmlns_attrs) ->
- _els = 'encode_starttls_$required'(Required, []),
+ _els =
+ lists:reverse('encode_starttls_$required'(Required,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"starttls">>, _attrs, _els}.
'encode_starttls_$required'(Required, _acc) ->
[encode_starttls_required(Required, []) | _acc].
-decode_starttls_required(__TopXMLNS,
+decode_starttls_required(__TopXMLNS, __IgnoreEls,
{xmlel, <<"required">>, _attrs, _els}) ->
true.
_attrs = _xmlns_attrs,
{xmlel, <<"required">>, _attrs, _els}.
-decode_sasl_mechanisms(__TopXMLNS,
+decode_sasl_mechanisms(__TopXMLNS, __IgnoreEls,
{xmlel, <<"mechanisms">>, _attrs, _els}) ->
- List = decode_sasl_mechanisms_els(__TopXMLNS, _els, []),
+ List = decode_sasl_mechanisms_els(__TopXMLNS,
+ __IgnoreEls, _els, []),
{sasl_mechanisms, List}.
-decode_sasl_mechanisms_els(__TopXMLNS, [], List) ->
+decode_sasl_mechanisms_els(__TopXMLNS, __IgnoreEls, [],
+ List) ->
lists:reverse(List);
-decode_sasl_mechanisms_els(__TopXMLNS,
+decode_sasl_mechanisms_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"mechanism">>, _attrs, _} = _el | _els],
List) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_sasl_mechanisms_els(__TopXMLNS, _els,
+ decode_sasl_mechanisms_els(__TopXMLNS, __IgnoreEls,
+ _els,
case decode_sasl_mechanism(__TopXMLNS,
+ __IgnoreEls,
_el)
of
undefined -> List;
_new_el -> [_new_el | List]
end);
true ->
- decode_sasl_mechanisms_els(__TopXMLNS, _els, List)
+ decode_sasl_mechanisms_els(__TopXMLNS, __IgnoreEls,
+ _els, List)
end;
-decode_sasl_mechanisms_els(__TopXMLNS, [_ | _els],
- List) ->
- decode_sasl_mechanisms_els(__TopXMLNS, _els, List).
+decode_sasl_mechanisms_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], List) ->
+ decode_sasl_mechanisms_els(__TopXMLNS, __IgnoreEls,
+ _els, List).
encode_sasl_mechanisms({sasl_mechanisms, List},
_xmlns_attrs) ->
- _els = 'encode_sasl_mechanisms_$list'(List, []),
+ _els =
+ lists:reverse('encode_sasl_mechanisms_$list'(List, [])),
_attrs = _xmlns_attrs,
{xmlel, <<"mechanisms">>, _attrs, _els}.
'encode_sasl_mechanisms_$list'(_els,
[encode_sasl_mechanism(List, []) | _acc]).
-decode_sasl_mechanism(__TopXMLNS,
+decode_sasl_mechanism(__TopXMLNS, __IgnoreEls,
{xmlel, <<"mechanism">>, _attrs, _els}) ->
- Cdata = decode_sasl_mechanism_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_sasl_mechanism_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_sasl_mechanism_els(__TopXMLNS, [], Cdata) ->
+decode_sasl_mechanism_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_sasl_mechanism_cdata(__TopXMLNS, Cdata);
-decode_sasl_mechanism_els(__TopXMLNS,
+decode_sasl_mechanism_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_sasl_mechanism_els(__TopXMLNS, _els,
+ decode_sasl_mechanism_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_sasl_mechanism_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_sasl_mechanism_els(__TopXMLNS, _els, Cdata).
+decode_sasl_mechanism_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_sasl_mechanism_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_sasl_mechanism(Cdata, _xmlns_attrs) ->
_els = encode_sasl_mechanism_cdata(Cdata, []),
encode_sasl_mechanism_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_sasl_failure(__TopXMLNS,
+decode_sasl_failure(__TopXMLNS, __IgnoreEls,
{xmlel, <<"failure">>, _attrs, _els}) ->
{Text, Reason} = decode_sasl_failure_els(__TopXMLNS,
- _els, [], undefined),
+ __IgnoreEls, _els, [], undefined),
{sasl_failure, Reason, Text}.
-decode_sasl_failure_els(__TopXMLNS, [], Text, Reason) ->
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, [],
+ Text, Reason) ->
{lists:reverse(Text), Reason};
-decode_sasl_failure_els(__TopXMLNS,
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"text">>, _attrs, _} = _el | _els], Text,
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_sasl_failure_els(__TopXMLNS, _els,
- [decode_sasl_failure_text(__TopXMLNS, _el)
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_sasl_failure_text(__TopXMLNS,
+ __IgnoreEls, _el)
| Text],
Reason);
true ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text, Reason)
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_sasl_failure_els(__TopXMLNS,
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"aborted">>, _attrs, _} = _el | _els], Text,
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text,
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_sasl_failure_aborted(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text, Reason)
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_sasl_failure_els(__TopXMLNS,
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"account-disabled">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text,
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_sasl_failure_account_disabled(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text, Reason)
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_sasl_failure_els(__TopXMLNS,
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"credentials-expired">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text,
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_sasl_failure_credentials_expired(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text, Reason)
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_sasl_failure_els(__TopXMLNS,
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"encryption-required">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text,
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_sasl_failure_encryption_required(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text, Reason)
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_sasl_failure_els(__TopXMLNS,
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"incorrect-encoding">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text,
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_sasl_failure_incorrect_encoding(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text, Reason)
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_sasl_failure_els(__TopXMLNS,
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"invalid-authzid">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text,
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_sasl_failure_invalid_authzid(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text, Reason)
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_sasl_failure_els(__TopXMLNS,
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"invalid-mechanism">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text,
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_sasl_failure_invalid_mechanism(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text, Reason)
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_sasl_failure_els(__TopXMLNS,
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"malformed-request">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text,
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_sasl_failure_malformed_request(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text, Reason)
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_sasl_failure_els(__TopXMLNS,
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"mechanism-too-weak">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text,
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_sasl_failure_mechanism_too_weak(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text, Reason)
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_sasl_failure_els(__TopXMLNS,
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"not-authorized">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text,
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_sasl_failure_not_authorized(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text, Reason)
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_sasl_failure_els(__TopXMLNS,
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"temporary-auth-failure">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text,
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text,
decode_sasl_failure_temporary_auth_failure(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text, Reason)
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason)
end;
-decode_sasl_failure_els(__TopXMLNS, [_ | _els], Text,
- Reason) ->
- decode_sasl_failure_els(__TopXMLNS, _els, Text, Reason).
+decode_sasl_failure_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Text, Reason) ->
+ decode_sasl_failure_els(__TopXMLNS, __IgnoreEls, _els,
+ Text, Reason).
encode_sasl_failure({sasl_failure, Reason, Text},
_xmlns_attrs) ->
- _els = 'encode_sasl_failure_$reason'(Reason,
- 'encode_sasl_failure_$text'(Text, [])),
+ _els = lists:reverse('encode_sasl_failure_$text'(Text,
+ 'encode_sasl_failure_$reason'(Reason,
+ []))),
_attrs = _xmlns_attrs,
{xmlel, <<"failure">>, _attrs, _els}.
| _acc].
decode_sasl_failure_temporary_auth_failure(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"temporary-auth-failure">>,
_attrs, _els}) ->
'temporary-auth-failure'.
{xmlel, <<"temporary-auth-failure">>, _attrs, _els}.
decode_sasl_failure_not_authorized(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"not-authorized">>, _attrs,
_els}) ->
'not-authorized'.
{xmlel, <<"not-authorized">>, _attrs, _els}.
decode_sasl_failure_mechanism_too_weak(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"mechanism-too-weak">>, _attrs,
_els}) ->
'mechanism-too-weak'.
{xmlel, <<"mechanism-too-weak">>, _attrs, _els}.
decode_sasl_failure_malformed_request(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"malformed-request">>, _attrs,
_els}) ->
'malformed-request'.
{xmlel, <<"malformed-request">>, _attrs, _els}.
decode_sasl_failure_invalid_mechanism(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"invalid-mechanism">>, _attrs,
_els}) ->
'invalid-mechanism'.
{xmlel, <<"invalid-mechanism">>, _attrs, _els}.
decode_sasl_failure_invalid_authzid(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"invalid-authzid">>, _attrs,
_els}) ->
'invalid-authzid'.
{xmlel, <<"invalid-authzid">>, _attrs, _els}.
decode_sasl_failure_incorrect_encoding(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"incorrect-encoding">>, _attrs,
_els}) ->
'incorrect-encoding'.
{xmlel, <<"incorrect-encoding">>, _attrs, _els}.
decode_sasl_failure_encryption_required(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"encryption-required">>,
_attrs, _els}) ->
'encryption-required'.
{xmlel, <<"encryption-required">>, _attrs, _els}.
decode_sasl_failure_credentials_expired(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"credentials-expired">>,
_attrs, _els}) ->
'credentials-expired'.
{xmlel, <<"credentials-expired">>, _attrs, _els}.
decode_sasl_failure_account_disabled(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"account-disabled">>, _attrs,
_els}) ->
'account-disabled'.
_attrs = _xmlns_attrs,
{xmlel, <<"account-disabled">>, _attrs, _els}.
-decode_sasl_failure_aborted(__TopXMLNS,
+decode_sasl_failure_aborted(__TopXMLNS, __IgnoreEls,
{xmlel, <<"aborted">>, _attrs, _els}) ->
aborted.
_attrs = _xmlns_attrs,
{xmlel, <<"aborted">>, _attrs, _els}.
-decode_sasl_failure_text(__TopXMLNS,
+decode_sasl_failure_text(__TopXMLNS, __IgnoreEls,
{xmlel, <<"text">>, _attrs, _els}) ->
- Data = decode_sasl_failure_text_els(__TopXMLNS, _els,
- <<>>),
+ Data = decode_sasl_failure_text_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Lang = decode_sasl_failure_text_attrs(__TopXMLNS,
_attrs, undefined),
{text, Lang, Data}.
-decode_sasl_failure_text_els(__TopXMLNS, [], Data) ->
+decode_sasl_failure_text_els(__TopXMLNS, __IgnoreEls,
+ [], Data) ->
decode_sasl_failure_text_cdata(__TopXMLNS, Data);
-decode_sasl_failure_text_els(__TopXMLNS,
+decode_sasl_failure_text_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Data) ->
- decode_sasl_failure_text_els(__TopXMLNS, _els,
- <<Data/binary, _data/binary>>);
-decode_sasl_failure_text_els(__TopXMLNS, [_ | _els],
- Data) ->
- decode_sasl_failure_text_els(__TopXMLNS, _els, Data).
+ decode_sasl_failure_text_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Data/binary, _data/binary>>);
+decode_sasl_failure_text_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Data) ->
+ decode_sasl_failure_text_els(__TopXMLNS, __IgnoreEls,
+ _els, Data).
decode_sasl_failure_text_attrs(__TopXMLNS,
[{<<"xml:lang">>, _val} | _attrs], _Lang) ->
encode_sasl_failure_text_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_sasl_success(__TopXMLNS,
+decode_sasl_success(__TopXMLNS, __IgnoreEls,
{xmlel, <<"success">>, _attrs, _els}) ->
- Text = decode_sasl_success_els(__TopXMLNS, _els, <<>>),
+ Text = decode_sasl_success_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
{sasl_success, Text}.
-decode_sasl_success_els(__TopXMLNS, [], Text) ->
+decode_sasl_success_els(__TopXMLNS, __IgnoreEls, [],
+ Text) ->
decode_sasl_success_cdata(__TopXMLNS, Text);
-decode_sasl_success_els(__TopXMLNS,
+decode_sasl_success_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Text) ->
- decode_sasl_success_els(__TopXMLNS, _els,
+ decode_sasl_success_els(__TopXMLNS, __IgnoreEls, _els,
<<Text/binary, _data/binary>>);
-decode_sasl_success_els(__TopXMLNS, [_ | _els], Text) ->
- decode_sasl_success_els(__TopXMLNS, _els, Text).
+decode_sasl_success_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Text) ->
+ decode_sasl_success_els(__TopXMLNS, __IgnoreEls, _els,
+ Text).
encode_sasl_success({sasl_success, Text},
_xmlns_attrs) ->
encode_sasl_success_cdata(_val, _acc) ->
[{xmlcdata, base64:encode(_val)} | _acc].
-decode_sasl_response(__TopXMLNS,
+decode_sasl_response(__TopXMLNS, __IgnoreEls,
{xmlel, <<"response">>, _attrs, _els}) ->
- Text = decode_sasl_response_els(__TopXMLNS, _els, <<>>),
+ Text = decode_sasl_response_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
{sasl_response, Text}.
-decode_sasl_response_els(__TopXMLNS, [], Text) ->
+decode_sasl_response_els(__TopXMLNS, __IgnoreEls, [],
+ Text) ->
decode_sasl_response_cdata(__TopXMLNS, Text);
-decode_sasl_response_els(__TopXMLNS,
+decode_sasl_response_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Text) ->
- decode_sasl_response_els(__TopXMLNS, _els,
+ decode_sasl_response_els(__TopXMLNS, __IgnoreEls, _els,
<<Text/binary, _data/binary>>);
-decode_sasl_response_els(__TopXMLNS, [_ | _els],
- Text) ->
- decode_sasl_response_els(__TopXMLNS, _els, Text).
+decode_sasl_response_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Text) ->
+ decode_sasl_response_els(__TopXMLNS, __IgnoreEls, _els,
+ Text).
encode_sasl_response({sasl_response, Text},
_xmlns_attrs) ->
encode_sasl_response_cdata(_val, _acc) ->
[{xmlcdata, base64:encode(_val)} | _acc].
-decode_sasl_challenge(__TopXMLNS,
+decode_sasl_challenge(__TopXMLNS, __IgnoreEls,
{xmlel, <<"challenge">>, _attrs, _els}) ->
- Text = decode_sasl_challenge_els(__TopXMLNS, _els,
- <<>>),
+ Text = decode_sasl_challenge_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
{sasl_challenge, Text}.
-decode_sasl_challenge_els(__TopXMLNS, [], Text) ->
+decode_sasl_challenge_els(__TopXMLNS, __IgnoreEls, [],
+ Text) ->
decode_sasl_challenge_cdata(__TopXMLNS, Text);
-decode_sasl_challenge_els(__TopXMLNS,
+decode_sasl_challenge_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Text) ->
- decode_sasl_challenge_els(__TopXMLNS, _els,
+ decode_sasl_challenge_els(__TopXMLNS, __IgnoreEls, _els,
<<Text/binary, _data/binary>>);
-decode_sasl_challenge_els(__TopXMLNS, [_ | _els],
- Text) ->
- decode_sasl_challenge_els(__TopXMLNS, _els, Text).
+decode_sasl_challenge_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Text) ->
+ decode_sasl_challenge_els(__TopXMLNS, __IgnoreEls, _els,
+ Text).
encode_sasl_challenge({sasl_challenge, Text},
_xmlns_attrs) ->
encode_sasl_challenge_cdata(_val, _acc) ->
[{xmlcdata, base64:encode(_val)} | _acc].
-decode_sasl_abort(__TopXMLNS,
+decode_sasl_abort(__TopXMLNS, __IgnoreEls,
{xmlel, <<"abort">>, _attrs, _els}) ->
{sasl_abort}.
_attrs = _xmlns_attrs,
{xmlel, <<"abort">>, _attrs, _els}.
-decode_sasl_auth(__TopXMLNS,
+decode_sasl_auth(__TopXMLNS, __IgnoreEls,
{xmlel, <<"auth">>, _attrs, _els}) ->
- Text = decode_sasl_auth_els(__TopXMLNS, _els, <<>>),
+ Text = decode_sasl_auth_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Mechanism = decode_sasl_auth_attrs(__TopXMLNS, _attrs,
undefined),
{sasl_auth, Mechanism, Text}.
-decode_sasl_auth_els(__TopXMLNS, [], Text) ->
+decode_sasl_auth_els(__TopXMLNS, __IgnoreEls, [],
+ Text) ->
decode_sasl_auth_cdata(__TopXMLNS, Text);
-decode_sasl_auth_els(__TopXMLNS,
+decode_sasl_auth_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Text) ->
- decode_sasl_auth_els(__TopXMLNS, _els,
+ decode_sasl_auth_els(__TopXMLNS, __IgnoreEls, _els,
<<Text/binary, _data/binary>>);
-decode_sasl_auth_els(__TopXMLNS, [_ | _els], Text) ->
- decode_sasl_auth_els(__TopXMLNS, _els, Text).
+decode_sasl_auth_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Text) ->
+ decode_sasl_auth_els(__TopXMLNS, __IgnoreEls, _els,
+ Text).
decode_sasl_auth_attrs(__TopXMLNS,
[{<<"mechanism">>, _val} | _attrs], _Mechanism) ->
encode_sasl_auth_cdata(_val, _acc) ->
[{xmlcdata, base64:encode(_val)} | _acc].
-decode_bind(__TopXMLNS,
+decode_bind(__TopXMLNS, __IgnoreEls,
{xmlel, <<"bind">>, _attrs, _els}) ->
- {Jid, Resource} = decode_bind_els(__TopXMLNS, _els,
- undefined, undefined),
+ {Jid, Resource} = decode_bind_els(__TopXMLNS,
+ __IgnoreEls, _els, undefined, undefined),
{bind, Jid, Resource}.
-decode_bind_els(__TopXMLNS, [], Jid, Resource) ->
+decode_bind_els(__TopXMLNS, __IgnoreEls, [], Jid,
+ Resource) ->
{Jid, Resource};
-decode_bind_els(__TopXMLNS,
+decode_bind_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"jid">>, _attrs, _} = _el | _els], Jid,
Resource) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_bind_els(__TopXMLNS, _els,
- decode_bind_jid(__TopXMLNS, _el), Resource);
- true -> decode_bind_els(__TopXMLNS, _els, Jid, Resource)
+ decode_bind_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_bind_jid(__TopXMLNS, __IgnoreEls, _el),
+ Resource);
+ true ->
+ decode_bind_els(__TopXMLNS, __IgnoreEls, _els, Jid,
+ Resource)
end;
-decode_bind_els(__TopXMLNS,
+decode_bind_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"resource">>, _attrs, _} = _el | _els], Jid,
Resource) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_bind_els(__TopXMLNS, _els, Jid,
- decode_bind_resource(__TopXMLNS, _el));
- true -> decode_bind_els(__TopXMLNS, _els, Jid, Resource)
+ decode_bind_els(__TopXMLNS, __IgnoreEls, _els, Jid,
+ decode_bind_resource(__TopXMLNS, __IgnoreEls, _el));
+ true ->
+ decode_bind_els(__TopXMLNS, __IgnoreEls, _els, Jid,
+ Resource)
end;
-decode_bind_els(__TopXMLNS, [_ | _els], Jid,
- Resource) ->
- decode_bind_els(__TopXMLNS, _els, Jid, Resource).
+decode_bind_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Jid, Resource) ->
+ decode_bind_els(__TopXMLNS, __IgnoreEls, _els, Jid,
+ Resource).
encode_bind({bind, Jid, Resource}, _xmlns_attrs) ->
- _els = 'encode_bind_$resource'(Resource,
- 'encode_bind_$jid'(Jid, [])),
+ _els = lists:reverse('encode_bind_$jid'(Jid,
+ 'encode_bind_$resource'(Resource,
+ []))),
_attrs = _xmlns_attrs,
{xmlel, <<"bind">>, _attrs, _els}.
'encode_bind_$resource'(Resource, _acc) ->
[encode_bind_resource(Resource, []) | _acc].
-decode_bind_resource(__TopXMLNS,
+decode_bind_resource(__TopXMLNS, __IgnoreEls,
{xmlel, <<"resource">>, _attrs, _els}) ->
- Cdata = decode_bind_resource_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_bind_resource_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_bind_resource_els(__TopXMLNS, [], Cdata) ->
+decode_bind_resource_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_bind_resource_cdata(__TopXMLNS, Cdata);
-decode_bind_resource_els(__TopXMLNS,
+decode_bind_resource_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_bind_resource_els(__TopXMLNS, _els,
+ decode_bind_resource_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_bind_resource_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_bind_resource_els(__TopXMLNS, _els, Cdata).
+decode_bind_resource_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_bind_resource_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_bind_resource(Cdata, _xmlns_attrs) ->
_els = encode_bind_resource_cdata(Cdata, []),
encode_bind_resource_cdata(_val, _acc) ->
[{xmlcdata, resourceprep(_val)} | _acc].
-decode_bind_jid(__TopXMLNS,
+decode_bind_jid(__TopXMLNS, __IgnoreEls,
{xmlel, <<"jid">>, _attrs, _els}) ->
- Cdata = decode_bind_jid_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_bind_jid_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_bind_jid_els(__TopXMLNS, [], Cdata) ->
+decode_bind_jid_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_bind_jid_cdata(__TopXMLNS, Cdata);
-decode_bind_jid_els(__TopXMLNS,
+decode_bind_jid_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_bind_jid_els(__TopXMLNS, _els,
+ decode_bind_jid_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_bind_jid_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_bind_jid_els(__TopXMLNS, _els, Cdata).
+decode_bind_jid_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Cdata) ->
+ decode_bind_jid_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_bind_jid(Cdata, _xmlns_attrs) ->
_els = encode_bind_jid_cdata(Cdata, []),
encode_bind_jid_cdata(_val, _acc) ->
[{xmlcdata, enc_jid(_val)} | _acc].
-decode_error(__TopXMLNS,
+decode_error(__TopXMLNS, __IgnoreEls,
{xmlel, <<"error">>, _attrs, _els}) ->
- {Text, Reason} = decode_error_els(__TopXMLNS, _els,
- undefined, undefined),
+ {Text, Reason} = decode_error_els(__TopXMLNS,
+ __IgnoreEls, _els, undefined, undefined),
{Type, By} = decode_error_attrs(__TopXMLNS, _attrs,
undefined, undefined),
{error, Type, By, Reason, Text}.
-decode_error_els(__TopXMLNS, [], Text, Reason) ->
+decode_error_els(__TopXMLNS, __IgnoreEls, [], Text,
+ Reason) ->
{Text, Reason};
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"text">>, _attrs, _} = _el | _els], Text,
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els,
- decode_error_text(_xmlns, _el), Reason);
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error_text(_xmlns, __IgnoreEls, _el),
+ Reason);
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"bad-request">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_bad_request(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_bad_request(_xmlns, __IgnoreEls, _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"conflict">>, _attrs, _} = _el | _els], Text,
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_conflict(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_conflict(_xmlns, __IgnoreEls, _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"feature-not-implemented">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_feature_not_implemented(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_feature_not_implemented(_xmlns,
+ __IgnoreEls,
+ _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"forbidden">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_forbidden(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_forbidden(_xmlns, __IgnoreEls, _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"gone">>, _attrs, _} = _el | _els], Text,
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_gone(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_gone(_xmlns, __IgnoreEls, _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"internal-server-error">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_internal_server_error(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_internal_server_error(_xmlns,
+ __IgnoreEls,
+ _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item-not-found">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_item_not_found(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_item_not_found(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"jid-malformed">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_jid_malformed(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_jid_malformed(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"not-acceptable">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_not_acceptable(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_not_acceptable(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"not-allowed">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_not_allowed(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_not_allowed(_xmlns, __IgnoreEls, _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"not-authorized">>, _attrs, _} = _el | _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_not_authorized(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_not_authorized(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"policy-violation">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_policy_violation(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_policy_violation(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"recipient-unavailable">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_recipient_unavailable(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_recipient_unavailable(_xmlns,
+ __IgnoreEls,
+ _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"redirect">>, _attrs, _} = _el | _els], Text,
Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_redirect(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_redirect(_xmlns, __IgnoreEls, _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"registration-required">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_registration_required(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_registration_required(_xmlns,
+ __IgnoreEls,
+ _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"remote-server-not-found">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_remote_server_not_found(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_remote_server_not_found(_xmlns,
+ __IgnoreEls,
+ _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"remote-server-timeout">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_remote_server_timeout(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_remote_server_timeout(_xmlns,
+ __IgnoreEls,
+ _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"resource-constraint">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_resource_constraint(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_resource_constraint(_xmlns,
+ __IgnoreEls, _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"service-unavailable">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_service_unavailable(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_service_unavailable(_xmlns,
+ __IgnoreEls, _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"subscription-required">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_subscription_required(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_subscription_required(_xmlns,
+ __IgnoreEls,
+ _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"undefined-condition">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_undefined_condition(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_undefined_condition(_xmlns,
+ __IgnoreEls, _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS,
+decode_error_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"unexpected-request">>, _attrs, _} = _el
| _els],
Text, Reason) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns ==
<<"urn:ietf:params:xml:ns:xmpp-stanzas">> ->
- decode_error_els(__TopXMLNS, _els, Text,
- decode_error_unexpected_request(_xmlns, _el));
- true -> decode_error_els(__TopXMLNS, _els, Text, Reason)
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ decode_error_unexpected_request(_xmlns, __IgnoreEls,
+ _el));
+ true ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason)
end;
-decode_error_els(__TopXMLNS, [_ | _els], Text,
- Reason) ->
- decode_error_els(__TopXMLNS, _els, Text, Reason).
+decode_error_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Text, Reason) ->
+ decode_error_els(__TopXMLNS, __IgnoreEls, _els, Text,
+ Reason).
decode_error_attrs(__TopXMLNS,
[{<<"type">>, _val} | _attrs], _Type, By) ->
encode_error({error, Type, By, Reason, Text},
_xmlns_attrs) ->
- _els = 'encode_error_$reason'(Reason,
- 'encode_error_$text'(Text, [])),
+ _els = lists:reverse('encode_error_$text'(Text,
+ 'encode_error_$reason'(Reason,
+ []))),
_attrs = encode_error_attr_by(By,
encode_error_attr_type(Type, _xmlns_attrs)),
{xmlel, <<"error">>, _attrs, _els}.
encode_error_attr_by(_val, _acc) ->
[{<<"by">>, _val} | _acc].
-decode_error_text(__TopXMLNS,
+decode_error_text(__TopXMLNS, __IgnoreEls,
{xmlel, <<"text">>, _attrs, _els}) ->
- Data = decode_error_text_els(__TopXMLNS, _els, <<>>),
+ Data = decode_error_text_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Lang = decode_error_text_attrs(__TopXMLNS, _attrs,
undefined),
{text, Lang, Data}.
-decode_error_text_els(__TopXMLNS, [], Data) ->
+decode_error_text_els(__TopXMLNS, __IgnoreEls, [],
+ Data) ->
decode_error_text_cdata(__TopXMLNS, Data);
-decode_error_text_els(__TopXMLNS,
+decode_error_text_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Data) ->
- decode_error_text_els(__TopXMLNS, _els,
+ decode_error_text_els(__TopXMLNS, __IgnoreEls, _els,
<<Data/binary, _data/binary>>);
-decode_error_text_els(__TopXMLNS, [_ | _els], Data) ->
- decode_error_text_els(__TopXMLNS, _els, Data).
+decode_error_text_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Data) ->
+ decode_error_text_els(__TopXMLNS, __IgnoreEls, _els,
+ Data).
decode_error_text_attrs(__TopXMLNS,
[{<<"xml:lang">>, _val} | _attrs], _Lang) ->
encode_error_text_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_error_unexpected_request(__TopXMLNS,
+decode_error_unexpected_request(__TopXMLNS, __IgnoreEls,
{xmlel, <<"unexpected-request">>, _attrs,
_els}) ->
'unexpected-request'.
{xmlel, <<"unexpected-request">>, _attrs, _els}.
decode_error_undefined_condition(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"undefined-condition">>, _attrs,
_els}) ->
'undefined-condition'.
{xmlel, <<"undefined-condition">>, _attrs, _els}.
decode_error_subscription_required(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"subscription-required">>, _attrs,
_els}) ->
'subscription-required'.
{xmlel, <<"subscription-required">>, _attrs, _els}.
decode_error_service_unavailable(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"service-unavailable">>, _attrs,
_els}) ->
'service-unavailable'.
{xmlel, <<"service-unavailable">>, _attrs, _els}.
decode_error_resource_constraint(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"resource-constraint">>, _attrs,
_els}) ->
'resource-constraint'.
{xmlel, <<"resource-constraint">>, _attrs, _els}.
decode_error_remote_server_timeout(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"remote-server-timeout">>, _attrs,
_els}) ->
'remote-server-timeout'.
{xmlel, <<"remote-server-timeout">>, _attrs, _els}.
decode_error_remote_server_not_found(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"remote-server-not-found">>,
_attrs, _els}) ->
'remote-server-not-found'.
{xmlel, <<"remote-server-not-found">>, _attrs, _els}.
decode_error_registration_required(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"registration-required">>, _attrs,
_els}) ->
'registration-required'.
_attrs = _xmlns_attrs,
{xmlel, <<"registration-required">>, _attrs, _els}.
-decode_error_redirect(__TopXMLNS,
+decode_error_redirect(__TopXMLNS, __IgnoreEls,
{xmlel, <<"redirect">>, _attrs, _els}) ->
- Uri = decode_error_redirect_els(__TopXMLNS, _els, <<>>),
+ Uri = decode_error_redirect_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
{redirect, Uri}.
-decode_error_redirect_els(__TopXMLNS, [], Uri) ->
+decode_error_redirect_els(__TopXMLNS, __IgnoreEls, [],
+ Uri) ->
decode_error_redirect_cdata(__TopXMLNS, Uri);
-decode_error_redirect_els(__TopXMLNS,
+decode_error_redirect_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Uri) ->
- decode_error_redirect_els(__TopXMLNS, _els,
+ decode_error_redirect_els(__TopXMLNS, __IgnoreEls, _els,
<<Uri/binary, _data/binary>>);
-decode_error_redirect_els(__TopXMLNS, [_ | _els],
- Uri) ->
- decode_error_redirect_els(__TopXMLNS, _els, Uri).
+decode_error_redirect_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Uri) ->
+ decode_error_redirect_els(__TopXMLNS, __IgnoreEls, _els,
+ Uri).
encode_error_redirect({redirect, Uri}, _xmlns_attrs) ->
_els = encode_error_redirect_cdata(Uri, []),
[{xmlcdata, _val} | _acc].
decode_error_recipient_unavailable(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"recipient-unavailable">>, _attrs,
_els}) ->
'recipient-unavailable'.
_attrs = _xmlns_attrs,
{xmlel, <<"recipient-unavailable">>, _attrs, _els}.
-decode_error_policy_violation(__TopXMLNS,
+decode_error_policy_violation(__TopXMLNS, __IgnoreEls,
{xmlel, <<"policy-violation">>, _attrs, _els}) ->
'policy-violation'.
_attrs = _xmlns_attrs,
{xmlel, <<"policy-violation">>, _attrs, _els}.
-decode_error_not_authorized(__TopXMLNS,
+decode_error_not_authorized(__TopXMLNS, __IgnoreEls,
{xmlel, <<"not-authorized">>, _attrs, _els}) ->
'not-authorized'.
_attrs = _xmlns_attrs,
{xmlel, <<"not-authorized">>, _attrs, _els}.
-decode_error_not_allowed(__TopXMLNS,
+decode_error_not_allowed(__TopXMLNS, __IgnoreEls,
{xmlel, <<"not-allowed">>, _attrs, _els}) ->
'not-allowed'.
_attrs = _xmlns_attrs,
{xmlel, <<"not-allowed">>, _attrs, _els}.
-decode_error_not_acceptable(__TopXMLNS,
+decode_error_not_acceptable(__TopXMLNS, __IgnoreEls,
{xmlel, <<"not-acceptable">>, _attrs, _els}) ->
'not-acceptable'.
_attrs = _xmlns_attrs,
{xmlel, <<"not-acceptable">>, _attrs, _els}.
-decode_error_jid_malformed(__TopXMLNS,
+decode_error_jid_malformed(__TopXMLNS, __IgnoreEls,
{xmlel, <<"jid-malformed">>, _attrs, _els}) ->
'jid-malformed'.
_attrs = _xmlns_attrs,
{xmlel, <<"jid-malformed">>, _attrs, _els}.
-decode_error_item_not_found(__TopXMLNS,
+decode_error_item_not_found(__TopXMLNS, __IgnoreEls,
{xmlel, <<"item-not-found">>, _attrs, _els}) ->
'item-not-found'.
{xmlel, <<"item-not-found">>, _attrs, _els}.
decode_error_internal_server_error(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"internal-server-error">>, _attrs,
_els}) ->
'internal-server-error'.
_attrs = _xmlns_attrs,
{xmlel, <<"internal-server-error">>, _attrs, _els}.
-decode_error_gone(__TopXMLNS,
+decode_error_gone(__TopXMLNS, __IgnoreEls,
{xmlel, <<"gone">>, _attrs, _els}) ->
- Uri = decode_error_gone_els(__TopXMLNS, _els, <<>>),
+ Uri = decode_error_gone_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
{gone, Uri}.
-decode_error_gone_els(__TopXMLNS, [], Uri) ->
+decode_error_gone_els(__TopXMLNS, __IgnoreEls, [],
+ Uri) ->
decode_error_gone_cdata(__TopXMLNS, Uri);
-decode_error_gone_els(__TopXMLNS,
+decode_error_gone_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Uri) ->
- decode_error_gone_els(__TopXMLNS, _els,
+ decode_error_gone_els(__TopXMLNS, __IgnoreEls, _els,
<<Uri/binary, _data/binary>>);
-decode_error_gone_els(__TopXMLNS, [_ | _els], Uri) ->
- decode_error_gone_els(__TopXMLNS, _els, Uri).
+decode_error_gone_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Uri) ->
+ decode_error_gone_els(__TopXMLNS, __IgnoreEls, _els,
+ Uri).
encode_error_gone({gone, Uri}, _xmlns_attrs) ->
_els = encode_error_gone_cdata(Uri, []),
encode_error_gone_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_error_forbidden(__TopXMLNS,
+decode_error_forbidden(__TopXMLNS, __IgnoreEls,
{xmlel, <<"forbidden">>, _attrs, _els}) ->
forbidden.
{xmlel, <<"forbidden">>, _attrs, _els}.
decode_error_feature_not_implemented(__TopXMLNS,
+ __IgnoreEls,
{xmlel, <<"feature-not-implemented">>,
_attrs, _els}) ->
'feature-not-implemented'.
_attrs = _xmlns_attrs,
{xmlel, <<"feature-not-implemented">>, _attrs, _els}.
-decode_error_conflict(__TopXMLNS,
+decode_error_conflict(__TopXMLNS, __IgnoreEls,
{xmlel, <<"conflict">>, _attrs, _els}) ->
conflict.
_attrs = _xmlns_attrs,
{xmlel, <<"conflict">>, _attrs, _els}.
-decode_error_bad_request(__TopXMLNS,
+decode_error_bad_request(__TopXMLNS, __IgnoreEls,
{xmlel, <<"bad-request">>, _attrs, _els}) ->
'bad-request'.
_attrs = _xmlns_attrs,
{xmlel, <<"bad-request">>, _attrs, _els}.
-decode_presence(__TopXMLNS,
+decode_presence(__TopXMLNS, __IgnoreEls,
{xmlel, <<"presence">>, _attrs, _els}) ->
{Error, Status, Show, Priority, __Els} =
- decode_presence_els(__TopXMLNS, _els, undefined, [],
- undefined, undefined, []),
+ decode_presence_els(__TopXMLNS, __IgnoreEls, _els,
+ undefined, [], undefined, undefined, []),
{Id, Type, From, To, Lang} =
decode_presence_attrs(__TopXMLNS, _attrs, undefined,
undefined, undefined, undefined, undefined),
{presence, Id, Type, Lang, From, To, Show, Status,
Priority, Error, __Els}.
-decode_presence_els(__TopXMLNS, [], Error, Status, Show,
- Priority, __Els) ->
+decode_presence_els(__TopXMLNS, __IgnoreEls, [], Error,
+ Status, Show, Priority, __Els) ->
{Error, lists:reverse(Status), Show, Priority,
lists:reverse(__Els)};
-decode_presence_els(__TopXMLNS,
+decode_presence_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"error">>, _attrs, _} = _el | _els], Error,
Status, Show, Priority, __Els) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_presence_els(__TopXMLNS, _els,
- decode_error(__TopXMLNS, _el), Status, Show,
- Priority, __Els);
+ decode_presence_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error(__TopXMLNS, __IgnoreEls, _el),
+ Status, Show, Priority, __Els);
true ->
- decode_presence_els(__TopXMLNS, _els, Error, Status,
- Show, Priority, __Els)
+ decode_presence_els(__TopXMLNS, __IgnoreEls, _els,
+ Error, Status, Show, Priority, __Els)
end;
-decode_presence_els(__TopXMLNS,
+decode_presence_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"show">>, _attrs, _} = _el | _els], Error,
Status, Show, Priority, __Els) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_presence_els(__TopXMLNS, _els, Error, Status,
- decode_presence_show(__TopXMLNS, _el), Priority,
- __Els);
+ decode_presence_els(__TopXMLNS, __IgnoreEls, _els,
+ Error, Status,
+ decode_presence_show(__TopXMLNS, __IgnoreEls,
+ _el),
+ Priority, __Els);
true ->
- decode_presence_els(__TopXMLNS, _els, Error, Status,
- Show, Priority, __Els)
+ decode_presence_els(__TopXMLNS, __IgnoreEls, _els,
+ Error, Status, Show, Priority, __Els)
end;
-decode_presence_els(__TopXMLNS,
+decode_presence_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"status">>, _attrs, _} = _el | _els], Error,
Status, Show, Priority, __Els) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_presence_els(__TopXMLNS, _els, Error,
- [decode_presence_status(__TopXMLNS, _el)
+ decode_presence_els(__TopXMLNS, __IgnoreEls, _els,
+ Error,
+ [decode_presence_status(__TopXMLNS, __IgnoreEls,
+ _el)
| Status],
Show, Priority, __Els);
true ->
- decode_presence_els(__TopXMLNS, _els, Error, Status,
- Show, Priority, __Els)
+ decode_presence_els(__TopXMLNS, __IgnoreEls, _els,
+ Error, Status, Show, Priority, __Els)
end;
-decode_presence_els(__TopXMLNS,
+decode_presence_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"priority">>, _attrs, _} = _el | _els],
Error, Status, Show, Priority, __Els) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_presence_els(__TopXMLNS, _els, Error, Status,
- Show, decode_presence_priority(__TopXMLNS, _el),
+ decode_presence_els(__TopXMLNS, __IgnoreEls, _els,
+ Error, Status, Show,
+ decode_presence_priority(__TopXMLNS, __IgnoreEls,
+ _el),
__Els);
true ->
- decode_presence_els(__TopXMLNS, _els, Error, Status,
- Show, Priority, __Els)
+ decode_presence_els(__TopXMLNS, __IgnoreEls, _els,
+ Error, Status, Show, Priority, __Els)
end;
-decode_presence_els(__TopXMLNS,
+decode_presence_els(__TopXMLNS, __IgnoreEls,
[{xmlel, _, _, _} = _el | _els], Error, Status, Show,
Priority, __Els) ->
- case is_known_tag(_el) of
- true ->
- decode_presence_els(__TopXMLNS, _els, Error, Status,
- Show, Priority, [decode(_el) | __Els]);
- false ->
- decode_presence_els(__TopXMLNS, _els, Error, Status,
- Show, Priority, __Els)
- end;
-decode_presence_els(__TopXMLNS, [_ | _els], Error,
- Status, Show, Priority, __Els) ->
- decode_presence_els(__TopXMLNS, _els, Error, Status,
- Show, Priority, __Els).
+ if __IgnoreEls ->
+ decode_presence_els(__TopXMLNS, __IgnoreEls, _els,
+ Error, Status, Show, Priority, [_el | __Els]);
+ true ->
+ case is_known_tag(_el) of
+ true ->
+ decode_presence_els(__TopXMLNS, __IgnoreEls, _els,
+ Error, Status, Show, Priority,
+ [decode(_el) | __Els]);
+ false ->
+ decode_presence_els(__TopXMLNS, __IgnoreEls, _els,
+ Error, Status, Show, Priority, __Els)
+ end
+ end;
+decode_presence_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Error, Status, Show, Priority, __Els) ->
+ decode_presence_els(__TopXMLNS, __IgnoreEls, _els,
+ Error, Status, Show, Priority, __Els).
decode_presence_attrs(__TopXMLNS,
[{<<"id">>, _val} | _attrs], _Id, Type, From, To,
encode_presence({presence, Id, Type, Lang, From, To,
Show, Status, Priority, Error, __Els},
_xmlns_attrs) ->
- _els = 'encode_presence_$priority'(Priority,
- 'encode_presence_$show'(Show,
- 'encode_presence_$status'(Status,
- 'encode_presence_$error'(Error,
- [encode(_el)
- || _el
- <- __Els])))),
+ _els = [encode(_el) || _el <- __Els] ++
+ lists:reverse('encode_presence_$error'(Error,
+ 'encode_presence_$status'(Status,
+ 'encode_presence_$show'(Show,
+ 'encode_presence_$priority'(Priority,
+ []))))),
_attrs = 'encode_presence_attr_xml:lang'(Lang,
encode_presence_attr_to(To,
encode_presence_attr_from(From,
'encode_presence_attr_xml:lang'(_val, _acc) ->
[{<<"xml:lang">>, _val} | _acc].
-decode_presence_priority(__TopXMLNS,
+decode_presence_priority(__TopXMLNS, __IgnoreEls,
{xmlel, <<"priority">>, _attrs, _els}) ->
- Cdata = decode_presence_priority_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_presence_priority_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_presence_priority_els(__TopXMLNS, [], Cdata) ->
+decode_presence_priority_els(__TopXMLNS, __IgnoreEls,
+ [], Cdata) ->
decode_presence_priority_cdata(__TopXMLNS, Cdata);
-decode_presence_priority_els(__TopXMLNS,
+decode_presence_priority_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_presence_priority_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_presence_priority_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_presence_priority_els(__TopXMLNS, _els, Cdata).
+ decode_presence_priority_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_presence_priority_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_presence_priority_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_presence_priority(Cdata, _xmlns_attrs) ->
_els = encode_presence_priority_cdata(Cdata, []),
encode_presence_priority_cdata(_val, _acc) ->
[{xmlcdata, enc_int(_val)} | _acc].
-decode_presence_status(__TopXMLNS,
+decode_presence_status(__TopXMLNS, __IgnoreEls,
{xmlel, <<"status">>, _attrs, _els}) ->
- Data = decode_presence_status_els(__TopXMLNS, _els,
- <<>>),
+ Data = decode_presence_status_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Lang = decode_presence_status_attrs(__TopXMLNS, _attrs,
undefined),
{text, Lang, Data}.
-decode_presence_status_els(__TopXMLNS, [], Data) ->
+decode_presence_status_els(__TopXMLNS, __IgnoreEls, [],
+ Data) ->
decode_presence_status_cdata(__TopXMLNS, Data);
-decode_presence_status_els(__TopXMLNS,
+decode_presence_status_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Data) ->
- decode_presence_status_els(__TopXMLNS, _els,
- <<Data/binary, _data/binary>>);
-decode_presence_status_els(__TopXMLNS, [_ | _els],
- Data) ->
- decode_presence_status_els(__TopXMLNS, _els, Data).
+ decode_presence_status_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Data/binary, _data/binary>>);
+decode_presence_status_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Data) ->
+ decode_presence_status_els(__TopXMLNS, __IgnoreEls,
+ _els, Data).
decode_presence_status_attrs(__TopXMLNS,
[{<<"xml:lang">>, _val} | _attrs], _Lang) ->
encode_presence_status_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_presence_show(__TopXMLNS,
+decode_presence_show(__TopXMLNS, __IgnoreEls,
{xmlel, <<"show">>, _attrs, _els}) ->
- Cdata = decode_presence_show_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_presence_show_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_presence_show_els(__TopXMLNS, [], Cdata) ->
+decode_presence_show_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_presence_show_cdata(__TopXMLNS, Cdata);
-decode_presence_show_els(__TopXMLNS,
+decode_presence_show_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_presence_show_els(__TopXMLNS, _els,
+ decode_presence_show_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_presence_show_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_presence_show_els(__TopXMLNS, _els, Cdata).
+decode_presence_show_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_presence_show_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_presence_show(Cdata, _xmlns_attrs) ->
_els = encode_presence_show_cdata(Cdata, []),
encode_presence_show_cdata(_val, _acc) ->
[{xmlcdata, enc_enum(_val)} | _acc].
-decode_message(__TopXMLNS,
+decode_message(__TopXMLNS, __IgnoreEls,
{xmlel, <<"message">>, _attrs, _els}) ->
{Error, Thread, Subject, Body, __Els} =
- decode_message_els(__TopXMLNS, _els, undefined,
- undefined, [], [], []),
+ decode_message_els(__TopXMLNS, __IgnoreEls, _els,
+ undefined, undefined, [], [], []),
{Id, Type, From, To, Lang} =
decode_message_attrs(__TopXMLNS, _attrs, undefined,
undefined, undefined, undefined, undefined),
{message, Id, Type, Lang, From, To, Subject, Body,
Thread, Error, __Els}.
-decode_message_els(__TopXMLNS, [], Error, Thread,
- Subject, Body, __Els) ->
+decode_message_els(__TopXMLNS, __IgnoreEls, [], Error,
+ Thread, Subject, Body, __Els) ->
{Error, Thread, lists:reverse(Subject),
lists:reverse(Body), lists:reverse(__Els)};
-decode_message_els(__TopXMLNS,
+decode_message_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"error">>, _attrs, _} = _el | _els], Error,
Thread, Subject, Body, __Els) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_message_els(__TopXMLNS, _els,
- decode_error(__TopXMLNS, _el), Thread, Subject,
- Body, __Els);
+ decode_message_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error(__TopXMLNS, __IgnoreEls, _el),
+ Thread, Subject, Body, __Els);
true ->
- decode_message_els(__TopXMLNS, _els, Error, Thread,
- Subject, Body, __Els)
+ decode_message_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ Thread, Subject, Body, __Els)
end;
-decode_message_els(__TopXMLNS,
+decode_message_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"subject">>, _attrs, _} = _el | _els], Error,
Thread, Subject, Body, __Els) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_message_els(__TopXMLNS, _els, Error, Thread,
- [decode_message_subject(__TopXMLNS, _el)
+ decode_message_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ Thread,
+ [decode_message_subject(__TopXMLNS, __IgnoreEls,
+ _el)
| Subject],
Body, __Els);
true ->
- decode_message_els(__TopXMLNS, _els, Error, Thread,
- Subject, Body, __Els)
+ decode_message_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ Thread, Subject, Body, __Els)
end;
-decode_message_els(__TopXMLNS,
+decode_message_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"thread">>, _attrs, _} = _el | _els], Error,
Thread, Subject, Body, __Els) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_message_els(__TopXMLNS, _els, Error,
- decode_message_thread(__TopXMLNS, _el), Subject,
- Body, __Els);
+ decode_message_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ decode_message_thread(__TopXMLNS, __IgnoreEls,
+ _el),
+ Subject, Body, __Els);
true ->
- decode_message_els(__TopXMLNS, _els, Error, Thread,
- Subject, Body, __Els)
+ decode_message_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ Thread, Subject, Body, __Els)
end;
-decode_message_els(__TopXMLNS,
+decode_message_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"body">>, _attrs, _} = _el | _els], Error,
Thread, Subject, Body, __Els) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_message_els(__TopXMLNS, _els, Error, Thread,
- Subject,
- [decode_message_body(__TopXMLNS, _el) | Body],
+ decode_message_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ Thread, Subject,
+ [decode_message_body(__TopXMLNS, __IgnoreEls, _el)
+ | Body],
__Els);
true ->
- decode_message_els(__TopXMLNS, _els, Error, Thread,
- Subject, Body, __Els)
+ decode_message_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ Thread, Subject, Body, __Els)
end;
-decode_message_els(__TopXMLNS,
+decode_message_els(__TopXMLNS, __IgnoreEls,
[{xmlel, _, _, _} = _el | _els], Error, Thread, Subject,
Body, __Els) ->
- case is_known_tag(_el) of
- true ->
- decode_message_els(__TopXMLNS, _els, Error, Thread,
- Subject, Body, [decode(_el) | __Els]);
- false ->
- decode_message_els(__TopXMLNS, _els, Error, Thread,
- Subject, Body, __Els)
- end;
-decode_message_els(__TopXMLNS, [_ | _els], Error,
- Thread, Subject, Body, __Els) ->
- decode_message_els(__TopXMLNS, _els, Error, Thread,
- Subject, Body, __Els).
+ if __IgnoreEls ->
+ decode_message_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ Thread, Subject, Body, [_el | __Els]);
+ true ->
+ case is_known_tag(_el) of
+ true ->
+ decode_message_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ Thread, Subject, Body,
+ [decode(_el) | __Els]);
+ false ->
+ decode_message_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ Thread, Subject, Body, __Els)
+ end
+ end;
+decode_message_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Error, Thread, Subject, Body, __Els) ->
+ decode_message_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ Thread, Subject, Body, __Els).
decode_message_attrs(__TopXMLNS,
[{<<"id">>, _val} | _attrs], _Id, Type, From, To,
encode_message({message, Id, Type, Lang, From, To,
Subject, Body, Thread, Error, __Els},
_xmlns_attrs) ->
- _els = 'encode_message_$body'(Body,
- 'encode_message_$subject'(Subject,
- 'encode_message_$thread'(Thread,
- 'encode_message_$error'(Error,
- [encode(_el)
- || _el
- <- __Els])))),
+ _els = [encode(_el) || _el <- __Els] ++
+ lists:reverse('encode_message_$error'(Error,
+ 'encode_message_$thread'(Thread,
+ 'encode_message_$subject'(Subject,
+ 'encode_message_$body'(Body,
+ []))))),
_attrs = 'encode_message_attr_xml:lang'(Lang,
encode_message_attr_to(To,
encode_message_attr_from(From,
'encode_message_attr_xml:lang'(_val, _acc) ->
[{<<"xml:lang">>, _val} | _acc].
-decode_message_thread(__TopXMLNS,
+decode_message_thread(__TopXMLNS, __IgnoreEls,
{xmlel, <<"thread">>, _attrs, _els}) ->
- Cdata = decode_message_thread_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_message_thread_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_message_thread_els(__TopXMLNS, [], Cdata) ->
+decode_message_thread_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_message_thread_cdata(__TopXMLNS, Cdata);
-decode_message_thread_els(__TopXMLNS,
+decode_message_thread_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_message_thread_els(__TopXMLNS, _els,
+ decode_message_thread_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_message_thread_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_message_thread_els(__TopXMLNS, _els, Cdata).
+decode_message_thread_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_message_thread_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_message_thread(Cdata, _xmlns_attrs) ->
_els = encode_message_thread_cdata(Cdata, []),
encode_message_thread_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_message_body(__TopXMLNS,
+decode_message_body(__TopXMLNS, __IgnoreEls,
{xmlel, <<"body">>, _attrs, _els}) ->
- Data = decode_message_body_els(__TopXMLNS, _els, <<>>),
+ Data = decode_message_body_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Lang = decode_message_body_attrs(__TopXMLNS, _attrs,
undefined),
{text, Lang, Data}.
-decode_message_body_els(__TopXMLNS, [], Data) ->
+decode_message_body_els(__TopXMLNS, __IgnoreEls, [],
+ Data) ->
decode_message_body_cdata(__TopXMLNS, Data);
-decode_message_body_els(__TopXMLNS,
+decode_message_body_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Data) ->
- decode_message_body_els(__TopXMLNS, _els,
+ decode_message_body_els(__TopXMLNS, __IgnoreEls, _els,
<<Data/binary, _data/binary>>);
-decode_message_body_els(__TopXMLNS, [_ | _els], Data) ->
- decode_message_body_els(__TopXMLNS, _els, Data).
+decode_message_body_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Data) ->
+ decode_message_body_els(__TopXMLNS, __IgnoreEls, _els,
+ Data).
decode_message_body_attrs(__TopXMLNS,
[{<<"xml:lang">>, _val} | _attrs], _Lang) ->
encode_message_body_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_message_subject(__TopXMLNS,
+decode_message_subject(__TopXMLNS, __IgnoreEls,
{xmlel, <<"subject">>, _attrs, _els}) ->
- Data = decode_message_subject_els(__TopXMLNS, _els,
- <<>>),
+ Data = decode_message_subject_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Lang = decode_message_subject_attrs(__TopXMLNS, _attrs,
undefined),
{text, Lang, Data}.
-decode_message_subject_els(__TopXMLNS, [], Data) ->
+decode_message_subject_els(__TopXMLNS, __IgnoreEls, [],
+ Data) ->
decode_message_subject_cdata(__TopXMLNS, Data);
-decode_message_subject_els(__TopXMLNS,
+decode_message_subject_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Data) ->
- decode_message_subject_els(__TopXMLNS, _els,
- <<Data/binary, _data/binary>>);
-decode_message_subject_els(__TopXMLNS, [_ | _els],
- Data) ->
- decode_message_subject_els(__TopXMLNS, _els, Data).
+ decode_message_subject_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Data/binary, _data/binary>>);
+decode_message_subject_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Data) ->
+ decode_message_subject_els(__TopXMLNS, __IgnoreEls,
+ _els, Data).
decode_message_subject_attrs(__TopXMLNS,
[{<<"xml:lang">>, _val} | _attrs], _Lang) ->
encode_message_subject_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_iq(__TopXMLNS,
+decode_iq(__TopXMLNS, __IgnoreEls,
{xmlel, <<"iq">>, _attrs, _els}) ->
- {Error, __Els} = decode_iq_els(__TopXMLNS, _els,
- undefined, []),
+ {Error, __Els} = decode_iq_els(__TopXMLNS, __IgnoreEls,
+ _els, undefined, []),
{Id, Type, From, To, Lang} = decode_iq_attrs(__TopXMLNS,
_attrs, undefined, undefined,
undefined, undefined,
undefined),
{iq, Id, Type, Lang, From, To, Error, __Els}.
-decode_iq_els(__TopXMLNS, [], Error, __Els) ->
+decode_iq_els(__TopXMLNS, __IgnoreEls, [], Error,
+ __Els) ->
{Error, lists:reverse(__Els)};
-decode_iq_els(__TopXMLNS,
+decode_iq_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"error">>, _attrs, _} = _el | _els], Error,
__Els) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_iq_els(__TopXMLNS, _els,
- decode_error(__TopXMLNS, _el), __Els);
- true -> decode_iq_els(__TopXMLNS, _els, Error, __Els)
+ decode_iq_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_error(__TopXMLNS, __IgnoreEls, _el), __Els);
+ true ->
+ decode_iq_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ __Els)
end;
-decode_iq_els(__TopXMLNS,
+decode_iq_els(__TopXMLNS, __IgnoreEls,
[{xmlel, _, _, _} = _el | _els], Error, __Els) ->
- case is_known_tag(_el) of
- true ->
- decode_iq_els(__TopXMLNS, _els, Error,
- [decode(_el) | __Els]);
- false -> decode_iq_els(__TopXMLNS, _els, Error, __Els)
+ if __IgnoreEls ->
+ decode_iq_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ [_el | __Els]);
+ true ->
+ case is_known_tag(_el) of
+ true ->
+ decode_iq_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ [decode(_el) | __Els]);
+ false ->
+ decode_iq_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ __Els)
+ end
end;
-decode_iq_els(__TopXMLNS, [_ | _els], Error, __Els) ->
- decode_iq_els(__TopXMLNS, _els, Error, __Els).
+decode_iq_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Error, __Els) ->
+ decode_iq_els(__TopXMLNS, __IgnoreEls, _els, Error,
+ __Els).
decode_iq_attrs(__TopXMLNS, [{<<"id">>, _val} | _attrs],
_Id, Type, From, To, Lang) ->
encode_iq({iq, Id, Type, Lang, From, To, Error, __Els},
_xmlns_attrs) ->
- _els = 'encode_iq_$error'(Error,
- [encode(_el) || _el <- __Els]),
+ _els = [encode(_el) || _el <- __Els] ++
+ lists:reverse('encode_iq_$error'(Error, [])),
_attrs = 'encode_iq_attr_xml:lang'(Lang,
encode_iq_attr_to(To,
encode_iq_attr_from(From,
'encode_iq_attr_xml:lang'(_val, _acc) ->
[{<<"xml:lang">>, _val} | _acc].
-decode_stats(__TopXMLNS,
+decode_stats(__TopXMLNS, __IgnoreEls,
{xmlel, <<"query">>, _attrs, _els}) ->
- Stat = decode_stats_els(__TopXMLNS, _els, []),
+ Stat = decode_stats_els(__TopXMLNS, __IgnoreEls, _els,
+ []),
{stats, Stat}.
-decode_stats_els(__TopXMLNS, [], Stat) ->
+decode_stats_els(__TopXMLNS, __IgnoreEls, [], Stat) ->
lists:reverse(Stat);
-decode_stats_els(__TopXMLNS,
+decode_stats_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"stat">>, _attrs, _} = _el | _els], Stat) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_stats_els(__TopXMLNS, _els,
- [decode_stat(__TopXMLNS, _el) | Stat]);
- true -> decode_stats_els(__TopXMLNS, _els, Stat)
+ decode_stats_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_stat(__TopXMLNS, __IgnoreEls, _el) | Stat]);
+ true ->
+ decode_stats_els(__TopXMLNS, __IgnoreEls, _els, Stat)
end;
-decode_stats_els(__TopXMLNS, [_ | _els], Stat) ->
- decode_stats_els(__TopXMLNS, _els, Stat).
+decode_stats_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Stat) ->
+ decode_stats_els(__TopXMLNS, __IgnoreEls, _els, Stat).
encode_stats({stats, Stat}, _xmlns_attrs) ->
- _els = 'encode_stats_$stat'(Stat, []),
+ _els = lists:reverse('encode_stats_$stat'(Stat, [])),
_attrs = _xmlns_attrs,
{xmlel, <<"query">>, _attrs, _els}.
'encode_stats_$stat'(_els,
[encode_stat(Stat, []) | _acc]).
-decode_stat(__TopXMLNS,
+decode_stat(__TopXMLNS, __IgnoreEls,
{xmlel, <<"stat">>, _attrs, _els}) ->
- Error = decode_stat_els(__TopXMLNS, _els, []),
+ Error = decode_stat_els(__TopXMLNS, __IgnoreEls, _els,
+ []),
{Name, Units, Value} = decode_stat_attrs(__TopXMLNS,
_attrs, undefined, undefined,
undefined),
{stat, Name, Units, Value, Error}.
-decode_stat_els(__TopXMLNS, [], Error) ->
+decode_stat_els(__TopXMLNS, __IgnoreEls, [], Error) ->
lists:reverse(Error);
-decode_stat_els(__TopXMLNS,
+decode_stat_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"error">>, _attrs, _} = _el | _els],
Error) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_stat_els(__TopXMLNS, _els,
- [decode_stat_error(__TopXMLNS, _el) | Error]);
- true -> decode_stat_els(__TopXMLNS, _els, Error)
+ decode_stat_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_stat_error(__TopXMLNS, __IgnoreEls, _el)
+ | Error]);
+ true ->
+ decode_stat_els(__TopXMLNS, __IgnoreEls, _els, Error)
end;
-decode_stat_els(__TopXMLNS, [_ | _els], Error) ->
- decode_stat_els(__TopXMLNS, _els, Error).
+decode_stat_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Error) ->
+ decode_stat_els(__TopXMLNS, __IgnoreEls, _els, Error).
decode_stat_attrs(__TopXMLNS,
[{<<"name">>, _val} | _attrs], _Name, Units, Value) ->
encode_stat({stat, Name, Units, Value, Error},
_xmlns_attrs) ->
- _els = 'encode_stat_$error'(Error, []),
+ _els = lists:reverse('encode_stat_$error'(Error, [])),
_attrs = encode_stat_attr_value(Value,
encode_stat_attr_units(Units,
encode_stat_attr_name(Name,
encode_stat_attr_value(_val, _acc) ->
[{<<"value">>, _val} | _acc].
-decode_stat_error(__TopXMLNS,
+decode_stat_error(__TopXMLNS, __IgnoreEls,
{xmlel, <<"error">>, _attrs, _els}) ->
- Cdata = decode_stat_error_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_stat_error_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Code = decode_stat_error_attrs(__TopXMLNS, _attrs,
undefined),
{Code, Cdata}.
-decode_stat_error_els(__TopXMLNS, [], Cdata) ->
+decode_stat_error_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_stat_error_cdata(__TopXMLNS, Cdata);
-decode_stat_error_els(__TopXMLNS,
+decode_stat_error_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_stat_error_els(__TopXMLNS, _els,
+ decode_stat_error_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_stat_error_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_stat_error_els(__TopXMLNS, _els, Cdata).
+decode_stat_error_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_stat_error_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
decode_stat_error_attrs(__TopXMLNS,
[{<<"code">>, _val} | _attrs], _Code) ->
encode_stat_error_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_bookmarks_storage(__TopXMLNS,
+decode_bookmarks_storage(__TopXMLNS, __IgnoreEls,
{xmlel, <<"storage">>, _attrs, _els}) ->
{Conference, Url} =
- decode_bookmarks_storage_els(__TopXMLNS, _els, [], []),
+ decode_bookmarks_storage_els(__TopXMLNS, __IgnoreEls,
+ _els, [], []),
{bookmark_storage, Conference, Url}.
-decode_bookmarks_storage_els(__TopXMLNS, [], Conference,
- Url) ->
+decode_bookmarks_storage_els(__TopXMLNS, __IgnoreEls,
+ [], Conference, Url) ->
{lists:reverse(Conference), lists:reverse(Url)};
-decode_bookmarks_storage_els(__TopXMLNS,
+decode_bookmarks_storage_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"conference">>, _attrs, _} = _el
| _els],
Conference, Url) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_bookmarks_storage_els(__TopXMLNS, _els,
+ decode_bookmarks_storage_els(__TopXMLNS, __IgnoreEls,
+ _els,
[decode_bookmark_conference(__TopXMLNS,
+ __IgnoreEls,
_el)
| Conference],
Url);
true ->
- decode_bookmarks_storage_els(__TopXMLNS, _els,
- Conference, Url)
+ decode_bookmarks_storage_els(__TopXMLNS, __IgnoreEls,
+ _els, Conference, Url)
end;
-decode_bookmarks_storage_els(__TopXMLNS,
+decode_bookmarks_storage_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"url">>, _attrs, _} = _el | _els],
Conference, Url) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_bookmarks_storage_els(__TopXMLNS, _els,
- Conference,
- [decode_bookmark_url(__TopXMLNS, _el)
+ decode_bookmarks_storage_els(__TopXMLNS, __IgnoreEls,
+ _els, Conference,
+ [decode_bookmark_url(__TopXMLNS,
+ __IgnoreEls, _el)
| Url]);
true ->
- decode_bookmarks_storage_els(__TopXMLNS, _els,
- Conference, Url)
+ decode_bookmarks_storage_els(__TopXMLNS, __IgnoreEls,
+ _els, Conference, Url)
end;
-decode_bookmarks_storage_els(__TopXMLNS, [_ | _els],
- Conference, Url) ->
- decode_bookmarks_storage_els(__TopXMLNS, _els,
- Conference, Url).
+decode_bookmarks_storage_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Conference, Url) ->
+ decode_bookmarks_storage_els(__TopXMLNS, __IgnoreEls,
+ _els, Conference, Url).
encode_bookmarks_storage({bookmark_storage, Conference,
Url},
_xmlns_attrs) ->
- _els = 'encode_bookmarks_storage_$url'(Url,
- 'encode_bookmarks_storage_$conference'(Conference,
- [])),
+ _els =
+ lists:reverse('encode_bookmarks_storage_$conference'(Conference,
+ 'encode_bookmarks_storage_$url'(Url,
+ []))),
_attrs = _xmlns_attrs,
{xmlel, <<"storage">>, _attrs, _els}.
'encode_bookmarks_storage_$url'(_els,
[encode_bookmark_url(Url, []) | _acc]).
-decode_bookmark_url(__TopXMLNS,
+decode_bookmark_url(__TopXMLNS, __IgnoreEls,
{xmlel, <<"url">>, _attrs, _els}) ->
{Name, Url} = decode_bookmark_url_attrs(__TopXMLNS,
_attrs, undefined, undefined),
encode_bookmark_url_attr_url(_val, _acc) ->
[{<<"url">>, _val} | _acc].
-decode_bookmark_conference(__TopXMLNS,
+decode_bookmark_conference(__TopXMLNS, __IgnoreEls,
{xmlel, <<"conference">>, _attrs, _els}) ->
{Password, Nick} =
- decode_bookmark_conference_els(__TopXMLNS, _els,
- undefined, undefined),
+ decode_bookmark_conference_els(__TopXMLNS, __IgnoreEls,
+ _els, undefined, undefined),
{Name, Jid, Autojoin} =
decode_bookmark_conference_attrs(__TopXMLNS, _attrs,
undefined, undefined, undefined),
{bookmark_conference, Name, Jid, Autojoin, Nick,
Password}.
-decode_bookmark_conference_els(__TopXMLNS, [], Password,
- Nick) ->
+decode_bookmark_conference_els(__TopXMLNS, __IgnoreEls,
+ [], Password, Nick) ->
{Password, Nick};
-decode_bookmark_conference_els(__TopXMLNS,
+decode_bookmark_conference_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"nick">>, _attrs, _} = _el | _els],
Password, Nick) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_bookmark_conference_els(__TopXMLNS, _els,
- Password,
+ decode_bookmark_conference_els(__TopXMLNS, __IgnoreEls,
+ _els, Password,
decode_conference_nick(__TopXMLNS,
+ __IgnoreEls,
_el));
true ->
- decode_bookmark_conference_els(__TopXMLNS, _els,
- Password, Nick)
+ decode_bookmark_conference_els(__TopXMLNS, __IgnoreEls,
+ _els, Password, Nick)
end;
-decode_bookmark_conference_els(__TopXMLNS,
+decode_bookmark_conference_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"password">>, _attrs, _} = _el
| _els],
Password, Nick) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_bookmark_conference_els(__TopXMLNS, _els,
+ decode_bookmark_conference_els(__TopXMLNS, __IgnoreEls,
+ _els,
decode_conference_password(__TopXMLNS,
+ __IgnoreEls,
_el),
Nick);
true ->
- decode_bookmark_conference_els(__TopXMLNS, _els,
- Password, Nick)
+ decode_bookmark_conference_els(__TopXMLNS, __IgnoreEls,
+ _els, Password, Nick)
end;
-decode_bookmark_conference_els(__TopXMLNS, [_ | _els],
- Password, Nick) ->
- decode_bookmark_conference_els(__TopXMLNS, _els,
- Password, Nick).
+decode_bookmark_conference_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Password, Nick) ->
+ decode_bookmark_conference_els(__TopXMLNS, __IgnoreEls,
+ _els, Password, Nick).
decode_bookmark_conference_attrs(__TopXMLNS,
[{<<"name">>, _val} | _attrs], _Name, Jid,
encode_bookmark_conference({bookmark_conference, Name,
Jid, Autojoin, Nick, Password},
_xmlns_attrs) ->
- _els = 'encode_bookmark_conference_$nick'(Nick,
- 'encode_bookmark_conference_$password'(Password,
- [])),
+ _els =
+ lists:reverse('encode_bookmark_conference_$password'(Password,
+ 'encode_bookmark_conference_$nick'(Nick,
+ []))),
_attrs =
encode_bookmark_conference_attr_autojoin(Autojoin,
encode_bookmark_conference_attr_jid(Jid,
encode_bookmark_conference_attr_autojoin(_val, _acc) ->
[{<<"autojoin">>, enc_bool(_val)} | _acc].
-decode_conference_password(__TopXMLNS,
+decode_conference_password(__TopXMLNS, __IgnoreEls,
{xmlel, <<"password">>, _attrs, _els}) ->
- Cdata = decode_conference_password_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_conference_password_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_conference_password_els(__TopXMLNS, [], Cdata) ->
+decode_conference_password_els(__TopXMLNS, __IgnoreEls,
+ [], Cdata) ->
decode_conference_password_cdata(__TopXMLNS, Cdata);
-decode_conference_password_els(__TopXMLNS,
+decode_conference_password_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_conference_password_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_conference_password_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_conference_password_els(__TopXMLNS, _els, Cdata).
+ decode_conference_password_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_conference_password_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_conference_password_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_conference_password(Cdata, _xmlns_attrs) ->
_els = encode_conference_password_cdata(Cdata, []),
encode_conference_password_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_conference_nick(__TopXMLNS,
+decode_conference_nick(__TopXMLNS, __IgnoreEls,
{xmlel, <<"nick">>, _attrs, _els}) ->
- Cdata = decode_conference_nick_els(__TopXMLNS, _els,
- <<>>),
+ Cdata = decode_conference_nick_els(__TopXMLNS,
+ __IgnoreEls, _els, <<>>),
Cdata.
-decode_conference_nick_els(__TopXMLNS, [], Cdata) ->
+decode_conference_nick_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_conference_nick_cdata(__TopXMLNS, Cdata);
-decode_conference_nick_els(__TopXMLNS,
+decode_conference_nick_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_conference_nick_els(__TopXMLNS, _els,
- <<Cdata/binary, _data/binary>>);
-decode_conference_nick_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_conference_nick_els(__TopXMLNS, _els, Cdata).
+ decode_conference_nick_els(__TopXMLNS, __IgnoreEls,
+ _els, <<Cdata/binary, _data/binary>>);
+decode_conference_nick_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_conference_nick_els(__TopXMLNS, __IgnoreEls,
+ _els, Cdata).
encode_conference_nick(Cdata, _xmlns_attrs) ->
_els = encode_conference_nick_cdata(Cdata, []),
encode_conference_nick_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_private(__TopXMLNS,
+decode_private(__TopXMLNS, __IgnoreEls,
{xmlel, <<"query">>, _attrs, _els}) ->
- __Xmls = decode_private_els(__TopXMLNS, _els, []),
+ __Xmls = decode_private_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
{private, __Xmls}.
-decode_private_els(__TopXMLNS, [], __Xmls) ->
+decode_private_els(__TopXMLNS, __IgnoreEls, [],
+ __Xmls) ->
lists:reverse(__Xmls);
-decode_private_els(__TopXMLNS,
+decode_private_els(__TopXMLNS, __IgnoreEls,
[{xmlel, _, _, _} = _el | _els], __Xmls) ->
- decode_private_els(__TopXMLNS, _els, [_el | __Xmls]);
-decode_private_els(__TopXMLNS, [_ | _els], __Xmls) ->
- decode_private_els(__TopXMLNS, _els, __Xmls).
+ decode_private_els(__TopXMLNS, __IgnoreEls, _els,
+ [_el | __Xmls]);
+decode_private_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ __Xmls) ->
+ decode_private_els(__TopXMLNS, __IgnoreEls, _els,
+ __Xmls).
encode_private({private, __Xmls}, _xmlns_attrs) ->
_els = __Xmls,
_attrs = _xmlns_attrs,
{xmlel, <<"query">>, _attrs, _els}.
-decode_disco_items(__TopXMLNS,
+decode_disco_items(__TopXMLNS, __IgnoreEls,
{xmlel, <<"query">>, _attrs, _els}) ->
- Items = decode_disco_items_els(__TopXMLNS, _els, []),
+ Items = decode_disco_items_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
Node = decode_disco_items_attrs(__TopXMLNS, _attrs,
undefined),
{disco_items, Node, Items}.
-decode_disco_items_els(__TopXMLNS, [], Items) ->
+decode_disco_items_els(__TopXMLNS, __IgnoreEls, [],
+ Items) ->
lists:reverse(Items);
-decode_disco_items_els(__TopXMLNS,
+decode_disco_items_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item">>, _attrs, _} = _el | _els], Items) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_disco_items_els(__TopXMLNS, _els,
- [decode_disco_item(__TopXMLNS, _el) | Items]);
- true -> decode_disco_items_els(__TopXMLNS, _els, Items)
+ decode_disco_items_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_disco_item(__TopXMLNS, __IgnoreEls,
+ _el)
+ | Items]);
+ true ->
+ decode_disco_items_els(__TopXMLNS, __IgnoreEls, _els,
+ Items)
end;
-decode_disco_items_els(__TopXMLNS, [_ | _els], Items) ->
- decode_disco_items_els(__TopXMLNS, _els, Items).
+decode_disco_items_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Items) ->
+ decode_disco_items_els(__TopXMLNS, __IgnoreEls, _els,
+ Items).
decode_disco_items_attrs(__TopXMLNS,
[{<<"node">>, _val} | _attrs], _Node) ->
encode_disco_items({disco_items, Node, Items},
_xmlns_attrs) ->
- _els = 'encode_disco_items_$items'(Items, []),
+ _els = lists:reverse('encode_disco_items_$items'(Items,
+ [])),
_attrs = encode_disco_items_attr_node(Node,
_xmlns_attrs),
{xmlel, <<"query">>, _attrs, _els}.
encode_disco_items_attr_node(_val, _acc) ->
[{<<"node">>, _val} | _acc].
-decode_disco_item(__TopXMLNS,
+decode_disco_item(__TopXMLNS, __IgnoreEls,
{xmlel, <<"item">>, _attrs, _els}) ->
{Jid, Name, Node} = decode_disco_item_attrs(__TopXMLNS,
_attrs, undefined, undefined,
encode_disco_item_attr_node(_val, _acc) ->
[{<<"node">>, _val} | _acc].
-decode_disco_info(__TopXMLNS,
+decode_disco_info(__TopXMLNS, __IgnoreEls,
{xmlel, <<"query">>, _attrs, _els}) ->
{Xdata, Features, Identities} =
- decode_disco_info_els(__TopXMLNS, _els, [], [], []),
+ decode_disco_info_els(__TopXMLNS, __IgnoreEls, _els, [],
+ [], []),
Node = decode_disco_info_attrs(__TopXMLNS, _attrs,
undefined),
{disco_info, Node, Identities, Features, Xdata}.
-decode_disco_info_els(__TopXMLNS, [], Xdata, Features,
- Identities) ->
+decode_disco_info_els(__TopXMLNS, __IgnoreEls, [],
+ Xdata, Features, Identities) ->
{lists:reverse(Xdata), lists:reverse(Features),
lists:reverse(Identities)};
-decode_disco_info_els(__TopXMLNS,
+decode_disco_info_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"identity">>, _attrs, _} = _el | _els],
Xdata, Features, Identities) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_disco_info_els(__TopXMLNS, _els, Xdata, Features,
- [decode_disco_identity(__TopXMLNS, _el)
+ decode_disco_info_els(__TopXMLNS, __IgnoreEls, _els,
+ Xdata, Features,
+ [decode_disco_identity(__TopXMLNS, __IgnoreEls,
+ _el)
| Identities]);
true ->
- decode_disco_info_els(__TopXMLNS, _els, Xdata, Features,
- Identities)
+ decode_disco_info_els(__TopXMLNS, __IgnoreEls, _els,
+ Xdata, Features, Identities)
end;
-decode_disco_info_els(__TopXMLNS,
+decode_disco_info_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"feature">>, _attrs, _} = _el | _els], Xdata,
Features, Identities) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_disco_info_els(__TopXMLNS, _els, Xdata,
- [decode_disco_feature(__TopXMLNS, _el)
+ decode_disco_info_els(__TopXMLNS, __IgnoreEls, _els,
+ Xdata,
+ [decode_disco_feature(__TopXMLNS, __IgnoreEls,
+ _el)
| Features],
Identities);
true ->
- decode_disco_info_els(__TopXMLNS, _els, Xdata, Features,
- Identities)
+ decode_disco_info_els(__TopXMLNS, __IgnoreEls, _els,
+ Xdata, Features, Identities)
end;
-decode_disco_info_els(__TopXMLNS,
+decode_disco_info_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"x">>, _attrs, _} = _el | _els], Xdata,
Features, Identities) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<"jabber:x:data">> ->
- decode_disco_info_els(__TopXMLNS, _els,
- [decode_xdata(_xmlns, _el) | Xdata], Features,
- Identities);
+ decode_disco_info_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_xdata(_xmlns, __IgnoreEls, _el)
+ | Xdata],
+ Features, Identities);
true ->
- decode_disco_info_els(__TopXMLNS, _els, Xdata, Features,
- Identities)
+ decode_disco_info_els(__TopXMLNS, __IgnoreEls, _els,
+ Xdata, Features, Identities)
end;
-decode_disco_info_els(__TopXMLNS, [_ | _els], Xdata,
- Features, Identities) ->
- decode_disco_info_els(__TopXMLNS, _els, Xdata, Features,
- Identities).
+decode_disco_info_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Xdata, Features, Identities) ->
+ decode_disco_info_els(__TopXMLNS, __IgnoreEls, _els,
+ Xdata, Features, Identities).
decode_disco_info_attrs(__TopXMLNS,
[{<<"node">>, _val} | _attrs], _Node) ->
encode_disco_info({disco_info, Node, Identities,
Features, Xdata},
_xmlns_attrs) ->
- _els = 'encode_disco_info_$identities'(Identities,
- 'encode_disco_info_$features'(Features,
- 'encode_disco_info_$xdata'(Xdata,
- []))),
+ _els = lists:reverse('encode_disco_info_$xdata'(Xdata,
+ 'encode_disco_info_$features'(Features,
+ 'encode_disco_info_$identities'(Identities,
+ [])))),
_attrs = encode_disco_info_attr_node(Node,
_xmlns_attrs),
{xmlel, <<"query">>, _attrs, _els}.
encode_disco_info_attr_node(_val, _acc) ->
[{<<"node">>, _val} | _acc].
-decode_disco_feature(__TopXMLNS,
+decode_disco_feature(__TopXMLNS, __IgnoreEls,
{xmlel, <<"feature">>, _attrs, _els}) ->
Var = decode_disco_feature_attrs(__TopXMLNS, _attrs,
undefined),
encode_disco_feature_attr_var(_val, _acc) ->
[{<<"var">>, _val} | _acc].
-decode_disco_identity(__TopXMLNS,
+decode_disco_identity(__TopXMLNS, __IgnoreEls,
{xmlel, <<"identity">>, _attrs, _els}) ->
{Category, Type, Lang, Name} =
decode_disco_identity_attrs(__TopXMLNS, _attrs,
encode_disco_identity_attr_name(_val, _acc) ->
[{<<"name">>, _val} | _acc].
-decode_block_list(__TopXMLNS,
+decode_block_list(__TopXMLNS, __IgnoreEls,
{xmlel, <<"blocklist">>, _attrs, _els}) ->
{block_list}.
_attrs = _xmlns_attrs,
{xmlel, <<"blocklist">>, _attrs, _els}.
-decode_unblock(__TopXMLNS,
+decode_unblock(__TopXMLNS, __IgnoreEls,
{xmlel, <<"unblock">>, _attrs, _els}) ->
- Items = decode_unblock_els(__TopXMLNS, _els, []),
+ Items = decode_unblock_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
{unblock, Items}.
-decode_unblock_els(__TopXMLNS, [], Items) ->
+decode_unblock_els(__TopXMLNS, __IgnoreEls, [],
+ Items) ->
lists:reverse(Items);
-decode_unblock_els(__TopXMLNS,
+decode_unblock_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item">>, _attrs, _} = _el | _els], Items) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_unblock_els(__TopXMLNS, _els,
- case decode_block_item(__TopXMLNS, _el) of
+ decode_unblock_els(__TopXMLNS, __IgnoreEls, _els,
+ case decode_block_item(__TopXMLNS, __IgnoreEls,
+ _el)
+ of
undefined -> Items;
_new_el -> [_new_el | Items]
end);
- true -> decode_unblock_els(__TopXMLNS, _els, Items)
+ true ->
+ decode_unblock_els(__TopXMLNS, __IgnoreEls, _els, Items)
end;
-decode_unblock_els(__TopXMLNS, [_ | _els], Items) ->
- decode_unblock_els(__TopXMLNS, _els, Items).
+decode_unblock_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Items) ->
+ decode_unblock_els(__TopXMLNS, __IgnoreEls, _els,
+ Items).
encode_unblock({unblock, Items}, _xmlns_attrs) ->
- _els = 'encode_unblock_$items'(Items, []),
+ _els = lists:reverse('encode_unblock_$items'(Items,
+ [])),
_attrs = _xmlns_attrs,
{xmlel, <<"unblock">>, _attrs, _els}.
'encode_unblock_$items'(_els,
[encode_block_item(Items, []) | _acc]).
-decode_block(__TopXMLNS,
+decode_block(__TopXMLNS, __IgnoreEls,
{xmlel, <<"block">>, _attrs, _els}) ->
- Items = decode_block_els(__TopXMLNS, _els, []),
+ Items = decode_block_els(__TopXMLNS, __IgnoreEls, _els,
+ []),
{block, Items}.
-decode_block_els(__TopXMLNS, [], Items) ->
+decode_block_els(__TopXMLNS, __IgnoreEls, [], Items) ->
lists:reverse(Items);
-decode_block_els(__TopXMLNS,
+decode_block_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item">>, _attrs, _} = _el | _els], Items) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_block_els(__TopXMLNS, _els,
- case decode_block_item(__TopXMLNS, _el) of
+ decode_block_els(__TopXMLNS, __IgnoreEls, _els,
+ case decode_block_item(__TopXMLNS, __IgnoreEls, _el)
+ of
undefined -> Items;
_new_el -> [_new_el | Items]
end);
- true -> decode_block_els(__TopXMLNS, _els, Items)
+ true ->
+ decode_block_els(__TopXMLNS, __IgnoreEls, _els, Items)
end;
-decode_block_els(__TopXMLNS, [_ | _els], Items) ->
- decode_block_els(__TopXMLNS, _els, Items).
+decode_block_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Items) ->
+ decode_block_els(__TopXMLNS, __IgnoreEls, _els, Items).
encode_block({block, Items}, _xmlns_attrs) ->
- _els = 'encode_block_$items'(Items, []),
+ _els = lists:reverse('encode_block_$items'(Items, [])),
_attrs = _xmlns_attrs,
{xmlel, <<"block">>, _attrs, _els}.
'encode_block_$items'(_els,
[encode_block_item(Items, []) | _acc]).
-decode_block_item(__TopXMLNS,
+decode_block_item(__TopXMLNS, __IgnoreEls,
{xmlel, <<"item">>, _attrs, _els}) ->
Jid = decode_block_item_attrs(__TopXMLNS, _attrs,
undefined),
encode_block_item_attr_jid(_val, _acc) ->
[{<<"jid">>, enc_jid(_val)} | _acc].
-decode_privacy(__TopXMLNS,
+decode_privacy(__TopXMLNS, __IgnoreEls,
{xmlel, <<"query">>, _attrs, _els}) ->
{Lists, Default, Active} =
- decode_privacy_els(__TopXMLNS, _els, [], undefined,
- undefined),
+ decode_privacy_els(__TopXMLNS, __IgnoreEls, _els, [],
+ undefined, undefined),
{privacy, Lists, Default, Active}.
-decode_privacy_els(__TopXMLNS, [], Lists, Default,
- Active) ->
+decode_privacy_els(__TopXMLNS, __IgnoreEls, [], Lists,
+ Default, Active) ->
{lists:reverse(Lists), Default, Active};
-decode_privacy_els(__TopXMLNS,
+decode_privacy_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"list">>, _attrs, _} = _el | _els], Lists,
Default, Active) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_privacy_els(__TopXMLNS, _els,
- [decode_privacy_list(__TopXMLNS, _el) | Lists],
+ decode_privacy_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_privacy_list(__TopXMLNS, __IgnoreEls, _el)
+ | Lists],
Default, Active);
true ->
- decode_privacy_els(__TopXMLNS, _els, Lists, Default,
- Active)
+ decode_privacy_els(__TopXMLNS, __IgnoreEls, _els, Lists,
+ Default, Active)
end;
-decode_privacy_els(__TopXMLNS,
+decode_privacy_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"default">>, _attrs, _} = _el | _els], Lists,
Default, Active) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_privacy_els(__TopXMLNS, _els, Lists,
- decode_privacy_default_list(__TopXMLNS, _el),
+ decode_privacy_els(__TopXMLNS, __IgnoreEls, _els, Lists,
+ decode_privacy_default_list(__TopXMLNS,
+ __IgnoreEls, _el),
Active);
true ->
- decode_privacy_els(__TopXMLNS, _els, Lists, Default,
- Active)
+ decode_privacy_els(__TopXMLNS, __IgnoreEls, _els, Lists,
+ Default, Active)
end;
-decode_privacy_els(__TopXMLNS,
+decode_privacy_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"active">>, _attrs, _} = _el | _els], Lists,
Default, Active) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_privacy_els(__TopXMLNS, _els, Lists, Default,
- decode_privacy_active_list(__TopXMLNS, _el));
+ decode_privacy_els(__TopXMLNS, __IgnoreEls, _els, Lists,
+ Default,
+ decode_privacy_active_list(__TopXMLNS,
+ __IgnoreEls, _el));
true ->
- decode_privacy_els(__TopXMLNS, _els, Lists, Default,
- Active)
+ decode_privacy_els(__TopXMLNS, __IgnoreEls, _els, Lists,
+ Default, Active)
end;
-decode_privacy_els(__TopXMLNS, [_ | _els], Lists,
- Default, Active) ->
- decode_privacy_els(__TopXMLNS, _els, Lists, Default,
- Active).
+decode_privacy_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Lists, Default, Active) ->
+ decode_privacy_els(__TopXMLNS, __IgnoreEls, _els, Lists,
+ Default, Active).
encode_privacy({privacy, Lists, Default, Active},
_xmlns_attrs) ->
- _els = 'encode_privacy_$active'(Active,
- 'encode_privacy_$default'(Default,
- 'encode_privacy_$lists'(Lists,
- []))),
+ _els = lists:reverse('encode_privacy_$lists'(Lists,
+ 'encode_privacy_$default'(Default,
+ 'encode_privacy_$active'(Active,
+ [])))),
_attrs = _xmlns_attrs,
{xmlel, <<"query">>, _attrs, _els}.
'encode_privacy_$active'(Active, _acc) ->
[encode_privacy_active_list(Active, []) | _acc].
-decode_privacy_active_list(__TopXMLNS,
+decode_privacy_active_list(__TopXMLNS, __IgnoreEls,
{xmlel, <<"active">>, _attrs, _els}) ->
Name = decode_privacy_active_list_attrs(__TopXMLNS,
_attrs, undefined),
encode_privacy_active_list_attr_name(_val, _acc) ->
[{<<"name">>, _val} | _acc].
-decode_privacy_default_list(__TopXMLNS,
+decode_privacy_default_list(__TopXMLNS, __IgnoreEls,
{xmlel, <<"default">>, _attrs, _els}) ->
Name = decode_privacy_default_list_attrs(__TopXMLNS,
_attrs, undefined),
encode_privacy_default_list_attr_name(_val, _acc) ->
[{<<"name">>, _val} | _acc].
-decode_privacy_list(__TopXMLNS,
+decode_privacy_list(__TopXMLNS, __IgnoreEls,
{xmlel, <<"list">>, _attrs, _els}) ->
- Items = decode_privacy_list_els(__TopXMLNS, _els, []),
+ Items = decode_privacy_list_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
Name = decode_privacy_list_attrs(__TopXMLNS, _attrs,
undefined),
{privacy_list, Name, Items}.
-decode_privacy_list_els(__TopXMLNS, [], Items) ->
+decode_privacy_list_els(__TopXMLNS, __IgnoreEls, [],
+ Items) ->
lists:reverse(Items);
-decode_privacy_list_els(__TopXMLNS,
+decode_privacy_list_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item">>, _attrs, _} = _el | _els], Items) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_privacy_list_els(__TopXMLNS, _els,
- [decode_privacy_item(__TopXMLNS, _el)
+ decode_privacy_list_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_privacy_item(__TopXMLNS, __IgnoreEls,
+ _el)
| Items]);
- true -> decode_privacy_list_els(__TopXMLNS, _els, Items)
+ true ->
+ decode_privacy_list_els(__TopXMLNS, __IgnoreEls, _els,
+ Items)
end;
-decode_privacy_list_els(__TopXMLNS, [_ | _els],
- Items) ->
- decode_privacy_list_els(__TopXMLNS, _els, Items).
+decode_privacy_list_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Items) ->
+ decode_privacy_list_els(__TopXMLNS, __IgnoreEls, _els,
+ Items).
decode_privacy_list_attrs(__TopXMLNS,
[{<<"name">>, _val} | _attrs], _Name) ->
encode_privacy_list({privacy_list, Name, Items},
_xmlns_attrs) ->
- _els = 'encode_privacy_list_$items'(Items, []),
+ _els = lists:reverse('encode_privacy_list_$items'(Items,
+ [])),
_attrs = encode_privacy_list_attr_name(Name,
_xmlns_attrs),
{xmlel, <<"list">>, _attrs, _els}.
encode_privacy_list_attr_name(_val, _acc) ->
[{<<"name">>, _val} | _acc].
-decode_privacy_item(__TopXMLNS,
+decode_privacy_item(__TopXMLNS, __IgnoreEls,
{xmlel, <<"item">>, _attrs, _els}) ->
- Kinds = decode_privacy_item_els(__TopXMLNS, _els, []),
+ Kinds = decode_privacy_item_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
{Action, Order, Type, Value} =
decode_privacy_item_attrs(__TopXMLNS, _attrs, undefined,
undefined, undefined, undefined),
{privacy_item, Order, Action, Type, Value, Kinds}.
-decode_privacy_item_els(__TopXMLNS, [], Kinds) ->
+decode_privacy_item_els(__TopXMLNS, __IgnoreEls, [],
+ Kinds) ->
lists:reverse(Kinds);
-decode_privacy_item_els(__TopXMLNS,
+decode_privacy_item_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"message">>, _attrs, _} = _el | _els],
Kinds) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_privacy_item_els(__TopXMLNS, _els, Kinds);
- true -> decode_privacy_item_els(__TopXMLNS, _els, Kinds)
+ decode_privacy_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Kinds);
+ true ->
+ decode_privacy_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Kinds)
end;
-decode_privacy_item_els(__TopXMLNS,
+decode_privacy_item_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"iq">>, _attrs, _} = _el | _els], Kinds) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_privacy_item_els(__TopXMLNS, _els, Kinds);
- true -> decode_privacy_item_els(__TopXMLNS, _els, Kinds)
+ decode_privacy_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Kinds);
+ true ->
+ decode_privacy_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Kinds)
end;
-decode_privacy_item_els(__TopXMLNS,
+decode_privacy_item_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"presence-in">>, _attrs, _} = _el | _els],
Kinds) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_privacy_item_els(__TopXMLNS, _els, Kinds);
- true -> decode_privacy_item_els(__TopXMLNS, _els, Kinds)
+ decode_privacy_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Kinds);
+ true ->
+ decode_privacy_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Kinds)
end;
-decode_privacy_item_els(__TopXMLNS,
+decode_privacy_item_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"presence-out">>, _attrs, _} = _el | _els],
Kinds) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_privacy_item_els(__TopXMLNS, _els, Kinds);
- true -> decode_privacy_item_els(__TopXMLNS, _els, Kinds)
+ decode_privacy_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Kinds);
+ true ->
+ decode_privacy_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Kinds)
end;
-decode_privacy_item_els(__TopXMLNS, [_ | _els],
- Kinds) ->
- decode_privacy_item_els(__TopXMLNS, _els, Kinds).
+decode_privacy_item_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Kinds) ->
+ decode_privacy_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Kinds).
decode_privacy_item_attrs(__TopXMLNS,
[{<<"action">>, _val} | _attrs], _Action, Order, Type,
encode_privacy_item({privacy_item, Order, Action, Type,
Value, Kinds},
_xmlns_attrs) ->
- _els = 'encode_privacy_item_$kinds'(Kinds, []),
+ _els = lists:reverse('encode_privacy_item_$kinds'(Kinds,
+ [])),
_attrs = encode_privacy_item_attr_value(Value,
encode_privacy_item_attr_type(Type,
encode_privacy_item_attr_order(Order,
encode_privacy_item_attr_value(_val, _acc) ->
[{<<"value">>, _val} | _acc].
-decode_privacy_presence_out(__TopXMLNS,
+decode_privacy_presence_out(__TopXMLNS, __IgnoreEls,
{xmlel, <<"presence-out">>, _attrs, _els}) ->
'presence-out'.
_attrs = _xmlns_attrs,
{xmlel, <<"presence-out">>, _attrs, _els}.
-decode_privacy_presence_in(__TopXMLNS,
+decode_privacy_presence_in(__TopXMLNS, __IgnoreEls,
{xmlel, <<"presence-in">>, _attrs, _els}) ->
'presence-in'.
_attrs = _xmlns_attrs,
{xmlel, <<"presence-in">>, _attrs, _els}.
-decode_privacy_iq(__TopXMLNS,
+decode_privacy_iq(__TopXMLNS, __IgnoreEls,
{xmlel, <<"iq">>, _attrs, _els}) ->
iq.
_attrs = _xmlns_attrs,
{xmlel, <<"iq">>, _attrs, _els}.
-decode_privacy_message(__TopXMLNS,
+decode_privacy_message(__TopXMLNS, __IgnoreEls,
{xmlel, <<"message">>, _attrs, _els}) ->
message.
_attrs = _xmlns_attrs,
{xmlel, <<"message">>, _attrs, _els}.
-decode_roster(__TopXMLNS,
+decode_roster(__TopXMLNS, __IgnoreEls,
{xmlel, <<"query">>, _attrs, _els}) ->
- Items = decode_roster_els(__TopXMLNS, _els, []),
+ Items = decode_roster_els(__TopXMLNS, __IgnoreEls, _els,
+ []),
Ver = decode_roster_attrs(__TopXMLNS, _attrs,
undefined),
{roster, Items, Ver}.
-decode_roster_els(__TopXMLNS, [], Items) ->
+decode_roster_els(__TopXMLNS, __IgnoreEls, [], Items) ->
lists:reverse(Items);
-decode_roster_els(__TopXMLNS,
+decode_roster_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"item">>, _attrs, _} = _el | _els], Items) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_roster_els(__TopXMLNS, _els,
- [decode_roster_item(__TopXMLNS, _el) | Items]);
- true -> decode_roster_els(__TopXMLNS, _els, Items)
+ decode_roster_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_roster_item(__TopXMLNS, __IgnoreEls, _el)
+ | Items]);
+ true ->
+ decode_roster_els(__TopXMLNS, __IgnoreEls, _els, Items)
end;
-decode_roster_els(__TopXMLNS, [_ | _els], Items) ->
- decode_roster_els(__TopXMLNS, _els, Items).
+decode_roster_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Items) ->
+ decode_roster_els(__TopXMLNS, __IgnoreEls, _els, Items).
decode_roster_attrs(__TopXMLNS,
[{<<"ver">>, _val} | _attrs], _Ver) ->
decode_roster_attr_ver(__TopXMLNS, Ver).
encode_roster({roster, Items, Ver}, _xmlns_attrs) ->
- _els = 'encode_roster_$items'(Items, []),
+ _els = lists:reverse('encode_roster_$items'(Items, [])),
_attrs = encode_roster_attr_ver(Ver, _xmlns_attrs),
{xmlel, <<"query">>, _attrs, _els}.
encode_roster_attr_ver(_val, _acc) ->
[{<<"ver">>, _val} | _acc].
-decode_roster_item(__TopXMLNS,
+decode_roster_item(__TopXMLNS, __IgnoreEls,
{xmlel, <<"item">>, _attrs, _els}) ->
- Groups = decode_roster_item_els(__TopXMLNS, _els, []),
+ Groups = decode_roster_item_els(__TopXMLNS, __IgnoreEls,
+ _els, []),
{Jid, Name, Subscription, Ask} =
decode_roster_item_attrs(__TopXMLNS, _attrs, undefined,
undefined, undefined, undefined),
{roster_item, Jid, Name, Groups, Subscription, Ask}.
-decode_roster_item_els(__TopXMLNS, [], Groups) ->
+decode_roster_item_els(__TopXMLNS, __IgnoreEls, [],
+ Groups) ->
lists:reverse(Groups);
-decode_roster_item_els(__TopXMLNS,
+decode_roster_item_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"group">>, _attrs, _} = _el | _els],
Groups) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_roster_item_els(__TopXMLNS, _els,
- [decode_roster_group(__TopXMLNS, _el)
+ decode_roster_item_els(__TopXMLNS, __IgnoreEls, _els,
+ [decode_roster_group(__TopXMLNS, __IgnoreEls,
+ _el)
| Groups]);
- true -> decode_roster_item_els(__TopXMLNS, _els, Groups)
+ true ->
+ decode_roster_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Groups)
end;
-decode_roster_item_els(__TopXMLNS, [_ | _els],
- Groups) ->
- decode_roster_item_els(__TopXMLNS, _els, Groups).
+decode_roster_item_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Groups) ->
+ decode_roster_item_els(__TopXMLNS, __IgnoreEls, _els,
+ Groups).
decode_roster_item_attrs(__TopXMLNS,
[{<<"jid">>, _val} | _attrs], _Jid, Name, Subscription,
encode_roster_item({roster_item, Jid, Name, Groups,
Subscription, Ask},
_xmlns_attrs) ->
- _els = 'encode_roster_item_$groups'(Groups, []),
+ _els =
+ lists:reverse('encode_roster_item_$groups'(Groups, [])),
_attrs = encode_roster_item_attr_ask(Ask,
encode_roster_item_attr_subscription(Subscription,
encode_roster_item_attr_name(Name,
encode_roster_item_attr_ask(_val, _acc) ->
[{<<"ask">>, enc_enum(_val)} | _acc].
-decode_roster_group(__TopXMLNS,
+decode_roster_group(__TopXMLNS, __IgnoreEls,
{xmlel, <<"group">>, _attrs, _els}) ->
- Cdata = decode_roster_group_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_roster_group_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_roster_group_els(__TopXMLNS, [], Cdata) ->
+decode_roster_group_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_roster_group_cdata(__TopXMLNS, Cdata);
-decode_roster_group_els(__TopXMLNS,
+decode_roster_group_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_roster_group_els(__TopXMLNS, _els,
+ decode_roster_group_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_roster_group_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_roster_group_els(__TopXMLNS, _els, Cdata).
+decode_roster_group_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_roster_group_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_roster_group(Cdata, _xmlns_attrs) ->
_els = encode_roster_group_cdata(Cdata, []),
encode_roster_group_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_version(__TopXMLNS,
+decode_version(__TopXMLNS, __IgnoreEls,
{xmlel, <<"query">>, _attrs, _els}) ->
- {Ver, Os, Name} = decode_version_els(__TopXMLNS, _els,
- undefined, undefined, undefined),
+ {Ver, Os, Name} = decode_version_els(__TopXMLNS,
+ __IgnoreEls, _els, undefined,
+ undefined, undefined),
{version, Name, Ver, Os}.
-decode_version_els(__TopXMLNS, [], Ver, Os, Name) ->
+decode_version_els(__TopXMLNS, __IgnoreEls, [], Ver, Os,
+ Name) ->
{Ver, Os, Name};
-decode_version_els(__TopXMLNS,
+decode_version_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"name">>, _attrs, _} = _el | _els], Ver, Os,
Name) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_version_els(__TopXMLNS, _els, Ver, Os,
- decode_version_name(__TopXMLNS, _el));
+ decode_version_els(__TopXMLNS, __IgnoreEls, _els, Ver,
+ Os,
+ decode_version_name(__TopXMLNS, __IgnoreEls,
+ _el));
true ->
- decode_version_els(__TopXMLNS, _els, Ver, Os, Name)
+ decode_version_els(__TopXMLNS, __IgnoreEls, _els, Ver,
+ Os, Name)
end;
-decode_version_els(__TopXMLNS,
+decode_version_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"version">>, _attrs, _} = _el | _els], Ver,
Os, Name) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_version_els(__TopXMLNS, _els,
- decode_version_ver(__TopXMLNS, _el), Os, Name);
+ decode_version_els(__TopXMLNS, __IgnoreEls, _els,
+ decode_version_ver(__TopXMLNS, __IgnoreEls, _el),
+ Os, Name);
true ->
- decode_version_els(__TopXMLNS, _els, Ver, Os, Name)
+ decode_version_els(__TopXMLNS, __IgnoreEls, _els, Ver,
+ Os, Name)
end;
-decode_version_els(__TopXMLNS,
+decode_version_els(__TopXMLNS, __IgnoreEls,
[{xmlel, <<"os">>, _attrs, _} = _el | _els], Ver, Os,
Name) ->
_xmlns = get_attr(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == __TopXMLNS ->
- decode_version_els(__TopXMLNS, _els, Ver,
- decode_version_os(__TopXMLNS, _el), Name);
+ decode_version_els(__TopXMLNS, __IgnoreEls, _els, Ver,
+ decode_version_os(__TopXMLNS, __IgnoreEls, _el),
+ Name);
true ->
- decode_version_els(__TopXMLNS, _els, Ver, Os, Name)
+ decode_version_els(__TopXMLNS, __IgnoreEls, _els, Ver,
+ Os, Name)
end;
-decode_version_els(__TopXMLNS, [_ | _els], Ver, Os,
- Name) ->
- decode_version_els(__TopXMLNS, _els, Ver, Os, Name).
+decode_version_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Ver, Os, Name) ->
+ decode_version_els(__TopXMLNS, __IgnoreEls, _els, Ver,
+ Os, Name).
encode_version({version, Name, Ver, Os},
_xmlns_attrs) ->
- _els = 'encode_version_$name'(Name,
- 'encode_version_$os'(Os,
- 'encode_version_$ver'(Ver,
- []))),
+ _els = lists:reverse('encode_version_$ver'(Ver,
+ 'encode_version_$os'(Os,
+ 'encode_version_$name'(Name,
+ [])))),
_attrs = _xmlns_attrs,
{xmlel, <<"query">>, _attrs, _els}.
'encode_version_$name'(Name, _acc) ->
[encode_version_name(Name, []) | _acc].
-decode_version_os(__TopXMLNS,
+decode_version_os(__TopXMLNS, __IgnoreEls,
{xmlel, <<"os">>, _attrs, _els}) ->
- Cdata = decode_version_os_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_version_os_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_version_os_els(__TopXMLNS, [], Cdata) ->
+decode_version_os_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_version_os_cdata(__TopXMLNS, Cdata);
-decode_version_os_els(__TopXMLNS,
+decode_version_os_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_version_os_els(__TopXMLNS, _els,
+ decode_version_os_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_version_os_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_version_os_els(__TopXMLNS, _els, Cdata).
+decode_version_os_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_version_os_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_version_os(Cdata, _xmlns_attrs) ->
_els = encode_version_os_cdata(Cdata, []),
encode_version_os_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_version_ver(__TopXMLNS,
+decode_version_ver(__TopXMLNS, __IgnoreEls,
{xmlel, <<"version">>, _attrs, _els}) ->
- Cdata = decode_version_ver_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_version_ver_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_version_ver_els(__TopXMLNS, [], Cdata) ->
+decode_version_ver_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_version_ver_cdata(__TopXMLNS, Cdata);
-decode_version_ver_els(__TopXMLNS,
+decode_version_ver_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_version_ver_els(__TopXMLNS, _els,
+ decode_version_ver_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_version_ver_els(__TopXMLNS, [_ | _els], Cdata) ->
- decode_version_ver_els(__TopXMLNS, _els, Cdata).
+decode_version_ver_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_version_ver_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_version_ver(Cdata, _xmlns_attrs) ->
_els = encode_version_ver_cdata(Cdata, []),
encode_version_ver_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_version_name(__TopXMLNS,
+decode_version_name(__TopXMLNS, __IgnoreEls,
{xmlel, <<"name">>, _attrs, _els}) ->
- Cdata = decode_version_name_els(__TopXMLNS, _els, <<>>),
+ Cdata = decode_version_name_els(__TopXMLNS, __IgnoreEls,
+ _els, <<>>),
Cdata.
-decode_version_name_els(__TopXMLNS, [], Cdata) ->
+decode_version_name_els(__TopXMLNS, __IgnoreEls, [],
+ Cdata) ->
decode_version_name_cdata(__TopXMLNS, Cdata);
-decode_version_name_els(__TopXMLNS,
+decode_version_name_els(__TopXMLNS, __IgnoreEls,
[{xmlcdata, _data} | _els], Cdata) ->
- decode_version_name_els(__TopXMLNS, _els,
+ decode_version_name_els(__TopXMLNS, __IgnoreEls, _els,
<<Cdata/binary, _data/binary>>);
-decode_version_name_els(__TopXMLNS, [_ | _els],
- Cdata) ->
- decode_version_name_els(__TopXMLNS, _els, Cdata).
+decode_version_name_els(__TopXMLNS, __IgnoreEls,
+ [_ | _els], Cdata) ->
+ decode_version_name_els(__TopXMLNS, __IgnoreEls, _els,
+ Cdata).
encode_version_name(Cdata, _xmlns_attrs) ->
_els = encode_version_name_cdata(Cdata, []),
encode_version_name_cdata(_val, _acc) ->
[{xmlcdata, _val} | _acc].
-decode_last(__TopXMLNS,
+decode_last(__TopXMLNS, __IgnoreEls,
{xmlel, <<"query">>, _attrs, _els}) ->
- Text = decode_last_els(__TopXMLNS, _els, <<>>),
+ Text = decode_last_els(__TopXMLNS, __IgnoreEls, _els,
+ <<>>),
Seconds = decode_last_attrs(__TopXMLNS, _attrs,
undefined),
{last, Seconds, Text}.
-decode_last_els(__TopXMLNS, [], Text) ->
+decode_last_els(__TopXMLNS, __IgnoreEls, [], Text) ->
decode_last_cdata(__TopXMLNS, Text);
-decode_last_els(__TopXMLNS, [{xmlcdata, _data} | _els],
- Text) ->
- decode_last_els(__TopXMLNS, _els,
+decode_last_els(__TopXMLNS, __IgnoreEls,
+ [{xmlcdata, _data} | _els], Text) ->
+ decode_last_els(__TopXMLNS, __IgnoreEls, _els,
<<Text/binary, _data/binary>>);
-decode_last_els(__TopXMLNS, [_ | _els], Text) ->
- decode_last_els(__TopXMLNS, _els, Text).
+decode_last_els(__TopXMLNS, __IgnoreEls, [_ | _els],
+ Text) ->
+ decode_last_els(__TopXMLNS, __IgnoreEls, _els, Text).
decode_last_attrs(__TopXMLNS,
[{<<"seconds">>, _val} | _attrs], _Seconds) ->