GS1 · Schema

JSON schema for linksets as defined in RFC 9264

LogisticsSupply ChainBelgiumStandardsTrack and TraceTraceabilityIdentifiersBarcodesFreight ForwardingRetail

Properties

Name Type Description
linkset array The linkset
View JSON Schema on GitHub

JSON Schema

gs1-resolver-linkset-schema.json Raw ↑
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "@id": "https://ref.gs1.org/standards/resolver/linkset-schema",
    "title": "JSON schema for linksets as defined in RFC 9264",
    "type": "object",
    "properties": {
        "linkset": {
            "description": "The linkset",
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "anchor": {
                        "description": "The URL at the root of the linkset, a.k.a the link context",
                        "type": "string",
                        "pattern": "^https?:\/\/[a-zA-z0-9./]+"
                    },
                    "itemDescription": {
                        "name": "Item description",
                        "description": "A description of the item. There are no restrictions on this so that, for example, it does not have to be a product's name. This has been deprecated in favour of description.",
                        "type": "string"
                    },
                    "description": {
                        "name": "Description",
                        "description": "A description of the item. There are no restrictions on this so that, for example, it does not have to be a product's name. Preferred alternative to itemDescription which has been deprecated",
                        "type": "string"
                    }
                },
                "patternProperties": {
                    "(?!(anchor|itemDescription|description))^([a-z-]+$)|(^https?:\/\/[a-zA-z0-9./]+$)": {
                        "title": "Link object schema",
                        "description": "The schema for each link context object for each link relation",
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "href": {
                                    "name": "href",
                                    "description": "The target URL",
                                    "type": "string",
                                    "pattern": "^https?:\/\/[a-zA-z0-9./]+"
                                },
                                "title": {
                                    "title": "title",
                                    "description": "A human-readable title for the link",
                                    "type": "string"
                                },
                                "hreflang": {
                                    "name": "hreflang",
                                    "description": "The human language(s) of the target resource",
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "pattern": "(^\\w{2}$)|(^\\w{2}-\\w{2}$)"
                                    }
                                },
                                "type": {
                                    "name": "Type",
                                    "description": "The content type (MIME type) of the target resource",
                                    "type": "string",
                                    "pattern": "\\w+/[-+.\\w]+"
                                },
                                  "context": {
                                    "name":"Context",
                                    "description":"Any additional descriptor for the link, typically a geography or jurisdiction in which the link applies",
                                    "type":"array"
                                  },
                                  "fwqs" : {
                                    "name":"Forward query strings",
                                    "type": "boolean"
                                  },
                                  "public" : {
                                    "name":"Link can be shared publicly",
                                    "type": "boolean"
                                  }
                            },
                            "required": [
                                "href",
                                "title"
                            ],
                            "additionalProperties": false
                        }
                    }
                },
                "required": [
                    "anchor"
                ],
                "additionalProperties": false
            }
        }
    },
    "required": [
        "linkset"
    ],
    "additionalProperties": false
}