Software /
code /
prosody
Annotate
HACKERS @ 11476:83e127eb91f9
util.datamapper: Deal with locally built stanzas missing xmlns
So the problem is that xmlns is not inherited when building a stanza,
and then :get_child(n, ns) with an explicit namespace does not find that
such child tags.
E.g.
local t = st.stanza("foo", { xmlns = "urn:example:bar" })
:text_tag("hello", "world");
assert(t:get_child("hello", "urn:example:bar"), "This fails");
Meanwhile, during parsing (util.xmppstream or util.xml) child tags do
get the parents xmlns when not overriding them.
Thus, in the above example, if the stanza is passed trough
`t = util.xml.parse(tostring(t))` then the assert succeeds.
This change makes it so that it leaves out the namespace argument to
:get_child when it is the same as the current/parent namespace, which
behaves the same for both built and parsed stanzas.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 23 Mar 2021 19:52:59 +0100 |
parent | 9858:54147de1d1b1 |
rev | line source |
---|---|
13 | 1 Welcome hackers! |
2 | |
1082 | 3 This project accepts and *encourages* contributions. If you would like to get |
4 involved you can join us on our mailing list and discussion rooms. More | |
7359
a5a080c12c96
Update every link to the documentation to use HTTPS
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2664
diff
changeset
|
5 information on these at https://prosody.im/discuss |
13 | 6 |
1082 | 7 Patches are welcome, though before sending we would appreciate if you read |
9858
54147de1d1b1
doc/coding_style.{txt,md}: Update coding style guide
Matthew Wild <mwild1@gmail.com>
parents:
7359
diff
changeset
|
8 docs/coding_style.md for guidelines on how to format your code, and other tips. |
2664 | 9 |
7359
a5a080c12c96
Update every link to the documentation to use HTTPS
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
2664
diff
changeset
|
10 Documentation for developers can be found at https://prosody.im/doc/developers |
2664 | 11 |
12 Have fun :) |