| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
The JSON Schema specification says that schemas are objects or booleans,
and that the 'type' property is optional and can be an array.
This module previously allowed bare type names as schemas and did not
really handle booleans.
It now handles missing 'type' properties and boolean 'true' as a schema.
Objects and arrays are guessed based on the presence of 'properties' or
'items' field.
|
| |
|
|
|
|
| |
Allows reuse of repetitive definitions in schemas.
|
| |
|
|
|
|
| |
Had a name, using attr() broke it.
|
| |
|
|
|
|
|
| |
Should the xml name/ns go on the array or the items schema? The later
apparently.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
E.g. error conditions or chat states.
|
|
|
|
|
|
|
| |
attribute matters
E.g. <feature var='foo'/> in XEP-0030 and some other simple
specifications.
|
| |
|
|
|
|
|
| |
Useful for certain enum-like uses where the element name is the relevant
information, e.g. chat states.
|
| |
|
|
Based on the XML support in the OpenAPI specification.
|