openaustralia/planningalerts

View on GitHub
app/views/atdis/_section_4_3.html.haml

Summary

Maintainability
Test Coverage
:markdown
  <h3 id="section4.3">4.3 Schema</h3>

  The *schema* defines the specific data elements that are published in a compliant ATDIS-1.0.2 *feed*. The schema has a defined structure, broken down into one or more *application* records, which are further decomposed into *blocks* and *fields*.

  To comply with the Specification, a feed must support the basic conceptual structure of a **list** of application records, within which the feed will provide blocks and fields for each application record.

  Record types can be **mandatory** or **optional**. Within a record, fields can be **mandatory** or **optional**.

  A feed must include all **mandatory** record types. A feed *may* include any of the **optional** record types.

  For each mandatory record type, the feed *must* include all **mandatory** fields, and *may* include any of the **optional** fields.

  If a feed chooses to include a record type then it must include all mandatory fields for that record type. A feed can chose whether or not to include any optional fields within a block.

  If a field is empty, then it should be populated with the appropriate JSON null value. For example:

  ```
  {"field": null}
  ```

  Figure 4 describes the conceptual structure of a complying feed:

= image_tag "atdis/image_3.png", alt: "Feed structure"
%p{ align: "center" } Figure 4: Feed structure

:markdown
  There are *seven* record types defined within the Specification:

  1. Info
  2. Reference
  3. Locations
  4. Events
  5. Documents
  6. People
  7. Extended

  The following sections describe the semantics of each of the seven record types that make up the Specification. For each record type, the Specification indicates whether the record type is mandatory or optional, and within each record type, which fields are mandatory or optional.


= render "section_4_3_1"
= render "section_4_3_2"
= render "section_4_3_3"
= render "section_4_3_4"
= render "section_4_3_5"
= render "section_4_3_6"
= render "section_4_3_7"
= render "section_4_3_8"