diff --git a/tools/xmpp_codec.erl b/tools/xmpp_codec.erl index 5a549aebb..2b9372973 100644 --- a/tools/xmpp_codec.erl +++ b/tools/xmpp_codec.erl @@ -7,915 +7,975 @@ [{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. @@ -1506,6 +1566,7 @@ is_known_tag({xmlel, _name, _attrs, _} = _el) -> _ -> false end. +encode({xmlel, _, _, _} = El) -> El; encode({last, _, _} = Query) -> encode_last(Query, [{<<"xmlns">>, <<"jabber:iq:last">>}]); @@ -1672,7 +1733,7 @@ encode({feature_register} = Register) -> [{<<"xmlns">>, <<"http://jabber.org/features/iq-register">>}]); encode({register, _, _, _, _, _, _, _, _, _, _, _, _, _, - _, _, _, _, _, _, _} = + _, _, _, _, _, _, _, _} = Query) -> encode_register(Query, [{<<"xmlns">>, <<"jabber:iq:register">>}]); @@ -1684,6 +1745,8 @@ encode({ping} = Ping) -> encode_ping(Ping, [{<<"xmlns">>, <<"urn:xmpp:ping">>}]); encode({time, _, _} = Time) -> encode_time(Time, [{<<"xmlns">>, <<"urn:xmpp:time">>}]); +encode({text, _, _} = Text) -> + encode_stream_error_text(Text, []); encode({'see-other-host', _} = See_other_host) -> encode_stream_error_see_other_host(See_other_host, [{<<"xmlns">>, @@ -1834,6 +1897,10 @@ encode({muc_owner, _, _} = Query) -> 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">>, @@ -1874,6 +1941,182 @@ encode({sm_a, _, _} = A) -> encode_sm_a(A, []); 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) -> @@ -1976,10 +2219,10 @@ pp(p1_rebind, 0) -> []; 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]; @@ -2105,256 +2348,330 @@ dec_tzo(Val) -> 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) -> @@ -2367,7 +2684,8 @@ decode_sm_failed_attrs(__TopXMLNS, [], 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}. @@ -2522,7 +2840,7 @@ encode_sm_failed_attr_xmlns(undefined, _acc) -> _acc; 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), @@ -2568,7 +2886,7 @@ encode_sm_a_attr_xmlns(undefined, _acc) -> _acc; 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), @@ -2595,7 +2913,7 @@ encode_sm_r_attr_xmlns(undefined, _acc) -> _acc; 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, @@ -2664,7 +2982,7 @@ decode_sm_resumed_attr_previd(__TopXMLNS, _val) -> _val. 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, @@ -2733,7 +3051,7 @@ decode_sm_resume_attr_previd(__TopXMLNS, _val) -> _val. 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, @@ -2846,7 +3164,7 @@ encode_sm_enabled_attr_resume(false, _acc) -> _acc; 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, @@ -2921,7 +3239,7 @@ encode_sm_enable_attr_resume(false, _acc) -> _acc; 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), @@ -2950,36 +3268,43 @@ encode_feature_sm_attr_xmlns(undefined, _acc) -> _acc; 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}. @@ -2988,13 +3313,13 @@ encode_carbons_sent({carbons_sent, Forwarded}, [{<<"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 -> @@ -3002,25 +3327,30 @@ decode_carbons_received_els(__TopXMLNS, [], {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}. @@ -3029,7 +3359,7 @@ encode_carbons_received({carbons_received, Forwarded}, [{<<"xmlns">>, <<"urn:xmpp:forward:0">>}]) | _acc]. -decode_carbons_private(__TopXMLNS, +decode_carbons_private(__TopXMLNS, __IgnoreEls, {xmlel, <<"private">>, _attrs, _els}) -> {carbons_private}. @@ -3039,7 +3369,7 @@ encode_carbons_private({carbons_private}, _attrs = _xmlns_attrs, {xmlel, <<"private">>, _attrs, _els}. -decode_carbons_enable(__TopXMLNS, +decode_carbons_enable(__TopXMLNS, __IgnoreEls, {xmlel, <<"enable">>, _attrs, _els}) -> {carbons_enable}. @@ -3048,7 +3378,7 @@ encode_carbons_enable({carbons_enable}, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"enable">>, _attrs, _els}. -decode_carbons_disable(__TopXMLNS, +decode_carbons_disable(__TopXMLNS, __IgnoreEls, {xmlel, <<"disable">>, _attrs, _els}) -> {carbons_disable}. @@ -3058,41 +3388,50 @@ encode_carbons_disable({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) + 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, [_ | _els], Delay, - __Els) -> - decode_forwarded_els(__TopXMLNS, _els, Delay, __Els). +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}. @@ -3102,25 +3441,29 @@ encode_forwarded({forwarded, Delay, __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) -> @@ -3131,7 +3474,8 @@ decode_muc_attrs(__TopXMLNS, [], 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}. @@ -3148,27 +3492,35 @@ encode_muc_attr_password(undefined, _acc) -> _acc; 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}. @@ -3177,21 +3529,23 @@ encode_muc_admin({muc_admin, Items}, _xmlns_attrs) -> '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_cdata(__TopXMLNS, Cdata); -decode_muc_admin_reason_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_muc_admin_reason_els(__TopXMLNS, _els, - <>); -decode_muc_admin_reason_els(__TopXMLNS, [_ | _els], +decode_muc_admin_reason_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_muc_admin_reason_els(__TopXMLNS, _els, Cdata). + decode_muc_admin_reason_cdata(__TopXMLNS, Cdata); +decode_muc_admin_reason_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_muc_admin_reason_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -3206,7 +3560,7 @@ encode_muc_admin_reason_cdata(undefined, _acc) -> _acc; 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), @@ -3244,7 +3598,7 @@ encode_muc_admin_continue_attr_thread(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), @@ -3302,60 +3656,65 @@ encode_muc_admin_actor_attr_nick(undefined, _acc) -> 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, @@ -3392,10 +3751,11 @@ decode_muc_admin_item_attrs(__TopXMLNS, [], 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, @@ -3481,42 +3841,51 @@ encode_muc_admin_item_attr_nick(undefined, _acc) -> 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}. @@ -3530,47 +3899,51 @@ encode_muc_owner({muc_owner, Destroy, Config}, '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) -> @@ -3585,9 +3958,10 @@ decode_muc_owner_destroy_attrs(__TopXMLNS, [], 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}. @@ -3619,21 +3993,23 @@ encode_muc_owner_destroy_attr_jid(undefined, _acc) -> 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_cdata(__TopXMLNS, Cdata); -decode_muc_owner_reason_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_muc_owner_reason_els(__TopXMLNS, _els, - <>); -decode_muc_owner_reason_els(__TopXMLNS, [_ | _els], +decode_muc_owner_reason_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_muc_owner_reason_els(__TopXMLNS, _els, Cdata). + decode_muc_owner_reason_cdata(__TopXMLNS, Cdata); +decode_muc_owner_reason_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_muc_owner_reason_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -3648,21 +4024,23 @@ encode_muc_owner_reason_cdata(undefined, _acc) -> _acc; 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, - <>); -decode_muc_owner_password_els(__TopXMLNS, [_ | _els], - Cdata) -> - decode_muc_owner_password_els(__TopXMLNS, _els, Cdata). + decode_muc_owner_password_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -3679,90 +4057,98 @@ encode_muc_owner_password_cdata(undefined, _acc) -> 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) -> @@ -3776,12 +4162,13 @@ decode_muc_user_attrs(__TopXMLNS, [], 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}. @@ -3819,60 +4206,64 @@ encode_muc_user_attr_password(undefined, _acc) -> _acc; 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, @@ -3909,10 +4300,11 @@ decode_muc_user_item_attrs(__TopXMLNS, [], 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, @@ -3993,7 +4385,7 @@ encode_muc_user_item_attr_nick(undefined, _acc) -> _acc; 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), @@ -4031,7 +4423,7 @@ encode_muc_user_status_attr_code(undefined, _acc) -> 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), @@ -4068,7 +4460,7 @@ encode_muc_user_continue_attr_thread(undefined, _acc) -> 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), @@ -4124,29 +4516,34 @@ encode_muc_user_actor_attr_nick(undefined, _acc) -> 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) -> @@ -4167,7 +4564,9 @@ decode_muc_user_invite_attrs(__TopXMLNS, [], To, 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)), @@ -4209,29 +4608,35 @@ encode_muc_user_invite_attr_from(undefined, _acc) -> 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) -> @@ -4244,7 +4649,9 @@ decode_muc_user_destroy_attrs(__TopXMLNS, [], 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}. @@ -4271,29 +4678,35 @@ encode_muc_user_destroy_attr_jid(undefined, _acc) -> 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) -> @@ -4314,7 +4727,9 @@ decode_muc_user_decline_attrs(__TopXMLNS, [], To, 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)), @@ -4358,21 +4773,23 @@ encode_muc_user_decline_attr_from(undefined, _acc) -> 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_cdata(__TopXMLNS, Cdata); -decode_muc_user_reason_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_muc_user_reason_els(__TopXMLNS, _els, - <>); -decode_muc_user_reason_els(__TopXMLNS, [_ | _els], +decode_muc_user_reason_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_muc_user_reason_els(__TopXMLNS, _els, Cdata). + decode_muc_user_reason_cdata(__TopXMLNS, Cdata); +decode_muc_user_reason_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_muc_user_reason_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -4387,7 +4804,7 @@ encode_muc_user_reason_cdata(undefined, _acc) -> _acc; 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, @@ -4503,63 +4920,69 @@ encode_muc_history_attr_since(undefined, _acc) -> _acc; 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, @@ -4587,10 +5010,10 @@ decode_bytestreams_attrs(__TopXMLNS, [], 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, @@ -4644,23 +5067,23 @@ encode_bytestreams_attr_mode(tcp, _acc) -> _acc; 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, - <>); -decode_bytestreams_activate_els(__TopXMLNS, [_ | _els], - Cdata) -> - decode_bytestreams_activate_els(__TopXMLNS, _els, - Cdata). + decode_bytestreams_activate_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -4683,6 +5106,7 @@ encode_bytestreams_activate_cdata(_val, _acc) -> [{xmlcdata, enc_jid(_val)} | _acc]. decode_bytestreams_streamhost_used(__TopXMLNS, + __IgnoreEls, {xmlel, <<"streamhost-used">>, _attrs, _els}) -> Jid = @@ -4729,7 +5153,7 @@ encode_bytestreams_streamhost_used_attr_jid(_val, _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, @@ -4822,7 +5246,7 @@ encode_bytestreams_streamhost_attr_port(1080, _acc) -> 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), @@ -4876,7 +5300,7 @@ encode_legacy_delay_attr_from(undefined, _acc) -> _acc; 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), @@ -4931,30 +5355,37 @@ encode_delay_attr_from(undefined, _acc) -> _acc; 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}. @@ -4964,21 +5395,25 @@ encode_shim_headers({shim, Headers}, _xmlns_attrs) -> '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, <>); -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) -> @@ -5010,159 +5445,170 @@ encode_shim_header_cdata(undefined, _acc) -> _acc; 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}. @@ -5198,29 +5644,34 @@ encode_pubsub({pubsub, Subscriptions, Affiliations, '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) -> @@ -5242,7 +5693,9 @@ decode_pubsub_retract_attrs(__TopXMLNS, [], Node, 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)), @@ -5279,29 +5732,32 @@ encode_pubsub_retract_attr_notify(false, _acc) -> _acc; 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) -> @@ -5329,7 +5785,9 @@ decode_pubsub_options_attrs(__TopXMLNS, [], Node, Subid, 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, @@ -5379,29 +5837,34 @@ decode_pubsub_options_attr_jid(__TopXMLNS, _val) -> 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) -> @@ -5414,7 +5877,9 @@ decode_pubsub_publish_attrs(__TopXMLNS, [], 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}. @@ -5434,7 +5899,7 @@ decode_pubsub_publish_attr_node(__TopXMLNS, _val) -> 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, @@ -5516,7 +5981,7 @@ decode_pubsub_unsubscribe_attr_jid(__TopXMLNS, _val) -> 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), @@ -5575,39 +6040,42 @@ decode_pubsub_subscribe_attr_jid(__TopXMLNS, _val) -> 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}. @@ -5621,35 +6089,38 @@ encode_pubsub_affiliations(Affiliations, []) | _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) -> @@ -5666,8 +6137,8 @@ decode_pubsub_subscriptions_attrs(__TopXMLNS, [], 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}. @@ -5695,30 +6166,37 @@ encode_pubsub_subscriptions_attr_node(none, _acc) -> 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}. @@ -5727,48 +6205,53 @@ encode_pubsub_event({pubsub_event, Items}, '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) -> @@ -5784,9 +6267,10 @@ decode_pubsub_event_items_attrs(__TopXMLNS, [], 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}. @@ -5816,7 +6300,7 @@ decode_pubsub_event_items_attr_node(__TopXMLNS, _val) -> 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, @@ -5895,7 +6379,7 @@ encode_pubsub_event_item_attr_publisher(undefined, 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), @@ -5928,28 +6412,34 @@ decode_pubsub_event_retract_attr_id(__TopXMLNS, _val) -> 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, @@ -5980,7 +6470,8 @@ decode_pubsub_items_attrs(__TopXMLNS, [], Max_items, 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, @@ -6026,22 +6517,25 @@ encode_pubsub_items_attr_subid(undefined, _acc) -> _acc; 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) -> - lists:reverse(__Xmls); -decode_pubsub_item_els(__TopXMLNS, - [{xmlel, _, _, _} = _el | _els], __Xmls) -> - decode_pubsub_item_els(__TopXMLNS, _els, - [_el | __Xmls]); -decode_pubsub_item_els(__TopXMLNS, [_ | _els], +decode_pubsub_item_els(__TopXMLNS, __IgnoreEls, [], __Xmls) -> - decode_pubsub_item_els(__TopXMLNS, _els, __Xmls). + lists:reverse(__Xmls); +decode_pubsub_item_els(__TopXMLNS, __IgnoreEls, + [{xmlel, _, _, _} = _el | _els], __Xmls) -> + decode_pubsub_item_els(__TopXMLNS, __IgnoreEls, _els, + [_el | __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) -> @@ -6066,7 +6560,7 @@ encode_pubsub_item_attr_id(undefined, _acc) -> _acc; 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, @@ -6135,7 +6629,7 @@ encode_pubsub_affiliation_attr_affiliation(_val, _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, @@ -6252,87 +6746,93 @@ encode_pubsub_subscription_attr_subscription(_val, _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) -> @@ -6345,12 +6845,12 @@ decode_xdata_attrs(__TopXMLNS, [], 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}. @@ -6395,28 +6895,36 @@ decode_xdata_attr_type(__TopXMLNS, _val) -> 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}. @@ -6425,31 +6933,37 @@ encode_xdata_item(Fields, _xmlns_attrs) -> '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}. @@ -6459,19 +6973,23 @@ encode_xdata_reported(Fields, _xmlns_attrs) -> '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, <>); -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, []), @@ -6485,21 +7003,23 @@ encode_xdata_title_cdata(undefined, _acc) -> _acc; 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, - <>); -decode_xdata_instructions_els(__TopXMLNS, [_ | _els], - Cdata) -> - decode_xdata_instructions_els(__TopXMLNS, _els, Cdata). + decode_xdata_instructions_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -6516,69 +7036,76 @@ encode_xdata_instructions_cdata(undefined, _acc) -> 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; @@ -6586,13 +7113,13 @@ decode_xdata_field_els(__TopXMLNS, 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) -> @@ -6619,11 +7146,12 @@ decode_xdata_field_attrs(__TopXMLNS, [], Label, Type, 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, @@ -6683,58 +7211,67 @@ encode_xdata_field_attr_var(undefined, _acc) -> _acc; 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, - <>); -decode_xdata_field_value_els(__TopXMLNS, [_ | _els], - Cdata) -> - decode_xdata_field_value_els(__TopXMLNS, _els, Cdata). + decode_xdata_field_value_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -6750,21 +7287,23 @@ encode_xdata_field_value_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_xdata_field_desc_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_xdata_field_desc_els(__TopXMLNS, _els, - <>); -decode_xdata_field_desc_els(__TopXMLNS, [_ | _els], +decode_xdata_field_desc_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_xdata_field_desc_els(__TopXMLNS, _els, Cdata). + decode_xdata_field_desc_cdata(__TopXMLNS, Cdata); +decode_xdata_field_desc_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_xdata_field_desc_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -6779,7 +7318,7 @@ encode_xdata_field_desc_cdata(undefined, _acc) -> _acc; 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. @@ -6788,34 +7327,35 @@ encode_xdata_field_required(true, _xmlns_attrs) -> _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, @@ -6823,19 +7363,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -6843,20 +7385,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -6864,20 +7407,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -6885,20 +7429,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -6906,20 +7451,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -6927,19 +7473,20 @@ decode_vcard_els(__TopXMLNS, 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, @@ -6947,19 +7494,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -6967,19 +7516,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -6987,20 +7538,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7008,20 +7560,20 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7029,20 +7581,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7050,20 +7603,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7071,20 +7625,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7092,20 +7647,20 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7113,20 +7668,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7134,20 +7690,20 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7155,20 +7711,20 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7176,20 +7732,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7197,20 +7754,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7218,20 +7776,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7239,20 +7798,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7260,20 +7820,20 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7281,20 +7841,20 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7302,20 +7862,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7323,20 +7884,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7344,20 +7906,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7365,20 +7928,21 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7386,20 +7950,22 @@ decode_vcard_els(__TopXMLNS, 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, @@ -7407,65 +7973,66 @@ decode_vcard_els(__TopXMLNS, 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}. @@ -7589,45 +8156,59 @@ encode_vcard({vcard, Version, Fn, N, Nickname, Photo, '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}. @@ -7640,36 +8221,42 @@ encode_vcard_CLASS(Class, _xmlns_attrs) -> _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}. @@ -7680,42 +8267,51 @@ encode_vcard_CATEGORIES(Keywords, _xmlns_attrs) -> [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}. @@ -7727,62 +8323,69 @@ encode_vcard_KEY({vcard_key, Type, Cred}, '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}. @@ -7798,46 +8401,55 @@ encode_vcard_SOUND({vcard_sound, Phonetic, Binval, '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}. @@ -7850,61 +8462,67 @@ encode_vcard_ORG({vcard_org, Name, Units}, '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}. @@ -7920,61 +8538,67 @@ encode_vcard_PHOTO({vcard_photo, Type, Binval, Extval}, '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}. @@ -7990,20 +8614,23 @@ encode_vcard_LOGO({vcard_logo, Type, Binval, Extval}, '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_cdata(__TopXMLNS, Cdata); -decode_vcard_BINVAL_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_BINVAL_els(__TopXMLNS, _els, - <>); -decode_vcard_BINVAL_els(__TopXMLNS, [_ | _els], +decode_vcard_BINVAL_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_BINVAL_els(__TopXMLNS, _els, Cdata). + decode_vcard_BINVAL_cdata(__TopXMLNS, Cdata); +decode_vcard_BINVAL_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_BINVAL_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -8024,39 +8651,47 @@ encode_vcard_BINVAL_cdata(undefined, _acc) -> _acc; 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}. @@ -8068,103 +8703,113 @@ encode_vcard_GEO({vcard_geo, Lat, Lon}, _xmlns_attrs) -> '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}. @@ -8192,257 +8837,271 @@ encode_vcard_EMAIL({vcard_email, Home, Work, Internet, '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}. @@ -8502,136 +9161,159 @@ encode_vcard_TEL({vcard_tel, Home, Work, Voice, Fax, '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}. @@ -8668,260 +9350,293 @@ encode_vcard_LABEL({vcard_label, Home, Work, Postal, '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}. @@ -8981,90 +9696,94 @@ encode_vcard_ADR({vcard_adr, Home, Work, Postal, Parcel, '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}. @@ -9088,7 +9807,7 @@ encode_vcard_N({vcard_name, Family, Given, Middle, '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. @@ -9097,7 +9816,7 @@ encode_vcard_CONFIDENTIAL(confidential, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"CONFIDENTIAL">>, _attrs, _els}. -decode_vcard_PRIVATE(__TopXMLNS, +decode_vcard_PRIVATE(__TopXMLNS, __IgnoreEls, {xmlel, <<"PRIVATE">>, _attrs, _els}) -> private. @@ -9106,7 +9825,7 @@ encode_vcard_PRIVATE(private, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"PRIVATE">>, _attrs, _els}. -decode_vcard_PUBLIC(__TopXMLNS, +decode_vcard_PUBLIC(__TopXMLNS, __IgnoreEls, {xmlel, <<"PUBLIC">>, _attrs, _els}) -> public. @@ -9115,20 +9834,23 @@ encode_vcard_PUBLIC(public, _xmlns_attrs) -> _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_cdata(__TopXMLNS, Cdata); -decode_vcard_EXTVAL_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_EXTVAL_els(__TopXMLNS, _els, - <>); -decode_vcard_EXTVAL_els(__TopXMLNS, [_ | _els], +decode_vcard_EXTVAL_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_EXTVAL_els(__TopXMLNS, _els, Cdata). + decode_vcard_EXTVAL_cdata(__TopXMLNS, Cdata); +decode_vcard_EXTVAL_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_EXTVAL_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9143,19 +9865,23 @@ encode_vcard_EXTVAL_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9169,19 +9895,23 @@ encode_vcard_TYPE_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9195,19 +9925,23 @@ encode_vcard_DESC_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9221,19 +9955,23 @@ encode_vcard_URL_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9247,21 +9985,23 @@ encode_vcard_UID_cdata(undefined, _acc) -> _acc; 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, - <>); -decode_vcard_SORT_STRING_els(__TopXMLNS, [_ | _els], - Cdata) -> - decode_vcard_SORT_STRING_els(__TopXMLNS, _els, Cdata). + decode_vcard_SORT_STRING_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -9277,19 +10017,23 @@ encode_vcard_SORT_STRING_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9303,20 +10047,23 @@ encode_vcard_REV_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_PRODID_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_PRODID_els(__TopXMLNS, _els, - <>); -decode_vcard_PRODID_els(__TopXMLNS, [_ | _els], +decode_vcard_PRODID_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_PRODID_els(__TopXMLNS, _els, Cdata). + decode_vcard_PRODID_cdata(__TopXMLNS, Cdata); +decode_vcard_PRODID_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_PRODID_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9331,19 +10078,23 @@ encode_vcard_PRODID_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9357,21 +10108,23 @@ encode_vcard_NOTE_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_KEYWORD_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_KEYWORD_els(__TopXMLNS, _els, - <>); -decode_vcard_KEYWORD_els(__TopXMLNS, [_ | _els], +decode_vcard_KEYWORD_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_KEYWORD_els(__TopXMLNS, _els, Cdata). + decode_vcard_KEYWORD_cdata(__TopXMLNS, Cdata); +decode_vcard_KEYWORD_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_KEYWORD_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9386,19 +10139,23 @@ encode_vcard_KEYWORD_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9412,19 +10169,23 @@ encode_vcard_ROLE_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9438,19 +10199,23 @@ encode_vcard_TITLE_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9464,20 +10229,23 @@ encode_vcard_TZ_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_MAILER_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_MAILER_els(__TopXMLNS, _els, - <>); -decode_vcard_MAILER_els(__TopXMLNS, [_ | _els], +decode_vcard_MAILER_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_MAILER_els(__TopXMLNS, _els, Cdata). + decode_vcard_MAILER_cdata(__TopXMLNS, Cdata); +decode_vcard_MAILER_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_MAILER_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9492,21 +10260,23 @@ encode_vcard_MAILER_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_JABBERID_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_JABBERID_els(__TopXMLNS, _els, - <>); -decode_vcard_JABBERID_els(__TopXMLNS, [_ | _els], +decode_vcard_JABBERID_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_JABBERID_els(__TopXMLNS, _els, Cdata). + decode_vcard_JABBERID_cdata(__TopXMLNS, Cdata); +decode_vcard_JABBERID_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_JABBERID_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9521,19 +10291,23 @@ encode_vcard_JABBERID_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9547,21 +10321,23 @@ encode_vcard_BDAY_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_NICKNAME_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_NICKNAME_els(__TopXMLNS, _els, - <>); -decode_vcard_NICKNAME_els(__TopXMLNS, [_ | _els], +decode_vcard_NICKNAME_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_NICKNAME_els(__TopXMLNS, _els, Cdata). + decode_vcard_NICKNAME_cdata(__TopXMLNS, Cdata); +decode_vcard_NICKNAME_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_NICKNAME_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9576,19 +10352,23 @@ encode_vcard_NICKNAME_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9602,21 +10382,23 @@ encode_vcard_FN_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_VERSION_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_VERSION_els(__TopXMLNS, _els, - <>); -decode_vcard_VERSION_els(__TopXMLNS, [_ | _els], +decode_vcard_VERSION_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_VERSION_els(__TopXMLNS, _els, Cdata). + decode_vcard_VERSION_cdata(__TopXMLNS, Cdata); +decode_vcard_VERSION_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_VERSION_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9631,19 +10413,23 @@ encode_vcard_VERSION_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9657,21 +10443,23 @@ encode_vcard_CRED_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_PHONETIC_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_PHONETIC_els(__TopXMLNS, _els, - <>); -decode_vcard_PHONETIC_els(__TopXMLNS, [_ | _els], +decode_vcard_PHONETIC_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_PHONETIC_els(__TopXMLNS, _els, Cdata). + decode_vcard_PHONETIC_cdata(__TopXMLNS, Cdata); +decode_vcard_PHONETIC_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_PHONETIC_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9686,21 +10474,23 @@ encode_vcard_PHONETIC_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_ORGUNIT_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_ORGUNIT_els(__TopXMLNS, _els, - <>); -decode_vcard_ORGUNIT_els(__TopXMLNS, [_ | _els], +decode_vcard_ORGUNIT_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_ORGUNIT_els(__TopXMLNS, _els, Cdata). + decode_vcard_ORGUNIT_cdata(__TopXMLNS, Cdata); +decode_vcard_ORGUNIT_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_ORGUNIT_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9715,21 +10505,23 @@ encode_vcard_ORGUNIT_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_ORGNAME_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_ORGNAME_els(__TopXMLNS, _els, - <>); -decode_vcard_ORGNAME_els(__TopXMLNS, [_ | _els], +decode_vcard_ORGNAME_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_ORGNAME_els(__TopXMLNS, _els, Cdata). + decode_vcard_ORGNAME_cdata(__TopXMLNS, Cdata); +decode_vcard_ORGNAME_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_ORGNAME_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9744,19 +10536,23 @@ encode_vcard_ORGNAME_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9770,19 +10566,23 @@ encode_vcard_LON_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9796,20 +10596,23 @@ encode_vcard_LAT_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_USERID_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_USERID_els(__TopXMLNS, _els, - <>); -decode_vcard_USERID_els(__TopXMLNS, [_ | _els], +decode_vcard_USERID_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_USERID_els(__TopXMLNS, _els, Cdata). + decode_vcard_USERID_cdata(__TopXMLNS, Cdata); +decode_vcard_USERID_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_USERID_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9824,20 +10627,23 @@ encode_vcard_USERID_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_NUMBER_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_NUMBER_els(__TopXMLNS, _els, - <>); -decode_vcard_NUMBER_els(__TopXMLNS, [_ | _els], +decode_vcard_NUMBER_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_NUMBER_els(__TopXMLNS, _els, Cdata). + decode_vcard_NUMBER_cdata(__TopXMLNS, Cdata); +decode_vcard_NUMBER_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_NUMBER_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9852,19 +10658,23 @@ encode_vcard_NUMBER_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9878,19 +10688,23 @@ encode_vcard_LINE_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9904,19 +10718,23 @@ encode_vcard_CTRY_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -9930,20 +10748,23 @@ encode_vcard_PCODE_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_REGION_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_REGION_els(__TopXMLNS, _els, - <>); -decode_vcard_REGION_els(__TopXMLNS, [_ | _els], +decode_vcard_REGION_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_REGION_els(__TopXMLNS, _els, Cdata). + decode_vcard_REGION_cdata(__TopXMLNS, Cdata); +decode_vcard_REGION_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_REGION_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9958,21 +10779,23 @@ encode_vcard_REGION_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_LOCALITY_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_LOCALITY_els(__TopXMLNS, _els, - <>); -decode_vcard_LOCALITY_els(__TopXMLNS, [_ | _els], +decode_vcard_LOCALITY_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_LOCALITY_els(__TopXMLNS, _els, Cdata). + decode_vcard_LOCALITY_cdata(__TopXMLNS, Cdata); +decode_vcard_LOCALITY_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_LOCALITY_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -9987,20 +10810,23 @@ encode_vcard_LOCALITY_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_STREET_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_STREET_els(__TopXMLNS, _els, - <>); -decode_vcard_STREET_els(__TopXMLNS, [_ | _els], +decode_vcard_STREET_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_STREET_els(__TopXMLNS, _els, Cdata). + decode_vcard_STREET_cdata(__TopXMLNS, Cdata); +decode_vcard_STREET_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_STREET_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -10015,20 +10841,23 @@ encode_vcard_STREET_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_EXTADD_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_EXTADD_els(__TopXMLNS, _els, - <>); -decode_vcard_EXTADD_els(__TopXMLNS, [_ | _els], +decode_vcard_EXTADD_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_EXTADD_els(__TopXMLNS, _els, Cdata). + decode_vcard_EXTADD_cdata(__TopXMLNS, Cdata); +decode_vcard_EXTADD_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_EXTADD_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -10043,19 +10872,23 @@ encode_vcard_EXTADD_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -10069,20 +10902,23 @@ encode_vcard_POBOX_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_SUFFIX_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_SUFFIX_els(__TopXMLNS, _els, - <>); -decode_vcard_SUFFIX_els(__TopXMLNS, [_ | _els], +decode_vcard_SUFFIX_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_SUFFIX_els(__TopXMLNS, _els, Cdata). + decode_vcard_SUFFIX_cdata(__TopXMLNS, Cdata); +decode_vcard_SUFFIX_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_SUFFIX_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -10097,20 +10933,23 @@ encode_vcard_SUFFIX_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_PREFIX_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_PREFIX_els(__TopXMLNS, _els, - <>); -decode_vcard_PREFIX_els(__TopXMLNS, [_ | _els], +decode_vcard_PREFIX_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_PREFIX_els(__TopXMLNS, _els, Cdata). + decode_vcard_PREFIX_cdata(__TopXMLNS, Cdata); +decode_vcard_PREFIX_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_PREFIX_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -10125,20 +10964,23 @@ encode_vcard_PREFIX_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_MIDDLE_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_MIDDLE_els(__TopXMLNS, _els, - <>); -decode_vcard_MIDDLE_els(__TopXMLNS, [_ | _els], +decode_vcard_MIDDLE_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_MIDDLE_els(__TopXMLNS, _els, Cdata). + decode_vcard_MIDDLE_cdata(__TopXMLNS, Cdata); +decode_vcard_MIDDLE_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_MIDDLE_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -10153,19 +10995,23 @@ encode_vcard_MIDDLE_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -10179,20 +11025,23 @@ encode_vcard_GIVEN_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_vcard_FAMILY_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_vcard_FAMILY_els(__TopXMLNS, _els, - <>); -decode_vcard_FAMILY_els(__TopXMLNS, [_ | _els], +decode_vcard_FAMILY_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_vcard_FAMILY_els(__TopXMLNS, _els, Cdata). + decode_vcard_FAMILY_cdata(__TopXMLNS, Cdata); +decode_vcard_FAMILY_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_vcard_FAMILY_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -10207,7 +11056,7 @@ encode_vcard_FAMILY_cdata(undefined, _acc) -> _acc; encode_vcard_FAMILY_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. -decode_vcard_X400(__TopXMLNS, +decode_vcard_X400(__TopXMLNS, __IgnoreEls, {xmlel, <<"X400">>, _attrs, _els}) -> true. @@ -10216,7 +11065,7 @@ encode_vcard_X400(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"X400">>, _attrs, _els}. -decode_vcard_INTERNET(__TopXMLNS, +decode_vcard_INTERNET(__TopXMLNS, __IgnoreEls, {xmlel, <<"INTERNET">>, _attrs, _els}) -> true. @@ -10225,7 +11074,7 @@ encode_vcard_INTERNET(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"INTERNET">>, _attrs, _els}. -decode_vcard_PREF(__TopXMLNS, +decode_vcard_PREF(__TopXMLNS, __IgnoreEls, {xmlel, <<"PREF">>, _attrs, _els}) -> true. @@ -10234,7 +11083,7 @@ encode_vcard_PREF(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"PREF">>, _attrs, _els}. -decode_vcard_INTL(__TopXMLNS, +decode_vcard_INTL(__TopXMLNS, __IgnoreEls, {xmlel, <<"INTL">>, _attrs, _els}) -> true. @@ -10243,7 +11092,7 @@ encode_vcard_INTL(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"INTL">>, _attrs, _els}. -decode_vcard_DOM(__TopXMLNS, +decode_vcard_DOM(__TopXMLNS, __IgnoreEls, {xmlel, <<"DOM">>, _attrs, _els}) -> true. @@ -10252,7 +11101,7 @@ encode_vcard_DOM(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"DOM">>, _attrs, _els}. -decode_vcard_PARCEL(__TopXMLNS, +decode_vcard_PARCEL(__TopXMLNS, __IgnoreEls, {xmlel, <<"PARCEL">>, _attrs, _els}) -> true. @@ -10261,7 +11110,7 @@ encode_vcard_PARCEL(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"PARCEL">>, _attrs, _els}. -decode_vcard_POSTAL(__TopXMLNS, +decode_vcard_POSTAL(__TopXMLNS, __IgnoreEls, {xmlel, <<"POSTAL">>, _attrs, _els}) -> true. @@ -10270,7 +11119,7 @@ encode_vcard_POSTAL(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"POSTAL">>, _attrs, _els}. -decode_vcard_PCS(__TopXMLNS, +decode_vcard_PCS(__TopXMLNS, __IgnoreEls, {xmlel, <<"PCS">>, _attrs, _els}) -> true. @@ -10279,7 +11128,7 @@ encode_vcard_PCS(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"PCS">>, _attrs, _els}. -decode_vcard_ISDN(__TopXMLNS, +decode_vcard_ISDN(__TopXMLNS, __IgnoreEls, {xmlel, <<"ISDN">>, _attrs, _els}) -> true. @@ -10288,7 +11137,7 @@ encode_vcard_ISDN(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"ISDN">>, _attrs, _els}. -decode_vcard_MODEM(__TopXMLNS, +decode_vcard_MODEM(__TopXMLNS, __IgnoreEls, {xmlel, <<"MODEM">>, _attrs, _els}) -> true. @@ -10297,7 +11146,7 @@ encode_vcard_MODEM(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"MODEM">>, _attrs, _els}. -decode_vcard_BBS(__TopXMLNS, +decode_vcard_BBS(__TopXMLNS, __IgnoreEls, {xmlel, <<"BBS">>, _attrs, _els}) -> true. @@ -10306,7 +11155,7 @@ encode_vcard_BBS(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"BBS">>, _attrs, _els}. -decode_vcard_VIDEO(__TopXMLNS, +decode_vcard_VIDEO(__TopXMLNS, __IgnoreEls, {xmlel, <<"VIDEO">>, _attrs, _els}) -> true. @@ -10315,7 +11164,7 @@ encode_vcard_VIDEO(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"VIDEO">>, _attrs, _els}. -decode_vcard_CELL(__TopXMLNS, +decode_vcard_CELL(__TopXMLNS, __IgnoreEls, {xmlel, <<"CELL">>, _attrs, _els}) -> true. @@ -10324,7 +11173,7 @@ encode_vcard_CELL(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"CELL">>, _attrs, _els}. -decode_vcard_MSG(__TopXMLNS, +decode_vcard_MSG(__TopXMLNS, __IgnoreEls, {xmlel, <<"MSG">>, _attrs, _els}) -> true. @@ -10333,7 +11182,7 @@ encode_vcard_MSG(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"MSG">>, _attrs, _els}. -decode_vcard_PAGER(__TopXMLNS, +decode_vcard_PAGER(__TopXMLNS, __IgnoreEls, {xmlel, <<"PAGER">>, _attrs, _els}) -> true. @@ -10342,7 +11191,7 @@ encode_vcard_PAGER(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"PAGER">>, _attrs, _els}. -decode_vcard_FAX(__TopXMLNS, +decode_vcard_FAX(__TopXMLNS, __IgnoreEls, {xmlel, <<"FAX">>, _attrs, _els}) -> true. @@ -10351,7 +11200,7 @@ encode_vcard_FAX(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"FAX">>, _attrs, _els}. -decode_vcard_VOICE(__TopXMLNS, +decode_vcard_VOICE(__TopXMLNS, __IgnoreEls, {xmlel, <<"VOICE">>, _attrs, _els}) -> true. @@ -10360,7 +11209,7 @@ encode_vcard_VOICE(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"VOICE">>, _attrs, _els}. -decode_vcard_WORK(__TopXMLNS, +decode_vcard_WORK(__TopXMLNS, __IgnoreEls, {xmlel, <<"WORK">>, _attrs, _els}) -> true. @@ -10369,7 +11218,7 @@ encode_vcard_WORK(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"WORK">>, _attrs, _els}. -decode_vcard_HOME(__TopXMLNS, +decode_vcard_HOME(__TopXMLNS, __IgnoreEls, {xmlel, <<"HOME">>, _attrs, _els}) -> true. @@ -10378,210 +11227,263 @@ encode_vcard_HOME(true, _xmlns_attrs) -> _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], @@ -10589,133 +11491,165 @@ decode_stream_error_els(__TopXMLNS, _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}. @@ -10893,6 +11827,7 @@ encode_stream_error({stream_error, Reason, Text}, | _acc]. decode_stream_error_unsupported_version(__TopXMLNS, + __IgnoreEls, {xmlel, <<"unsupported-version">>, _attrs, _els}) -> 'unsupported-version'. @@ -10904,6 +11839,7 @@ encode_stream_error_unsupported_version('unsupported-version', {xmlel, <<"unsupported-version">>, _attrs, _els}. decode_stream_error_unsupported_stanza_type(__TopXMLNS, + __IgnoreEls, {xmlel, <<"unsupported-stanza-type">>, _attrs, _els}) -> @@ -10916,6 +11852,7 @@ encode_stream_error_unsupported_stanza_type('unsupported-stanza-type', {xmlel, <<"unsupported-stanza-type">>, _attrs, _els}. decode_stream_error_unsupported_encoding(__TopXMLNS, + __IgnoreEls, {xmlel, <<"unsupported-encoding">>, _attrs, _els}) -> 'unsupported-encoding'. @@ -10927,6 +11864,7 @@ encode_stream_error_unsupported_encoding('unsupported-encoding', {xmlel, <<"unsupported-encoding">>, _attrs, _els}. decode_stream_error_undefined_condition(__TopXMLNS, + __IgnoreEls, {xmlel, <<"undefined-condition">>, _attrs, _els}) -> 'undefined-condition'. @@ -10938,6 +11876,7 @@ encode_stream_error_undefined_condition('undefined-condition', {xmlel, <<"undefined-condition">>, _attrs, _els}. decode_stream_error_system_shutdown(__TopXMLNS, + __IgnoreEls, {xmlel, <<"system-shutdown">>, _attrs, _els}) -> 'system-shutdown'. @@ -10949,25 +11888,28 @@ encode_stream_error_system_shutdown('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, <>); 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}, @@ -10990,6 +11932,7 @@ encode_stream_error_see_other_host_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. decode_stream_error_restricted_xml(__TopXMLNS, + __IgnoreEls, {xmlel, <<"restricted-xml">>, _attrs, _els}) -> 'restricted-xml'. @@ -11001,6 +11944,7 @@ encode_stream_error_restricted_xml('restricted-xml', {xmlel, <<"restricted-xml">>, _attrs, _els}. decode_stream_error_resource_constraint(__TopXMLNS, + __IgnoreEls, {xmlel, <<"resource-constraint">>, _attrs, _els}) -> 'resource-constraint'. @@ -11011,7 +11955,7 @@ encode_stream_error_resource_constraint('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. @@ -11021,6 +11965,7 @@ encode_stream_error_reset(reset, _xmlns_attrs) -> {xmlel, <<"reset">>, _attrs, _els}. decode_stream_error_remote_connection_failed(__TopXMLNS, + __IgnoreEls, {xmlel, <<"remote-connection-failed">>, _attrs, _els}) -> @@ -11033,6 +11978,7 @@ encode_stream_error_remote_connection_failed('remote-connection-failed', {xmlel, <<"remote-connection-failed">>, _attrs, _els}. decode_stream_error_policy_violation(__TopXMLNS, + __IgnoreEls, {xmlel, <<"policy-violation">>, _attrs, _els}) -> 'policy-violation'. @@ -11044,6 +11990,7 @@ encode_stream_error_policy_violation('policy-violation', {xmlel, <<"policy-violation">>, _attrs, _els}. decode_stream_error_not_well_formed(__TopXMLNS, + __IgnoreEls, {xmlel, <<"not-well-formed">>, _attrs, _els}) -> 'not-well-formed'. @@ -11055,6 +12002,7 @@ encode_stream_error_not_well_formed('not-well-formed', {xmlel, <<"not-well-formed">>, _attrs, _els}. decode_stream_error_not_authorized(__TopXMLNS, + __IgnoreEls, {xmlel, <<"not-authorized">>, _attrs, _els}) -> 'not-authorized'. @@ -11065,7 +12013,7 @@ encode_stream_error_not_authorized('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'. @@ -11076,6 +12024,7 @@ encode_stream_error_invalid_xml('invalid-xml', {xmlel, <<"invalid-xml">>, _attrs, _els}. decode_stream_error_invalid_namespace(__TopXMLNS, + __IgnoreEls, {xmlel, <<"invalid-namespace">>, _attrs, _els}) -> 'invalid-namespace'. @@ -11086,7 +12035,7 @@ encode_stream_error_invalid_namespace('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'. @@ -11097,6 +12046,7 @@ encode_stream_error_invalid_id('invalid-id', {xmlel, <<"invalid-id">>, _attrs, _els}. decode_stream_error_invalid_from(__TopXMLNS, + __IgnoreEls, {xmlel, <<"invalid-from">>, _attrs, _els}) -> 'invalid-from'. @@ -11107,6 +12057,7 @@ encode_stream_error_invalid_from('invalid-from', {xmlel, <<"invalid-from">>, _attrs, _els}. decode_stream_error_internal_server_error(__TopXMLNS, + __IgnoreEls, {xmlel, <<"internal-server-error">>, _attrs, _els}) -> 'internal-server-error'. @@ -11118,6 +12069,7 @@ encode_stream_error_internal_server_error('internal-server-error', {xmlel, <<"internal-server-error">>, _attrs, _els}. decode_stream_error_improper_addressing(__TopXMLNS, + __IgnoreEls, {xmlel, <<"improper-addressing">>, _attrs, _els}) -> 'improper-addressing'. @@ -11129,6 +12081,7 @@ encode_stream_error_improper_addressing('improper-addressing', {xmlel, <<"improper-addressing">>, _attrs, _els}. decode_stream_error_host_unknown(__TopXMLNS, + __IgnoreEls, {xmlel, <<"host-unknown">>, _attrs, _els}) -> 'host-unknown'. @@ -11138,7 +12091,7 @@ encode_stream_error_host_unknown('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'. @@ -11149,6 +12102,7 @@ encode_stream_error_host_gone('host-gone', {xmlel, <<"host-gone">>, _attrs, _els}. decode_stream_error_connection_timeout(__TopXMLNS, + __IgnoreEls, {xmlel, <<"connection-timeout">>, _attrs, _els}) -> 'connection-timeout'. @@ -11159,7 +12113,7 @@ encode_stream_error_connection_timeout('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. @@ -11169,6 +12123,7 @@ encode_stream_error_conflict(conflict, _xmlns_attrs) -> {xmlel, <<"conflict">>, _attrs, _els}. decode_stream_error_bad_namespace_prefix(__TopXMLNS, + __IgnoreEls, {xmlel, <<"bad-namespace-prefix">>, _attrs, _els}) -> 'bad-namespace-prefix'. @@ -11179,7 +12134,7 @@ encode_stream_error_bad_namespace_prefix('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'. @@ -11189,23 +12144,25 @@ encode_stream_error_bad_format('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, - <>); -decode_stream_error_text_els(__TopXMLNS, [_ | _els], - Data) -> - decode_stream_error_text_els(__TopXMLNS, _els, Data). + decode_stream_error_text_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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) -> @@ -11248,37 +12205,43 @@ encode_stream_error_text_cdata(undefined, _acc) -> _acc; 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}. @@ -11290,19 +12253,23 @@ encode_time({time, Tzo, Utc}, _xmlns_attrs) -> '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, <>); -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, []), @@ -11322,19 +12289,23 @@ encode_time_tzo_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -11354,7 +12325,7 @@ encode_time_utc_cdata(undefined, _acc) -> _acc; encode_time_utc_cdata(_val, _acc) -> [{xmlcdata, enc_utc(_val)} | _acc]. -decode_ping(__TopXMLNS, +decode_ping(__TopXMLNS, __IgnoreEls, {xmlel, <<"ping">>, _attrs, _els}) -> {ping}. @@ -11363,7 +12334,7 @@ encode_ping({ping}, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"ping">>, _attrs, _els}. -decode_session(__TopXMLNS, +decode_session(__TopXMLNS, __IgnoreEls, {xmlel, <<"session">>, _attrs, _els}) -> {session}. @@ -11372,432 +12343,500 @@ encode_session({session}, _xmlns_attrs) -> _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}. + State, Zip, Phone, Url, Date, Misc, Text, Key, Xdata}. -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, - 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, [], 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, - decode_register_registered(__TopXMLNS, _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) - end; -decode_register_els(__TopXMLNS, - [{xmlel, <<"remove">>, _attrs, _} = _el | _els], Zip, + {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, + [{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, Registered, Date, Phone, State, Name, - Username, - decode_register_remove(__TopXMLNS, _el), Key, + 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, - [{xmlel, <<"instructions">>, _attrs, _} = _el | _els], - Zip, Misc, Address, Instructions, Text, Last, First, +decode_register_els(__TopXMLNS, __IgnoreEls, + [{xmlel, <<"remove">>, _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, - decode_register_instructions(__TopXMLNS, _el), + 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, __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, <<"instructions">>, _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, + 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) - end; -decode_register_els(__TopXMLNS, - [{xmlel, <<"username">>, _attrs, _} = _el | _els], Zip, - 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), - 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) - end; -decode_register_els(__TopXMLNS, - [{xmlel, <<"nick">>, _attrs, _} = _el | _els], Zip, - 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); - 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) - end; -decode_register_els(__TopXMLNS, - [{xmlel, <<"password">>, _attrs, _} = _el | _els], Zip, - 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), - 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) - end; -decode_register_els(__TopXMLNS, - [{xmlel, <<"name">>, _attrs, _} = _el | _els], Zip, - 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); - 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) - end; -decode_register_els(__TopXMLNS, - [{xmlel, <<"first">>, _attrs, _} = _el | _els], Zip, - 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, - Password, Registered, Date, Phone, State, Name, - Username, Remove, Key, City, Nick, Url, Email) - end; -decode_register_els(__TopXMLNS, - [{xmlel, <<"last">>, _attrs, _} = _el | _els], Zip, - 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); - 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) - end; -decode_register_els(__TopXMLNS, - [{xmlel, <<"email">>, _attrs, _} = _el | _els], Zip, - 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)); - 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) - end; -decode_register_els(__TopXMLNS, - [{xmlel, <<"address">>, _attrs, _} = _el | _els], Zip, - 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), - 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) - end; -decode_register_els(__TopXMLNS, - [{xmlel, <<"city">>, _attrs, _} = _el | _els], Zip, - 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); - 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) - end; -decode_register_els(__TopXMLNS, - [{xmlel, <<"state">>, _attrs, _} = _el | _els], Zip, - 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); - 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) - 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) -> - _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); - 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) - end; -decode_register_els(__TopXMLNS, - [{xmlel, <<"phone">>, _attrs, _} = _el | _els], Zip, - 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, + 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, <<"url">>, _attrs, _} = _el | _els], Zip, 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); - 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) - end; -decode_register_els(__TopXMLNS, - [{xmlel, <<"date">>, _attrs, _} = _el | _els], Zip, - Misc, Address, Instructions, Text, Last, First, +decode_register_els(__TopXMLNS, __IgnoreEls, + [{xmlel, <<"username">>, _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, - decode_register_date(__TopXMLNS, _el), Phone, - State, Name, Username, Remove, Key, City, Nick, + 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, __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, <<"nick">>, _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, 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, - [{xmlel, <<"misc">>, _attrs, _} = _el | _els], Zip, - Misc, Address, Instructions, Text, Last, First, +decode_register_els(__TopXMLNS, __IgnoreEls, + [{xmlel, <<"password">>, _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, - decode_register_misc(__TopXMLNS, _el), Address, - Instructions, Text, Last, First, Password, + 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, - [{xmlel, <<"text">>, _attrs, _} = _el | _els], Zip, - Misc, Address, Instructions, Text, Last, First, +decode_register_els(__TopXMLNS, __IgnoreEls, + [{xmlel, <<"name">>, _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, - decode_register_text(__TopXMLNS, _el), Last, + 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, __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, <<"first">>, _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, + decode_register_first(__TopXMLNS, __IgnoreEls, + _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, <<"last">>, _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, + 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, - [{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, <<"email">>, _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, + 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, __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, <<"address">>, _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, + 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, __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, <<"city">>, _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, Registered, Date, Phone, State, + Name, Username, Remove, Key, + decode_register_city(__TopXMLNS, __IgnoreEls, + _el), + 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, <<"state">>, _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, Registered, Date, Phone, + decode_register_state(__TopXMLNS, __IgnoreEls, + _el), + 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, <<"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, __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, __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, <<"phone">>, _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, 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, + 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, <<"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, __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, __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, <<"date">>, _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, Registered, + decode_register_date(__TopXMLNS, __IgnoreEls, + _el), + 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, <<"misc">>, _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, + 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, [_ | _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, + [{xmlel, <<"text">>, _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, + 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) + end; +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, __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, __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, [_ | _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}. @@ -11805,6 +12844,12 @@ encode_register({register, Registered, Remove, '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]. @@ -11882,20 +12927,23 @@ encode_register({register, Registered, Remove, '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_cdata(__TopXMLNS, Cdata); -decode_register_key_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_key_els(__TopXMLNS, _els, - <>); -decode_register_key_els(__TopXMLNS, [_ | _els], +decode_register_key_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_key_els(__TopXMLNS, _els, Cdata). + decode_register_key_cdata(__TopXMLNS, Cdata); +decode_register_key_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_key_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -11909,21 +12957,23 @@ encode_register_key_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_text_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_text_els(__TopXMLNS, _els, - <>); -decode_register_text_els(__TopXMLNS, [_ | _els], +decode_register_text_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_text_els(__TopXMLNS, _els, Cdata). + decode_register_text_cdata(__TopXMLNS, Cdata); +decode_register_text_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_text_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -11937,21 +12987,23 @@ encode_register_text_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_misc_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_misc_els(__TopXMLNS, _els, - <>); -decode_register_misc_els(__TopXMLNS, [_ | _els], +decode_register_misc_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_misc_els(__TopXMLNS, _els, Cdata). + decode_register_misc_cdata(__TopXMLNS, Cdata); +decode_register_misc_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_misc_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -11965,21 +13017,23 @@ encode_register_misc_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_date_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_date_els(__TopXMLNS, _els, - <>); -decode_register_date_els(__TopXMLNS, [_ | _els], +decode_register_date_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_date_els(__TopXMLNS, _els, Cdata). + decode_register_date_cdata(__TopXMLNS, Cdata); +decode_register_date_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_date_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -11993,20 +13047,23 @@ encode_register_date_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_url_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_url_els(__TopXMLNS, _els, - <>); -decode_register_url_els(__TopXMLNS, [_ | _els], +decode_register_url_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_url_els(__TopXMLNS, _els, Cdata). + decode_register_url_cdata(__TopXMLNS, Cdata); +decode_register_url_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_url_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -12020,21 +13077,23 @@ encode_register_url_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_phone_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_phone_els(__TopXMLNS, _els, - <>); -decode_register_phone_els(__TopXMLNS, [_ | _els], +decode_register_phone_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_phone_els(__TopXMLNS, _els, Cdata). + decode_register_phone_cdata(__TopXMLNS, Cdata); +decode_register_phone_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_phone_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -12048,20 +13107,23 @@ encode_register_phone_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_zip_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_zip_els(__TopXMLNS, _els, - <>); -decode_register_zip_els(__TopXMLNS, [_ | _els], +decode_register_zip_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_zip_els(__TopXMLNS, _els, Cdata). + decode_register_zip_cdata(__TopXMLNS, Cdata); +decode_register_zip_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_zip_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -12075,21 +13137,23 @@ encode_register_zip_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_state_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_state_els(__TopXMLNS, _els, - <>); -decode_register_state_els(__TopXMLNS, [_ | _els], +decode_register_state_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_state_els(__TopXMLNS, _els, Cdata). + decode_register_state_cdata(__TopXMLNS, Cdata); +decode_register_state_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_state_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -12103,21 +13167,23 @@ encode_register_state_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_city_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_city_els(__TopXMLNS, _els, - <>); -decode_register_city_els(__TopXMLNS, [_ | _els], +decode_register_city_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_city_els(__TopXMLNS, _els, Cdata). + decode_register_city_cdata(__TopXMLNS, Cdata); +decode_register_city_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_city_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -12131,21 +13197,23 @@ encode_register_city_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_address_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_address_els(__TopXMLNS, _els, - <>); -decode_register_address_els(__TopXMLNS, [_ | _els], +decode_register_address_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_address_els(__TopXMLNS, _els, Cdata). + decode_register_address_cdata(__TopXMLNS, Cdata); +decode_register_address_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_address_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -12159,21 +13227,23 @@ encode_register_address_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_email_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_email_els(__TopXMLNS, _els, - <>); -decode_register_email_els(__TopXMLNS, [_ | _els], +decode_register_email_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_email_els(__TopXMLNS, _els, Cdata). + decode_register_email_cdata(__TopXMLNS, Cdata); +decode_register_email_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_email_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -12187,21 +13257,23 @@ encode_register_email_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_last_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_last_els(__TopXMLNS, _els, - <>); -decode_register_last_els(__TopXMLNS, [_ | _els], +decode_register_last_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_last_els(__TopXMLNS, _els, Cdata). + decode_register_last_cdata(__TopXMLNS, Cdata); +decode_register_last_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_last_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -12215,21 +13287,23 @@ encode_register_last_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_first_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_first_els(__TopXMLNS, _els, - <>); -decode_register_first_els(__TopXMLNS, [_ | _els], +decode_register_first_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_first_els(__TopXMLNS, _els, Cdata). + decode_register_first_cdata(__TopXMLNS, Cdata); +decode_register_first_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_first_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -12243,21 +13317,23 @@ encode_register_first_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_name_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_name_els(__TopXMLNS, _els, - <>); -decode_register_name_els(__TopXMLNS, [_ | _els], +decode_register_name_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_name_els(__TopXMLNS, _els, Cdata). + decode_register_name_cdata(__TopXMLNS, Cdata); +decode_register_name_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_name_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -12271,21 +13347,23 @@ encode_register_name_cdata(none, _acc) -> _acc; 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, - <>); -decode_register_password_els(__TopXMLNS, [_ | _els], - Cdata) -> - decode_register_password_els(__TopXMLNS, _els, Cdata). + decode_register_password_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -12301,21 +13379,23 @@ encode_register_password_cdata(none, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_register_nick_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_register_nick_els(__TopXMLNS, _els, - <>); -decode_register_nick_els(__TopXMLNS, [_ | _els], +decode_register_nick_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_register_nick_els(__TopXMLNS, _els, Cdata). + decode_register_nick_cdata(__TopXMLNS, Cdata); +decode_register_nick_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_register_nick_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -12329,21 +13409,23 @@ encode_register_nick_cdata(none, _acc) -> _acc; 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, - <>); -decode_register_username_els(__TopXMLNS, [_ | _els], - Cdata) -> - decode_register_username_els(__TopXMLNS, _els, Cdata). + decode_register_username_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -12359,23 +13441,25 @@ encode_register_username_cdata(none, _acc) -> _acc; 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, - <>); -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, + <>); +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, []), @@ -12392,7 +13476,7 @@ encode_register_instructions_cdata(undefined, _acc) -> encode_register_instructions_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. -decode_register_remove(__TopXMLNS, +decode_register_remove(__TopXMLNS, __IgnoreEls, {xmlel, <<"remove">>, _attrs, _els}) -> true. @@ -12401,7 +13485,7 @@ encode_register_remove(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"remove">>, _attrs, _els}. -decode_register_registered(__TopXMLNS, +decode_register_registered(__TopXMLNS, __IgnoreEls, {xmlel, <<"registered">>, _attrs, _els}) -> true. @@ -12410,7 +13494,7 @@ encode_register_registered(true, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"registered">>, _attrs, _els}. -decode_feature_register(__TopXMLNS, +decode_feature_register(__TopXMLNS, __IgnoreEls, {xmlel, <<"register">>, _attrs, _els}) -> {feature_register}. @@ -12420,7 +13504,7 @@ encode_feature_register({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, @@ -12482,7 +13566,7 @@ encode_caps_attr_ver(undefined, _acc) -> _acc; 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}. @@ -12491,7 +13575,7 @@ encode_p1_ack({p1_ack}, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"ack">>, _attrs, _els}. -decode_p1_rebind(__TopXMLNS, +decode_p1_rebind(__TopXMLNS, __IgnoreEls, {xmlel, <<"rebind">>, _attrs, _els}) -> {p1_rebind}. @@ -12500,7 +13584,7 @@ encode_p1_rebind({p1_rebind}, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"rebind">>, _attrs, _els}. -decode_p1_push(__TopXMLNS, +decode_p1_push(__TopXMLNS, __IgnoreEls, {xmlel, <<"push">>, _attrs, _els}) -> {p1_push}. @@ -12509,26 +13593,34 @@ encode_p1_push({p1_push}, _xmlns_attrs) -> _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) -> - lists:reverse(__Els); -decode_stream_features_els(__TopXMLNS, - [{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], +decode_stream_features_els(__TopXMLNS, __IgnoreEls, [], __Els) -> - decode_stream_features_els(__TopXMLNS, _els, __Els). + lists:reverse(__Els); +decode_stream_features_els(__TopXMLNS, __IgnoreEls, + [{xmlel, _, _, _} = _el | _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) -> @@ -12536,35 +13628,42 @@ encode_stream_features({stream_features, __Els}, _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}. @@ -12574,21 +13673,23 @@ encode_compression({compression, Methods}, [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, - <>); -decode_compression_method_els(__TopXMLNS, [_ | _els], - Cdata) -> - decode_compression_method_els(__TopXMLNS, _els, Cdata). + decode_compression_method_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -12605,7 +13706,7 @@ encode_compression_method_cdata(undefined, _acc) -> encode_compression_method_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. -decode_compressed(__TopXMLNS, +decode_compressed(__TopXMLNS, __IgnoreEls, {xmlel, <<"compressed">>, _attrs, _els}) -> {compressed}. @@ -12614,30 +13715,39 @@ encode_compressed({compressed}, _xmlns_attrs) -> _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}. @@ -12646,21 +13756,23 @@ encode_compress({compress, Methods}, _xmlns_attrs) -> '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_cdata(__TopXMLNS, Cdata); -decode_compress_method_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_compress_method_els(__TopXMLNS, _els, - <>); -decode_compress_method_els(__TopXMLNS, [_ | _els], +decode_compress_method_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_compress_method_els(__TopXMLNS, _els, Cdata). + decode_compress_method_cdata(__TopXMLNS, Cdata); +decode_compress_method_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_compress_method_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -12675,57 +13787,70 @@ encode_compress_method_cdata(undefined, _acc) -> _acc; 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}. @@ -12748,6 +13873,7 @@ encode_compress_failure({compress_failure, Reason}, | _acc]. decode_compress_failure_unsupported_method(__TopXMLNS, + __IgnoreEls, {xmlel, <<"unsupported-method">>, _attrs, _els}) -> 'unsupported-method'. @@ -12759,6 +13885,7 @@ encode_compress_failure_unsupported_method('unsupported-method', {xmlel, <<"unsupported-method">>, _attrs, _els}. decode_compress_failure_processing_failed(__TopXMLNS, + __IgnoreEls, {xmlel, <<"processing-failed">>, _attrs, _els}) -> 'processing-failed'. @@ -12770,6 +13897,7 @@ encode_compress_failure_processing_failed('processing-failed', {xmlel, <<"processing-failed">>, _attrs, _els}. decode_compress_failure_setup_failed(__TopXMLNS, + __IgnoreEls, {xmlel, <<"setup-failed">>, _attrs, _els}) -> 'setup-failed'. @@ -12780,7 +13908,7 @@ encode_compress_failure_setup_failed('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}. @@ -12790,7 +13918,7 @@ encode_starttls_failure({starttls_failure}, _attrs = _xmlns_attrs, {xmlel, <<"failure">>, _attrs, _els}. -decode_starttls_proceed(__TopXMLNS, +decode_starttls_proceed(__TopXMLNS, __IgnoreEls, {xmlel, <<"proceed">>, _attrs, _els}) -> {starttls_proceed}. @@ -12800,27 +13928,36 @@ encode_starttls_proceed({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}. @@ -12828,7 +13965,7 @@ encode_starttls({starttls, Required}, _xmlns_attrs) -> 'encode_starttls_$required'(Required, _acc) -> [encode_starttls_required(Required, []) | _acc]. -decode_starttls_required(__TopXMLNS, +decode_starttls_required(__TopXMLNS, __IgnoreEls, {xmlel, <<"required">>, _attrs, _els}) -> true. @@ -12837,35 +13974,42 @@ encode_starttls_required(true, _xmlns_attrs) -> _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}. @@ -12874,21 +14018,23 @@ encode_sasl_mechanisms({sasl_mechanisms, List}, '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_cdata(__TopXMLNS, Cdata); -decode_sasl_mechanism_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_sasl_mechanism_els(__TopXMLNS, _els, - <>); -decode_sasl_mechanism_els(__TopXMLNS, [_ | _els], +decode_sasl_mechanism_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_sasl_mechanism_els(__TopXMLNS, _els, Cdata). + decode_sasl_mechanism_cdata(__TopXMLNS, Cdata); +decode_sasl_mechanism_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_sasl_mechanism_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -12903,164 +14049,202 @@ encode_sasl_mechanism_cdata(undefined, _acc) -> _acc; 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}. @@ -13122,6 +14306,7 @@ encode_sasl_failure({sasl_failure, Reason, Text}, | _acc]. decode_sasl_failure_temporary_auth_failure(__TopXMLNS, + __IgnoreEls, {xmlel, <<"temporary-auth-failure">>, _attrs, _els}) -> 'temporary-auth-failure'. @@ -13133,6 +14318,7 @@ encode_sasl_failure_temporary_auth_failure('temporary-auth-failure', {xmlel, <<"temporary-auth-failure">>, _attrs, _els}. decode_sasl_failure_not_authorized(__TopXMLNS, + __IgnoreEls, {xmlel, <<"not-authorized">>, _attrs, _els}) -> 'not-authorized'. @@ -13144,6 +14330,7 @@ encode_sasl_failure_not_authorized('not-authorized', {xmlel, <<"not-authorized">>, _attrs, _els}. decode_sasl_failure_mechanism_too_weak(__TopXMLNS, + __IgnoreEls, {xmlel, <<"mechanism-too-weak">>, _attrs, _els}) -> 'mechanism-too-weak'. @@ -13155,6 +14342,7 @@ encode_sasl_failure_mechanism_too_weak('mechanism-too-weak', {xmlel, <<"mechanism-too-weak">>, _attrs, _els}. decode_sasl_failure_malformed_request(__TopXMLNS, + __IgnoreEls, {xmlel, <<"malformed-request">>, _attrs, _els}) -> 'malformed-request'. @@ -13166,6 +14354,7 @@ encode_sasl_failure_malformed_request('malformed-request', {xmlel, <<"malformed-request">>, _attrs, _els}. decode_sasl_failure_invalid_mechanism(__TopXMLNS, + __IgnoreEls, {xmlel, <<"invalid-mechanism">>, _attrs, _els}) -> 'invalid-mechanism'. @@ -13177,6 +14366,7 @@ encode_sasl_failure_invalid_mechanism('invalid-mechanism', {xmlel, <<"invalid-mechanism">>, _attrs, _els}. decode_sasl_failure_invalid_authzid(__TopXMLNS, + __IgnoreEls, {xmlel, <<"invalid-authzid">>, _attrs, _els}) -> 'invalid-authzid'. @@ -13188,6 +14378,7 @@ encode_sasl_failure_invalid_authzid('invalid-authzid', {xmlel, <<"invalid-authzid">>, _attrs, _els}. decode_sasl_failure_incorrect_encoding(__TopXMLNS, + __IgnoreEls, {xmlel, <<"incorrect-encoding">>, _attrs, _els}) -> 'incorrect-encoding'. @@ -13199,6 +14390,7 @@ encode_sasl_failure_incorrect_encoding('incorrect-encoding', {xmlel, <<"incorrect-encoding">>, _attrs, _els}. decode_sasl_failure_encryption_required(__TopXMLNS, + __IgnoreEls, {xmlel, <<"encryption-required">>, _attrs, _els}) -> 'encryption-required'. @@ -13210,6 +14402,7 @@ encode_sasl_failure_encryption_required('encryption-required', {xmlel, <<"encryption-required">>, _attrs, _els}. decode_sasl_failure_credentials_expired(__TopXMLNS, + __IgnoreEls, {xmlel, <<"credentials-expired">>, _attrs, _els}) -> 'credentials-expired'. @@ -13221,6 +14414,7 @@ encode_sasl_failure_credentials_expired('credentials-expired', {xmlel, <<"credentials-expired">>, _attrs, _els}. decode_sasl_failure_account_disabled(__TopXMLNS, + __IgnoreEls, {xmlel, <<"account-disabled">>, _attrs, _els}) -> 'account-disabled'. @@ -13231,7 +14425,7 @@ encode_sasl_failure_account_disabled('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. @@ -13240,23 +14434,25 @@ encode_sasl_failure_aborted(aborted, _xmlns_attrs) -> _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, - <>); -decode_sasl_failure_text_els(__TopXMLNS, [_ | _els], - Data) -> - decode_sasl_failure_text_els(__TopXMLNS, _els, Data). + decode_sasl_failure_text_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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) -> @@ -13299,19 +14495,23 @@ encode_sasl_failure_text_cdata(undefined, _acc) -> _acc; 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, <>); -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) -> @@ -13333,20 +14533,23 @@ encode_sasl_success_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Text); -decode_sasl_response_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Text) -> - decode_sasl_response_els(__TopXMLNS, _els, - <>); -decode_sasl_response_els(__TopXMLNS, [_ | _els], +decode_sasl_response_els(__TopXMLNS, __IgnoreEls, [], Text) -> - decode_sasl_response_els(__TopXMLNS, _els, Text). + decode_sasl_response_cdata(__TopXMLNS, Text); +decode_sasl_response_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Text) -> + decode_sasl_response_els(__TopXMLNS, __IgnoreEls, _els, + <>); +decode_sasl_response_els(__TopXMLNS, __IgnoreEls, + [_ | _els], Text) -> + decode_sasl_response_els(__TopXMLNS, __IgnoreEls, _els, + Text). encode_sasl_response({sasl_response, Text}, _xmlns_attrs) -> @@ -13368,21 +14571,23 @@ encode_sasl_response_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Text); -decode_sasl_challenge_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Text) -> - decode_sasl_challenge_els(__TopXMLNS, _els, - <>); -decode_sasl_challenge_els(__TopXMLNS, [_ | _els], +decode_sasl_challenge_els(__TopXMLNS, __IgnoreEls, [], Text) -> - decode_sasl_challenge_els(__TopXMLNS, _els, Text). + decode_sasl_challenge_cdata(__TopXMLNS, Text); +decode_sasl_challenge_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Text) -> + decode_sasl_challenge_els(__TopXMLNS, __IgnoreEls, _els, + <>); +decode_sasl_challenge_els(__TopXMLNS, __IgnoreEls, + [_ | _els], Text) -> + decode_sasl_challenge_els(__TopXMLNS, __IgnoreEls, _els, + Text). encode_sasl_challenge({sasl_challenge, Text}, _xmlns_attrs) -> @@ -13404,7 +14609,7 @@ encode_sasl_challenge_cdata(undefined, _acc) -> _acc; 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}. @@ -13413,21 +14618,25 @@ encode_sasl_abort({sasl_abort}, _xmlns_attrs) -> _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, <>); -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) -> @@ -13469,39 +14678,47 @@ encode_sasl_auth_cdata(undefined, _acc) -> _acc; 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}. @@ -13513,21 +14730,23 @@ encode_bind({bind, Jid, Resource}, _xmlns_attrs) -> '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_cdata(__TopXMLNS, Cdata); -decode_bind_resource_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_bind_resource_els(__TopXMLNS, _els, - <>); -decode_bind_resource_els(__TopXMLNS, [_ | _els], +decode_bind_resource_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_bind_resource_els(__TopXMLNS, _els, Cdata). + decode_bind_resource_cdata(__TopXMLNS, Cdata); +decode_bind_resource_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_bind_resource_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -13548,19 +14767,23 @@ encode_bind_resource_cdata(undefined, _acc) -> _acc; 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, <>); -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, []), @@ -13580,261 +14803,333 @@ encode_bind_jid_cdata(undefined, _acc) -> _acc; 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) -> @@ -13851,8 +15146,9 @@ decode_error_attrs(__TopXMLNS, [], 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}. @@ -14018,21 +15314,25 @@ encode_error_attr_by(undefined, _acc) -> _acc; 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, <>); -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) -> @@ -14067,7 +15367,7 @@ encode_error_text_cdata(undefined, _acc) -> _acc; 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'. @@ -14079,6 +15379,7 @@ encode_error_unexpected_request('unexpected-request', {xmlel, <<"unexpected-request">>, _attrs, _els}. decode_error_undefined_condition(__TopXMLNS, + __IgnoreEls, {xmlel, <<"undefined-condition">>, _attrs, _els}) -> 'undefined-condition'. @@ -14090,6 +15391,7 @@ encode_error_undefined_condition('undefined-condition', {xmlel, <<"undefined-condition">>, _attrs, _els}. decode_error_subscription_required(__TopXMLNS, + __IgnoreEls, {xmlel, <<"subscription-required">>, _attrs, _els}) -> 'subscription-required'. @@ -14101,6 +15403,7 @@ encode_error_subscription_required('subscription-required', {xmlel, <<"subscription-required">>, _attrs, _els}. decode_error_service_unavailable(__TopXMLNS, + __IgnoreEls, {xmlel, <<"service-unavailable">>, _attrs, _els}) -> 'service-unavailable'. @@ -14112,6 +15415,7 @@ encode_error_service_unavailable('service-unavailable', {xmlel, <<"service-unavailable">>, _attrs, _els}. decode_error_resource_constraint(__TopXMLNS, + __IgnoreEls, {xmlel, <<"resource-constraint">>, _attrs, _els}) -> 'resource-constraint'. @@ -14123,6 +15427,7 @@ encode_error_resource_constraint('resource-constraint', {xmlel, <<"resource-constraint">>, _attrs, _els}. decode_error_remote_server_timeout(__TopXMLNS, + __IgnoreEls, {xmlel, <<"remote-server-timeout">>, _attrs, _els}) -> 'remote-server-timeout'. @@ -14134,6 +15439,7 @@ encode_error_remote_server_timeout('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'. @@ -14145,6 +15451,7 @@ encode_error_remote_server_not_found('remote-server-not-found', {xmlel, <<"remote-server-not-found">>, _attrs, _els}. decode_error_registration_required(__TopXMLNS, + __IgnoreEls, {xmlel, <<"registration-required">>, _attrs, _els}) -> 'registration-required'. @@ -14155,20 +15462,23 @@ encode_error_registration_required('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_cdata(__TopXMLNS, Uri); -decode_error_redirect_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Uri) -> - decode_error_redirect_els(__TopXMLNS, _els, - <>); -decode_error_redirect_els(__TopXMLNS, [_ | _els], +decode_error_redirect_els(__TopXMLNS, __IgnoreEls, [], Uri) -> - decode_error_redirect_els(__TopXMLNS, _els, Uri). + decode_error_redirect_cdata(__TopXMLNS, Uri); +decode_error_redirect_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Uri) -> + decode_error_redirect_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -14184,6 +15494,7 @@ encode_error_redirect_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. decode_error_recipient_unavailable(__TopXMLNS, + __IgnoreEls, {xmlel, <<"recipient-unavailable">>, _attrs, _els}) -> 'recipient-unavailable'. @@ -14194,7 +15505,7 @@ encode_error_recipient_unavailable('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'. @@ -14204,7 +15515,7 @@ encode_error_policy_violation('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'. @@ -14214,7 +15525,7 @@ encode_error_not_authorized('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'. @@ -14223,7 +15534,7 @@ encode_error_not_allowed('not-allowed', _xmlns_attrs) -> _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'. @@ -14233,7 +15544,7 @@ encode_error_not_acceptable('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'. @@ -14243,7 +15554,7 @@ encode_error_jid_malformed('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'. @@ -14254,6 +15565,7 @@ encode_error_item_not_found('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'. @@ -14264,19 +15576,23 @@ encode_error_internal_server_error('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, <>); -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, []), @@ -14290,7 +15606,7 @@ encode_error_gone_cdata(undefined, _acc) -> _acc; encode_error_gone_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. -decode_error_forbidden(__TopXMLNS, +decode_error_forbidden(__TopXMLNS, __IgnoreEls, {xmlel, <<"forbidden">>, _attrs, _els}) -> forbidden. @@ -14300,6 +15616,7 @@ encode_error_forbidden(forbidden, _xmlns_attrs) -> {xmlel, <<"forbidden">>, _attrs, _els}. decode_error_feature_not_implemented(__TopXMLNS, + __IgnoreEls, {xmlel, <<"feature-not-implemented">>, _attrs, _els}) -> 'feature-not-implemented'. @@ -14310,7 +15627,7 @@ encode_error_feature_not_implemented('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. @@ -14319,7 +15636,7 @@ encode_error_conflict(conflict, _xmlns_attrs) -> _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'. @@ -14328,85 +15645,97 @@ encode_error_bad_request('bad-request', _xmlns_attrs) -> _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) + 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, [_ | _els], Error, - Status, Show, Priority, __Els) -> - decode_presence_els(__TopXMLNS, _els, Error, Status, - Show, Priority, __Els). +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, @@ -14448,13 +15777,12 @@ decode_presence_attrs(__TopXMLNS, [], Id, Type, From, 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, @@ -14547,21 +15875,23 @@ encode_presence_attr_to(_val, _acc) -> '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, - <>); -decode_presence_priority_els(__TopXMLNS, [_ | _els], - Cdata) -> - decode_presence_priority_els(__TopXMLNS, _els, Cdata). + decode_presence_priority_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -14582,23 +15912,25 @@ encode_presence_priority_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Data); -decode_presence_status_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Data) -> - decode_presence_status_els(__TopXMLNS, _els, - <>); -decode_presence_status_els(__TopXMLNS, [_ | _els], +decode_presence_status_els(__TopXMLNS, __IgnoreEls, [], Data) -> - decode_presence_status_els(__TopXMLNS, _els, Data). + decode_presence_status_cdata(__TopXMLNS, Data); +decode_presence_status_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Data) -> + decode_presence_status_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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) -> @@ -14638,21 +15970,23 @@ encode_presence_status_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_presence_show_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_presence_show_els(__TopXMLNS, _els, - <>); -decode_presence_show_els(__TopXMLNS, [_ | _els], +decode_presence_show_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_presence_show_els(__TopXMLNS, _els, Cdata). + decode_presence_show_cdata(__TopXMLNS, Cdata); +decode_presence_show_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_presence_show_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -14673,86 +16007,96 @@ encode_presence_show_cdata(undefined, _acc) -> _acc; 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) + 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, [_ | _els], Error, - Thread, Subject, Body, __Els) -> - decode_message_els(__TopXMLNS, _els, Error, Thread, - Subject, Body, __Els). +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, @@ -14794,13 +16138,12 @@ decode_message_attrs(__TopXMLNS, [], 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, @@ -14890,21 +16233,23 @@ encode_message_attr_to(_val, _acc) -> '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_cdata(__TopXMLNS, Cdata); -decode_message_thread_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_message_thread_els(__TopXMLNS, _els, - <>); -decode_message_thread_els(__TopXMLNS, [_ | _els], +decode_message_thread_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_message_thread_els(__TopXMLNS, _els, Cdata). + decode_message_thread_cdata(__TopXMLNS, Cdata); +decode_message_thread_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_message_thread_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -14919,21 +16264,25 @@ encode_message_thread_cdata(undefined, _acc) -> _acc; 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, <>); -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) -> @@ -14969,23 +16318,25 @@ encode_message_body_cdata(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Data); -decode_message_subject_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Data) -> - decode_message_subject_els(__TopXMLNS, _els, - <>); -decode_message_subject_els(__TopXMLNS, [_ | _els], +decode_message_subject_els(__TopXMLNS, __IgnoreEls, [], Data) -> - decode_message_subject_els(__TopXMLNS, _els, Data). + decode_message_subject_cdata(__TopXMLNS, Data); +decode_message_subject_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Data) -> + decode_message_subject_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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) -> @@ -15025,37 +16376,49 @@ encode_message_subject_cdata(undefined, _acc) -> _acc; 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) -> @@ -15094,8 +16457,8 @@ decode_iq_attrs(__TopXMLNS, [], Id, Type, From, To, 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, @@ -15164,26 +16527,29 @@ encode_iq_attr_to(_val, _acc) -> '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}. @@ -15192,27 +16558,31 @@ encode_stats({stats, Stat}, _xmlns_attrs) -> '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) -> @@ -15237,7 +16607,7 @@ decode_stat_attrs(__TopXMLNS, [], 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, @@ -15273,21 +16643,25 @@ encode_stat_attr_value(undefined, _acc) -> _acc; 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, <>); -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) -> @@ -15325,54 +16699,59 @@ encode_stat_error_cdata(undefined, _acc) -> _acc; 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}. @@ -15391,7 +16770,7 @@ encode_bookmarks_storage({bookmark_storage, Conference, '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), @@ -15437,51 +16816,54 @@ decode_bookmark_url_attr_url(__TopXMLNS, _val) -> _val. 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, @@ -15512,9 +16894,10 @@ decode_bookmark_conference_attrs(__TopXMLNS, [], Name, 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, @@ -15581,21 +16964,23 @@ encode_bookmark_conference_attr_autojoin(false, _acc) -> 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, - <>); -decode_conference_password_els(__TopXMLNS, [_ | _els], - Cdata) -> - decode_conference_password_els(__TopXMLNS, _els, Cdata). + decode_conference_password_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -15612,21 +16997,23 @@ encode_conference_password_cdata(undefined, _acc) -> 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_cdata(__TopXMLNS, Cdata); -decode_conference_nick_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_conference_nick_els(__TopXMLNS, _els, - <>); -decode_conference_nick_els(__TopXMLNS, [_ | _els], +decode_conference_nick_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_conference_nick_els(__TopXMLNS, _els, Cdata). + decode_conference_nick_cdata(__TopXMLNS, Cdata); +decode_conference_nick_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_conference_nick_els(__TopXMLNS, __IgnoreEls, + _els, <>); +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, []), @@ -15641,43 +17028,56 @@ encode_conference_nick_cdata(undefined, _acc) -> _acc; 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) -> @@ -15690,7 +17090,8 @@ decode_disco_items_attrs(__TopXMLNS, [], 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}. @@ -15708,7 +17109,7 @@ encode_disco_items_attr_node(undefined, _acc) -> _acc; 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, @@ -15776,59 +17177,65 @@ encode_disco_item_attr_node(undefined, _acc) -> _acc; 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) -> @@ -15842,10 +17249,10 @@ decode_disco_info_attrs(__TopXMLNS, [], 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}. @@ -15879,7 +17286,7 @@ encode_disco_info_attr_node(undefined, _acc) -> _acc; 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), @@ -15908,7 +17315,7 @@ decode_disco_feature_attr_var(__TopXMLNS, _val) -> _val. 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, @@ -16004,7 +17411,7 @@ encode_disco_identity_attr_name(undefined, _acc) -> 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}. @@ -16013,29 +17420,37 @@ encode_block_list({block_list}, _xmlns_attrs) -> _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}. @@ -16044,29 +17459,33 @@ encode_unblock({unblock, Items}, _xmlns_attrs) -> '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}. @@ -16075,7 +17494,7 @@ encode_block({block, Items}, _xmlns_attrs) -> '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), @@ -16109,62 +17528,66 @@ decode_block_item_attr_jid(__TopXMLNS, _val) -> 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}. @@ -16181,7 +17604,7 @@ encode_privacy({privacy, Lists, Default, Active}, '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), @@ -16217,7 +17640,7 @@ encode_privacy_active_list_attr_name(none, _acc) -> 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), @@ -16253,27 +17676,33 @@ encode_privacy_default_list_attr_name(none, _acc) -> 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) -> @@ -16286,7 +17715,8 @@ decode_privacy_list_attrs(__TopXMLNS, [], 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}. @@ -16304,50 +17734,65 @@ decode_privacy_list_attr_name(__TopXMLNS, _val) -> _val. 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, @@ -16383,7 +17828,8 @@ decode_privacy_item_attrs(__TopXMLNS, [], Action, Order, 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, @@ -16466,7 +17912,7 @@ encode_privacy_item_attr_value(undefined, _acc) -> _acc; 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'. @@ -16476,7 +17922,7 @@ encode_privacy_presence_out('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'. @@ -16486,7 +17932,7 @@ encode_privacy_presence_in('presence-in', _attrs = _xmlns_attrs, {xmlel, <<"presence-in">>, _attrs, _els}. -decode_privacy_iq(__TopXMLNS, +decode_privacy_iq(__TopXMLNS, __IgnoreEls, {xmlel, <<"iq">>, _attrs, _els}) -> iq. @@ -16495,7 +17941,7 @@ encode_privacy_iq(iq, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"iq">>, _attrs, _els}. -decode_privacy_message(__TopXMLNS, +decode_privacy_message(__TopXMLNS, __IgnoreEls, {xmlel, <<"message">>, _attrs, _els}) -> message. @@ -16504,25 +17950,29 @@ encode_privacy_message(message, _xmlns_attrs) -> _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) -> @@ -16533,7 +17983,7 @@ decode_roster_attrs(__TopXMLNS, [], 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}. @@ -16550,29 +18000,35 @@ encode_roster_attr_ver(undefined, _acc) -> _acc; 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, @@ -16609,7 +18065,8 @@ decode_roster_item_attrs(__TopXMLNS, [], Jid, Name, 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, @@ -16678,20 +18135,23 @@ encode_roster_item_attr_ask(undefined, _acc) -> _acc; 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_cdata(__TopXMLNS, Cdata); -decode_roster_group_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_roster_group_els(__TopXMLNS, _els, - <>); -decode_roster_group_els(__TopXMLNS, [_ | _els], +decode_roster_group_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_roster_group_els(__TopXMLNS, _els, Cdata). + decode_roster_group_cdata(__TopXMLNS, Cdata); +decode_roster_group_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_roster_group_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -16706,54 +18166,64 @@ decode_roster_group_cdata(__TopXMLNS, _val) -> _val. 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}. @@ -16769,19 +18239,23 @@ encode_version({version, Name, Ver, Os}, '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, <>); -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, []), @@ -16796,19 +18270,23 @@ decode_version_os_cdata(__TopXMLNS, _val) -> _val. 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, <>); -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, []), @@ -16823,20 +18301,23 @@ decode_version_ver_cdata(__TopXMLNS, _val) -> _val. 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_cdata(__TopXMLNS, Cdata); -decode_version_name_els(__TopXMLNS, - [{xmlcdata, _data} | _els], Cdata) -> - decode_version_name_els(__TopXMLNS, _els, - <>); -decode_version_name_els(__TopXMLNS, [_ | _els], +decode_version_name_els(__TopXMLNS, __IgnoreEls, [], Cdata) -> - decode_version_name_els(__TopXMLNS, _els, Cdata). + decode_version_name_cdata(__TopXMLNS, Cdata); +decode_version_name_els(__TopXMLNS, __IgnoreEls, + [{xmlcdata, _data} | _els], Cdata) -> + decode_version_name_els(__TopXMLNS, __IgnoreEls, _els, + <>); +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, []), @@ -16851,21 +18332,23 @@ decode_version_name_cdata(__TopXMLNS, _val) -> _val. 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, <>); -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) -> diff --git a/tools/xmpp_codec.hrl b/tools/xmpp_codec.hrl index 9521d5d1a..549c6fb1b 100644 --- a/tools/xmpp_codec.hrl +++ b/tools/xmpp_codec.hrl @@ -293,27 +293,6 @@ nick :: binary(), password :: binary()}). --record(register, {registered = false :: boolean(), - remove = false :: boolean(), - instructions :: binary(), - username :: 'none' | binary(), - nick :: 'none' | binary(), - password :: 'none' | binary(), - name :: 'none' | binary(), - first :: 'none' | binary(), - last :: 'none' | binary(), - email :: 'none' | binary(), - address :: 'none' | binary(), - city :: 'none' | binary(), - state :: 'none' | binary(), - zip :: 'none' | binary(), - phone :: 'none' | binary(), - url :: 'none' | binary(), - date :: 'none' | binary(), - misc :: 'none' | binary(), - text :: 'none' | binary(), - key :: 'none' | binary()}). - -record(bookmark_url, {name :: binary(), url :: binary()}). @@ -376,6 +355,28 @@ items :: #pubsub_items{}, retract :: #pubsub_retract{}}). +-record(register, {registered = false :: boolean(), + remove = false :: boolean(), + instructions :: binary(), + username :: 'none' | binary(), + nick :: 'none' | binary(), + password :: 'none' | binary(), + name :: 'none' | binary(), + first :: 'none' | binary(), + last :: 'none' | binary(), + email :: 'none' | binary(), + address :: 'none' | binary(), + city :: 'none' | binary(), + state :: 'none' | binary(), + zip :: 'none' | binary(), + phone :: 'none' | binary(), + url :: 'none' | binary(), + date :: 'none' | binary(), + misc :: 'none' | binary(), + text :: 'none' | binary(), + key :: 'none' | binary(), + xdata :: #xdata{}}). + -record(disco_info, {node :: binary(), identities = [] :: [#identity{}], features = [] :: [binary()], @@ -473,3 +474,115 @@ -record(time, {tzo :: any(), utc :: any()}). + +-type xmpp_element() :: #session{} | + #compression{} | + #pubsub_subscription{} | + #version{} | + #pubsub_affiliation{} | + #muc_admin{} | + #sm_a{} | + #carbons_sent{} | + #p1_rebind{} | + #sasl_abort{} | + #carbons_received{} | + #pubsub_retract{} | + #compressed{} | + #block_list{} | + #'see-other-host'{} | + #starttls_proceed{} | + #sm_resumed{} | + #forwarded{} | + #privacy_list{} | + #text{} | + #vcard_org{} | + #feature_sm{} | + #pubsub_item{} | + #roster_item{} | + #pubsub_event_item{} | + #muc_item{} | + #shim{} | + #caps{} | + #muc{} | + #stream_features{} | + #stats{} | + #pubsub_items{} | + #pubsub_event_items{} | + #disco_items{} | + #pubsub_options{} | + #starttls{} | + #sasl_mechanisms{} | + #sasl_success{} | + #compress{} | + #bytestreams{} | + #vcard_key{} | + #identity{} | + #legacy_delay{} | + #muc_user_destroy{} | + #muc_owner_destroy{} | + #privacy{} | + #delay{} | + #muc_history{} | + #bookmark_url{} | + #vcard_email{} | + #vcard_label{} | + #vcard_tel{} | + #disco_info{} | + #vcard_logo{} | + #vcard_geo{} | + #vcard_photo{} | + #muc_owner{} | + #pubsub{} | + #sm_r{} | + #muc_actor{} | + #error{} | + #stream_error{} | + #feature_register{} | + #roster{} | + #muc_user{} | + #vcard_adr{} | + #register{} | + #muc_invite{} | + #carbons_disable{} | + #bookmark_conference{} | + #time{} | + #sasl_response{} | + #pubsub_subscribe{} | + #presence{} | + #message{} | + #sm_enable{} | + #starttls_failure{} | + #sasl_challenge{} | + #gone{} | + #private{} | + #compress_failure{} | + #sasl_failure{} | + #bookmark_storage{} | + #vcard_name{} | + #sm_resume{} | + #carbons_enable{} | + #carbons_private{} | + #pubsub_unsubscribe{} | + #muc_decline{} | + #sasl_auth{} | + #p1_push{} | + #pubsub_publish{} | + #unblock{} | + #p1_ack{} | + #block{} | + #xdata{} | + #iq{} | + #last{} | + #redirect{} | + #sm_enabled{} | + #pubsub_event{} | + #vcard_sound{} | + #streamhost{} | + #stat{} | + #xdata_field{} | + #bind{} | + #sm_failed{} | + #vcard{} | + #ping{} | + #disco_item{} | + #privacy_item{}. diff --git a/tools/xmpp_codec.spec b/tools/xmpp_codec.spec index 3e5afd980..4d218839b 100644 --- a/tools/xmpp_codec.spec +++ b/tools/xmpp_codec.spec @@ -944,8 +944,10 @@ '$username', '$nick', '$password', '$name', '$first', '$last', '$email', '$address', '$city', '$state', '$zip', '$phone', '$url', - '$date', '$misc', '$text', '$key'}, - refs = [#ref{name = register_registered, min = 0, max = 1, + '$date', '$misc', '$text', '$key', '$xdata'}, + refs = [#ref{name = xdata, min = 0, max = 1, + label = '$xdata'}, + #ref{name = register_registered, min = 0, max = 1, default = false, label = '$registered'}, #ref{name = register_remove, min = 0, max = 1, default = false, label = '$remove'},