Skip to content

JSON Output for OPF-015 Seems to Be Missing Location Entries #1611

Closed

Description

@pjkaufman

Thanks for a great tool for validating that epubs conform to the epub spec.

I use the tool to validate epubs that I have and then try to correct any spec violations that I come across. Part of the process uses the JSON output of EPUBCheck to help more easily track what was output and then try to fix them. However I noticed a bit of a discrepancy when there are a lot of issues for OPF-015 (a scripted property being where it is not needed) that needed correcting. For some reason it seems that the output in the JSON for additional locations for the OPF-015 results does not include all of the file references that need an update if it is more than a certain amount. It is possible that this is user error on my part, but I thought I would open up an issue since I can reproduce the situation.

EPUBCheck version information:

$ java -jar epubcheck.jar --version
EPUBCheck v5.1.0
Messages: 0 fatals / 0 errors / 0 warnings / 0 infos

EPUBCheck completed

Steps to Reproduce

Here is the sample epub in a zip file: epub_test.zip

Run java -jar epubcheck.jar ./JSON_Test.epub. It should result in output that looks something like the following:

Validating using EPUB version 3.3 rules.
ERROR(OPF-015): JSON_Test.epub/file1.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file2.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file3.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file4.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file5.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file6.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file7.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file8.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file9.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file10.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file11.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file12.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file13.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file14.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file15.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file16.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file17.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file18.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file19.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file20.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file21.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file22.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file23.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file24.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file25.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file26.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file27.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file28.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file29.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.
ERROR(OPF-015): JSON_Test.epub/file30.xhtml(-1,-1): The property "scripted" should not be declared in the OPF file.

Check finished with errors
Messages: 0 fatals / 30 errors / 0 warnings / 0 infos

EPUBCheck completed

There are 30 instances of OPF-015 listed in the output.

Now run java -jar epubcheck.jar ./JSON_Test.epub -j out.json. This should result in output something like the following:

Check finished with errors
Messages: 0 fatals / 30 errors / 0 warnings / 0 infos

EPUBCheck completed

It again says there are 30 errors. However the JSON file does not corroborate this in the location information:

{
  "messages" : [ {
    "ID" : "OPF-015",
    "severity" : "ERROR",
    "message" : "The property \"scripted\" should not be declared in the OPF file.",
    "additionalLocations" : 5,
    "locations" : [ {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file1.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file10.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file11.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file12.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file13.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file14.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file15.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file16.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file17.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file18.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file19.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file2.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file20.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file21.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file22.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file23.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file24.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file25.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file3.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file4.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file5.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file6.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file7.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file8.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    }, {
      "url" : {
        "opaque" : false,
        "hierarchical" : true
      },
      "path" : "file9.xhtml",
      "line" : -1,
      "column" : -1,
      "context" : null
    } ],
    "suggestion" : null
  } ],
  "customMessageFileName" : null,
  "checker" : {
    "path" : "././JSON_Test.epub",
    "filename" : "JSON_Test.epub",
    "checkerVersion" : "5.1.0",
    "checkDate" : "05-14-2025 19:44:14",
    "elapsedTime" : 9127,
    "nFatal" : 0,
    "nError" : 1,
    "nWarning" : 0,
    "nUsage" : 0
  },
  "publication" : {
    "publisher" : null,
    "title" : "JSON Test",
    "creator" : [ "Unknown" ],
    "date" : "2025-05-14T23:33:48Z",
    "subject" : [ ],
    "description" : null,
    "rights" : null,
    "identifier" : "ceb75e81-abfd-4462-8562-aa5337031d83",
    "language" : "eng",
    "nSpines" : 30,
    "checkSum" : 0,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "ePubVersion" : "3.3",
    "isScripted" : false,
    "hasFixedFormat" : false,
    "isBackwardCompatible" : true,
    "hasAudio" : false,
    "hasVideo" : false,
    "charsCount" : 1010,
    "embeddedFonts" : [ ],
    "refFonts" : [ ],
    "hasEncryption" : false,
    "hasSignatures" : false,
    "contributors" : [ "calibre (8.2.1) [https://calibre-ebook.com]" ]
  },
  "items" : [ {
    "id" : "ePubCheck.NoManifestRef:META-INF/container.xml",
    "fileName" : "META-INF/container.xml",
    "media_type" : null,
    "compressedSize" : 153,
    "uncompressedSize" : 238,
    "compressionMethod" : "Deflated",
    "checkSum" : "6e44a4fc985515b49243e3cf866d2ba2acc62f36c7996dee23978391d25e",
    "isSpineItem" : false,
    "spineIndex" : null,
    "isLinear" : false,
    "isFixedFormat" : null,
    "isScripted" : false,
    "renditionLayout" : null,
    "renditionOrientation" : null,
    "renditionSpread" : null,
    "referencedItems" : [ ]
  }, {
    "id" : "ePubCheck.NoManifestRef:metadata.opf",
    "fileName" : "metadata.opf",
    "media_type" : null,
    "compressedSize" : 887,
    "uncompressedSize" : 5140,
    "compressionMethod" : "Deflated",
    "checkSum" : "62baa9ec3493994fc6d56ba1a2238e6d845ef1dccfa3776c184326356ee2717",
    "isSpineItem" : false,
    "spineIndex" : null,
    "isLinear" : false,
    "isFixedFormat" : null,
    "isScripted" : false,
    "renditionLayout" : null,
    "renditionOrientation" : null,
    "renditionSpread" : null,
    "referencedItems" : [ ]
  }, {
    "id" : "ePubCheck.NoManifestRef:mimetype",
    "fileName" : "mimetype",
    "media_type" : null,
    "compressedSize" : 20,
    "uncompressedSize" : 20,
    "compressionMethod" : "Stored",
    "checkSum" : "e468e350d1143eb648f6c7bbd63111ec544a361ca74ecef256ac91f48b",
    "isSpineItem" : false,
    "spineIndex" : null,
    "isLinear" : false,
    "isFixedFormat" : null,
    "isScripted" : false,
    "renditionLayout" : null,
    "renditionOrientation" : null,
    "renditionSpread" : null,
    "referencedItems" : [ ]
  }, {
    "id" : "id",
    "fileName" : "file2.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 222,
    "compressionMethod" : "Deflated",
    "checkSum" : "3157151694fca592451c3d82e1ad348a1c5bd2f6c34efcdd586bc43d9aeea0",
    "isSpineItem" : true,
    "spineIndex" : 1,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-1",
    "fileName" : "file3.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 222,
    "compressionMethod" : "Deflated",
    "checkSum" : "44afb3a32e2ca9e0148e9231b46f9a5b14708a0b93af856b6f0f7cabbf68090",
    "isSpineItem" : true,
    "spineIndex" : 2,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-10",
    "fileName" : "file12.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "669020b0a89953b51e16ae5dbe1d8f2492c5d8d72e6326fb163f202c53f2",
    "isSpineItem" : true,
    "spineIndex" : 11,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-11",
    "fileName" : "file13.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "9d54baaa53f8183517648f1f78df0d2a6dd76a42c90c6f242d143ed4e75853",
    "isSpineItem" : true,
    "spineIndex" : 12,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-12",
    "fileName" : "file14.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 169,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "b45e371a97c7b46aa813b3f7aefae8a55d28228d2f260d17b5c5e70c445bf62",
    "isSpineItem" : true,
    "spineIndex" : 13,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-13",
    "fileName" : "file15.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 169,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "d995dbefccc5f1d485b77ca20c0751d95cbdc704f192d73eb7f8e280397dfa",
    "isSpineItem" : true,
    "spineIndex" : 14,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-14",
    "fileName" : "file16.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 169,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "e886e3823b99bf6da5f8941f1226fc266eb585ec99486eb197e2059d4362",
    "isSpineItem" : true,
    "spineIndex" : 15,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-15",
    "fileName" : "file17.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "d2f8bbd5e6919595954191f8afe74eacb43b5a19210fe77b093ccf5d35763b",
    "isSpineItem" : true,
    "spineIndex" : 16,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-16",
    "fileName" : "file18.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "c4d132fd32ab135e1da1beabed46c103fd127577d9ea3da3fabad03978b0",
    "isSpineItem" : true,
    "spineIndex" : 17,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-17",
    "fileName" : "file19.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "763da590d3cbd8b353154666125581346bd5b56a11e0c5fdfc248a557fb72e5",
    "isSpineItem" : true,
    "spineIndex" : 18,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-18",
    "fileName" : "file20.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 169,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "9aa146172440d72f6b4aef3b118bc47f7b3b14f422472c4e12634be8facb587",
    "isSpineItem" : true,
    "spineIndex" : 19,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-19",
    "fileName" : "file21.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "508965a332cf82a4d4dbb9b5ac5aa87234b13e9e3a5aa5f9dd4126dd28a133",
    "isSpineItem" : true,
    "spineIndex" : 20,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-2",
    "fileName" : "file4.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 222,
    "compressionMethod" : "Deflated",
    "checkSum" : "b4ebe7aeb7ea85ab1a2bf69172ade9981e86685c9de6d16f5c987e781c9a0",
    "isSpineItem" : true,
    "spineIndex" : 3,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-20",
    "fileName" : "file22.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "50ed5e3f829e3982fad20abcdc825aadf5de3d8edb56fcfa24390de451e243c",
    "isSpineItem" : true,
    "spineIndex" : 21,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-21",
    "fileName" : "file23.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 169,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "626c36de79883c2be55b2d1d77f1c5eeb35935ae7e5b364e565c4e8dd98d3a5",
    "isSpineItem" : true,
    "spineIndex" : 22,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-22",
    "fileName" : "file24.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 169,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "396fcd56ea997a75c1e7df81793e9e164bba3a82d67c3dceb8f97a767fe94",
    "isSpineItem" : true,
    "spineIndex" : 23,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-23",
    "fileName" : "file25.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 169,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "ce9aa588ec1fa51d46d4284c05267cdc742ece848f759e3436e84cd82883e8",
    "isSpineItem" : true,
    "spineIndex" : 24,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-24",
    "fileName" : "file26.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 169,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "f540fe61ff1e852a54841c345c932ddb8adaaab025f7f13f12b54a4d0f6ee38",
    "isSpineItem" : true,
    "spineIndex" : 25,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-25",
    "fileName" : "file27.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 169,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "e64c1c13e25f306f11cf35ca121cfe4883425378f6e8a675b6e77ffde986fa",
    "isSpineItem" : true,
    "spineIndex" : 26,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-26",
    "fileName" : "file28.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 169,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "6b489252bdbf64743b58c75451247d46a8dd994f5b13268b68344840478f11",
    "isSpineItem" : true,
    "spineIndex" : 27,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-27",
    "fileName" : "file29.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "293853da518369f5a6b818c311384381e3646d65335fd7f7d8fc979d304e1331",
    "isSpineItem" : true,
    "spineIndex" : 28,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-28",
    "fileName" : "file30.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "7a86a27deebb1d859756add8c08533f1aa3ad52a46f52c97bf87c72196d32fe",
    "isSpineItem" : true,
    "spineIndex" : 29,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-3",
    "fileName" : "file5.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 222,
    "compressionMethod" : "Deflated",
    "checkSum" : "cb1083adbfe8bb32a5ab59bd4c22315af5f3da1351b4bdf96e8bd5fbe47fb99",
    "isSpineItem" : true,
    "spineIndex" : 4,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-4",
    "fileName" : "file6.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 222,
    "compressionMethod" : "Deflated",
    "checkSum" : "d6f7938c72556287663ed9be79ef1c7182c6400bf07db987d82b114bf545ff",
    "isSpineItem" : true,
    "spineIndex" : 5,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-5",
    "fileName" : "file7.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 222,
    "compressionMethod" : "Deflated",
    "checkSum" : "251721997663206b9e56cdd1ad40d1336fb39d4efc459c92805dc83e723a50f9",
    "isSpineItem" : true,
    "spineIndex" : 6,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-6",
    "fileName" : "file8.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 222,
    "compressionMethod" : "Deflated",
    "checkSum" : "591c2d49a135dac17bd1ed586abeb3ecbbc6146b24e288f9bb565839a210",
    "isSpineItem" : true,
    "spineIndex" : 7,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-7",
    "fileName" : "file9.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 222,
    "compressionMethod" : "Deflated",
    "checkSum" : "d63b992d1b5b127318583e82373d8aa8625994dd9cd80bd576e9bc5a0151",
    "isSpineItem" : true,
    "spineIndex" : 8,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-8",
    "fileName" : "file10.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "e9abf73b4ce5949bad88dc1f2308a6bb21d20442cedda74e2279f87fdfdc7e",
    "isSpineItem" : true,
    "spineIndex" : 9,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "id-9",
    "fileName" : "file11.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 223,
    "compressionMethod" : "Deflated",
    "checkSum" : "933a4be1db5321bad5fa65b1594de6ad364ca190df4113bf65194289befe",
    "isSpineItem" : true,
    "spineIndex" : 10,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  }, {
    "id" : "nav",
    "fileName" : "nav.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 210,
    "uncompressedSize" : 326,
    "compressionMethod" : "Deflated",
    "checkSum" : "a17113535fbcef34507cc9bed1a1a1bbe8e5511a2ed74b0ff9254d381dfca65",
    "isSpineItem" : false,
    "spineIndex" : null,
    "isLinear" : false,
    "isFixedFormat" : null,
    "isScripted" : false,
    "renditionLayout" : null,
    "renditionOrientation" : null,
    "renditionSpread" : null,
    "referencedItems" : [ "file1.xhtml" ]
  }, {
    "id" : "ncx",
    "fileName" : "toc.ncx",
    "media_type" : "application/x-dtbncx+xml",
    "compressedSize" : 342,
    "uncompressedSize" : 649,
    "compressionMethod" : "Deflated",
    "checkSum" : "707e6cbb519db3c197ae5790e6c5e5d1ca92c23abe4498ec1722774d0d358c0",
    "isSpineItem" : false,
    "spineIndex" : null,
    "isLinear" : false,
    "isFixedFormat" : null,
    "isScripted" : false,
    "renditionLayout" : null,
    "renditionOrientation" : null,
    "renditionSpread" : null,
    "referencedItems" : [ "file1.xhtml" ]
  }, {
    "id" : "start",
    "fileName" : "file1.xhtml",
    "media_type" : "application/xhtml+xml",
    "compressedSize" : 168,
    "uncompressedSize" : 222,
    "compressionMethod" : "Deflated",
    "checkSum" : "b995a4b3ffc31e82aadc6d8d9e5f37adcca574f2d9f0b3ebe51aede8be5c668",
    "isSpineItem" : true,
    "spineIndex" : 0,
    "isLinear" : true,
    "isFixedFormat" : false,
    "isScripted" : false,
    "renditionLayout" : "reflowable",
    "renditionOrientation" : "auto",
    "renditionSpread" : "auto",
    "referencedItems" : [ ]
  } ]
}

The output in the file only lists 25ish of the files that have the scripted issue even though there should be 30.

Is this output intentional? If so, is there a way to get all of this information output into the JSON file instead of just a subset?

Please let me know if more information is needed. Thanks for taking the time to look at this issue!

Activity

  1. changed the title [-]JSON Output for OPF-015 Seems to Be Missing Entries[/-] [+]JSON Output for OPF-015 Seems to Be Missing Location Entries[/+] on May 15, 2025
  2. pjkaufman commented on Aug 26, 2025

    @pjkaufman
    Author

    Seems like the value is hardcoded as 25 for the max amount of messages for a location:

    private static final int MAX_LOCATIONS = 25;

  3. self-assigned this
    on Aug 28, 2026
  4. added
    status: in progressThe issue is being implemented by the development team
    status: has PRThe issue is being processed in a pull request
    and removed
    status: in progressThe issue is being implemented by the development team
    on Sep 11, 2026
  5. added a commit that references this issue on Sep 15, 2026
    637cc69
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

status: has PRThe issue is being processed in a pull requesttype: improvementThe issue suggests an improvement of an existing feature

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    ⌂ 换网址