{
  "page": "isbn",
  "name": "ISBN — a valid GTIN-13 in 978/979",
  "address": "https://barcoding.dev/schemes/isbn",
  "scheme": "isbn",
  "reference": {
    "grammar": "ISBN-13: a GTIN-13 in the 978/979 prefix — registration group, registrant, publication, check digit. ISBN-10: nine data digits plus a mod-11 check where X renders 10.",
    "check": "ISBN-13: GS1 mod-10 (it is a GTIN). ISBN-10: mod-11 with 10 rendered X. Conversion: drop the ISBN-10 check, prefix 978, recompute mod-10.",
    "canonical": "The ISBN-13 / GTIN-13 form; all three printed forms of the same book canonicalize together.",
    "symbologies": "EAN-13 above the Bookland barcode; the same number on the copyright page in hyphenated form",
    "enrichment": "routed to book enrichment: sanctioned dumps with license unstated are confirm-before-redistribution; display-only sources stay display-only",
    "join": "978/979 detection is a declared precedence inside GTIN space: the ISBN reading is stated, the GTIN validity keeps holding."
  },
  "registry": {
    "isbn": {
      "scheme": "isbn",
      "title": "ISBN — International Standard Book Number",
      "grammar": "^(97[89]\\d{10}|\\d{9}[\\dX])$",
      "check": {
        "algorithm": "isbn",
        "label": "mod11 pass",
        "labels": {
          "isbn10": "mod11 pass",
          "isbn13": "mod10 pass"
        },
        "source": "ISO 2108; ISBN-13 is a Bookland EAN-13 (mod-10)",
        "vectors": [
          {
            "value": "9780306406157",
            "valid": true
          },
          {
            "value": "0306406152",
            "valid": true
          },
          {
            "value": "9780306406158",
            "valid": false
          },
          {
            "value": "0306406153",
            "valid": false
          }
        ]
      },
      "canonical": "ISBN-13 (978/979 Bookland EAN)",
      "segments": [
        {
          "name": "prefix",
          "note": "978/979 — Bookland"
        },
        {
          "name": "registration group",
          "note": "978-0 = English-language area"
        },
        {
          "name": "registrant"
        },
        {
          "name": "publication"
        },
        {
          "name": "check",
          "philosophy": "this character exists only to certify the others",
          "color": "green"
        }
      ],
      "symbologies": [
        "ean13"
      ],
      "generate": {
        "emits": [
          "ean13"
        ]
      },
      "policy": {},
      "handoff": "read here · resolved by id.org.ai",
      "address": "/isbn/{isbn13}",
      "digest": "sha256:629908b0992134e8219c00b143f432cbb88e68f5c141a50e37ff238371e1c5b7",
      "digest_source": "engine/pins/PINS.json — pin verified against the artifact this build consumed"
    }
  },
  "resolution_stance": "barcoding.dev detects, parses, verifies, enriches and generates — the codec and the data layer. Resolution — an identifier answered with identity and its linkset of live doors — is ONE capability family-wide, served by the family's identity layer, id.org.ai; vertical estates project the same one capability (vehicles: auto.dev). This registry row is the data that resolution consumes.",
  "posts": [
    "https://barcoding.dev/blog/isbn-is-a-gtin/"
  ],
  "faces": {
    "html": "https://barcoding.dev/schemes/isbn/",
    "json": "https://barcoding.dev/schemes/isbn.json",
    "markdown": "https://barcoding.dev/schemes/isbn.md"
  }
}
