Children Specification Property

Name

http://lynx-json.org/children

Meaning

The children property is used to provide a specification, or an array of specifications, to describe the values in a container. If the children property is an array of specifications, then it also describes the order of the items in the container.

Format Rules

If all of the values in a container have the same meaning and traits, then a single specification object may be used to describe them all. Otherwise, they must be described individually.

Single Specification

If present, the children property MUST be a specification or the URL of a specification.

Array of Specifications

  • Each item MUST be a specification or the URL of a specification.
  • Each specification MUST have a name property.

Examples

Properties of an Object

{
  "actor": "Chevy Chase",
  "rating": "PG",
  "title": "Fletch",
  "spec": {
    "hints": [ "container" ],
    "children": [
      {
        "name": "title",
        "hints": [ "http://example.com/movie-title", "text" ]
      },
      {
        "name": "rating",
        "hints": [ "http://example.com/mpaa-rating", "text" ]
      },
      {
        "name": "actor",
        "hints": [ "http://example.com/actor", "text" ]
      }
    ]
  }
}

Items in an Array with Same Meaning

{
  "value": [
    "G",
    "PG",
    "PG-13",
    "R"
  ],
  "spec": {
    "hints": [ "container" ],
    "children": {
      "hints": [ "http://example.com/mpaa-rating", "text" ]
    }
  }
}

Items in an Array with Different Meanings

{
  "value": [
    "Fletch"
    "PG",
    "Chevy Chase"
  ],
  "spec": {
    "hints": [ "container" ],
    "children": [
      {
        "name": "0",
        "hints": [ "http://example.com/movie-title", "text" ]
      },
      {
        "name": "1",
        "hints": [ "http://example.com/mpaa-rating", "text" ]
      },
      {
        "name": "2",
        "hints": [ "http://example.com/actor", "text" ]
      }
    ]
  }
}

Authoring Rules

None

Authoring Considerations

None

User Agent Rules

If a value in a container is a value/spec pair, then the user agent MUST use the specification object of the value/spec pair instead of the specification object found in the children property value.

Order of Values

If the container value is an object and the children property is a specification, then the order of the values in the container is undefined.

If the container value is an array and the children property is a specification, then the order of the values in the container is their natural order.

If the children property is an array of specifications, then the user agent MUST use the order of the specifications in the children property to determine the order of the values (ignoring their natural order if the container value is an array).

User Agent Considerations

None

results matching ""

    No results matching ""