Skip to content

Add regression tests for the meta element location and usage patterns with settings #831

@lindsay-stevens

Description

@lindsay-stevens

The ODK spec defines a metadata "meta" element (ref) that may contain metadata about the form, which is at a minimum the instanceID. The spec doesn't say where in the form the meta element should go, but the example instance XML shows it as a child of the primary data instance root element (typically but not necessarily named data).

Pyxform (current to v4.3.1) adds a root meta element at least for the instanceID (ref) or other settings such as instanceName (ref). Unless the omit_instanceID setting is active (ref) - but since that setting contradicts the spec there is a proposal to remove omit_instanceID in #806.

With the initial entities 2022.1.0 spec (ref) the entity declaration element is added to the root meta element. With entities v2025.1.0, there may be multiple meta elements, where the location of non-root meta elements follows the rules for entity declaration placement (ref).

There is a entities test case (ref) and requirement ID (ref) for the 2022.1.0 spec behaviour, but there should be additional tests/reqs to ensure that the root meta element is behaviour is consistent there are multiple meta blocks. In addition to spec compliance generally, there is a dependence on this from form clients (e.g. collect/#7141).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions