SEO.JSONLD.PropertyValueSpecification (SEO v0.3.0-rc.0)

View Source

A Property value specification.

Helper for building a Schema.org PropertyValueSpecification JSON-LD structure.

Summary

Types

t()

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "PropertyValueSpecification", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

Build a PropertyValueSpecification JSON-LD map.

Types

attrs()

@type attrs() ::
  %{
    optional(:default_value) => String.t() | SEO.JSONLD.Thing.t() | map(),
    optional(:max_value) => number(),
    optional(:min_value) => number(),
    optional(:multiple_values) => boolean(),
    optional(:readonly_value) => boolean(),
    optional(:step_value) => number(),
    optional(:value_max_length) => number(),
    optional(:value_min_length) => number(),
    optional(:value_name) => String.t(),
    optional(:value_pattern) => String.t(),
    optional(:value_required) => boolean(),
    optional(:additional_type) => String.t() | URI.t(),
    optional(:alternate_name) => String.t(),
    optional(:description) => SEO.JSONLD.TextObject.t() | map() | String.t(),
    optional(:disambiguating_description) => String.t(),
    optional(:identifier) =>
      String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
    optional(:image) =>
      URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
    optional(:main_entity_of_page) =>
      SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
    optional(:name) => String.t(),
    optional(:owner) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:potential_action) => SEO.JSONLD.Action.t() | map(),
    optional(:same_as) => URI.t() | String.t(),
    optional(:subject_of) =>
      SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
    optional(:url) => URI.t() | String.t()
  }
  | [
      default_value: String.t() | SEO.JSONLD.Thing.t() | map(),
      max_value: number(),
      min_value: number(),
      multiple_values: boolean(),
      readonly_value: boolean(),
      step_value: number(),
      value_max_length: number(),
      value_min_length: number(),
      value_name: String.t(),
      value_pattern: String.t(),
      value_required: boolean(),
      additional_type: String.t() | URI.t(),
      alternate_name: String.t(),
      description: SEO.JSONLD.TextObject.t() | map() | String.t(),
      disambiguating_description: String.t(),
      identifier: String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
      image: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
      main_entity_of_page:
        SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
      name: String.t(),
      owner: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      potential_action: SEO.JSONLD.Action.t() | map(),
      same_as: URI.t() | String.t(),
      subject_of: SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
      url: URI.t() | String.t()
    ]

t()

@type t() :: %{required(String.t()) => term()}

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "PropertyValueSpecification", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

build(attrs)

@spec build(attrs()) :: t()

Build a PropertyValueSpecification JSON-LD map.

Fields

  • :default_value - The default value of the input. For properties that expect a literal, the default is a literal value, for properties that expect an object, it's an ID reference to one of the current values.
  • :max_value - The upper value of some characteristic or property.
  • :min_value - The lower value of some characteristic or property.
  • :multiple_values - Whether multiple values are allowed for the property. Default is false.
  • :readonly_value - Whether or not a property is mutable. Default is false. Specifying this for a property that also has a value makes it act similar to a "hidden" input in an HTML form.
  • :step_value - The stepValue attribute indicates the granularity that is expected (and required) of the value in a PropertyValueSpecification.
  • :value_max_length - Specifies the allowed range for number of characters in a literal value.
  • :value_min_length - Specifies the minimum allowed range for number of characters in a literal value.
  • :value_name - Indicates the name of the PropertyValueSpecification to be used in URL templates and form encoding in a manner analogous to HTML's input@name.
  • :value_pattern - Specifies a regular expression for testing literal values according to the HTML spec.
  • :value_required - Whether the property must be filled in to complete the action. Default is false.

Inherited properties

Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: