TODO identifiers
batchNodeCheckerbatchNode: Form of name: B<batchID>-RT<Roundtrip>
batchNodeCheckerbatchNode: Existence of WORKSHIFT-ISO-TARGET
batchNodeCheckerbatchNode: All folders except WORKSHIFT-ISO-TARGET have form <batchID>-[0-9]{2} No other files/folders
workshiftIsoTargetCheckerworkshiftIsoTarget: Existence of nodes in WORKSHIFT-ISO-TARGET, i.e. Target-files
workshiftIsoTargetCheckerworkshiftIsoTarget: Names (nodes) in WORKSHIFT-ISO-TARGET must be of the right format: Target-[0-9]{6}-[0-9]{4}
workshiftIsoTargetCheckerworkshiftIsoTarget: No other files or folders
workshiftImageCheckerworkshiftImage: Form of names: Target-<targetSerialisedNumber>-<billedID>.(jp2|mix)
workshiftImageCheckerworkshiftImage: One mix-file per jp2-file
workshiftImageCheckerworkshiftImage: 6-digit targetSerialisedNumber
workshiftImageCheckerworkshiftImage: 4-digit billedID
workshiftImageCheckerworkshiftImage: There must exist a file in each WORKSHIFT-ISO-TARGET/Target-[0-9]{6}-[0-9]{4} called Target-[0-9]{6}-[0-9]{4}.mix.xml
workshiftImageCheckerworkshiftImage: There must exist a jp2-node in each WORKSHIFT-ISO-TARGET/Target-[0-9]{6}-[0-9]{4} called Target-[0-9]{6}-[0-9]{4}.jp2 containing a contents attribute
filmCheckerfilm: Any folder in BATCH not called WORKSHIFT-ISO-TARGET must have name of format <batchID>-[0-9]{2} (a FILM folder) with batchID as in BATCH folder
filmCheckerfilm: Existence of film.xml
filmCheckerfilm: Existence of edition-folder(s) with name of form [12][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])-[0-9]{2}
filmCheckerfilm: Only existence of FILM-ISO-target, UNMATCHED, or [12][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])-[0-9]{2} are allowed
filmCheckerfilm: Existence of file with name: [avisID]-[batchID]-[filmSuffix].film.xml (batchID as in parent dir FilmNodeChecker, filmSuffix as in parent dir FilmNodeChecker) No other files/folders.
unmatchedCheckerunmatched: Nodes in UNMATCHED must have format [avisID]-[filmID]-[0-9]{4}[A-Z]? where [avisID]-[filmID] is as found in the film metadata file for this film.
filmIsoTargetCheckerfilmIsoTarget: nodes have form: [avisID]-[filmID]-ISO-[1-9] where [avisID]-[filmID] is as in film-xml of parent directory
filmIsoTargetFileCheckerfilmIsoTargetFile: If there is a FILM-ISO-target folder, it must contain atleast one file (node)
editionCheckeredition: folder name has form: [dato]-[udgaveLbNummer] i.e. [12][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])-[0-9]{2}
editionCheckeredition: atleast one node (i.e. newspaper page scan) must exist in edition folder
editionCheckeredition: a file exists with name [avisID]-[editionID].edition.xml where avisID is as in the film-xml and editionID is as in our parent folder name
editionCheckeredition: If there is an attribute (file) in the edition directory, it must have name [avisID]-[editionID].edition.xml where avisID is as in the film-xml and editionID is as in our parent folder name
editionPageCheckereditionPage: Any node not ending in .brik must have name of the form [avisID]-[editionID]-[0-9]{4}[A-Z]? where avisID is as in film-xml and editionID is as parent directory name
editionPageCheckereditionPage: Any node not ending in .brik must contain a .alto.xml attribute with name prefix as that of parent node (if the altoFlag is set)
editionPageCheckereditionPage: Any node not ending in .brik must not contain a .alto.xml attribute with name prefix as that of parent node (if the altoFlag is not set)
editionPageCheckereditionPage: Any node not ending in .brik must contain a .mods.xml attribute with name prefix as that of parent node
editionPageCheckereditionPage: Any node not ending in .brik must contain a .mix.xml attribute with name prefix as that of parent node
editionPageCheckereditionPage: Any node not ending in .brik must contain a .jp2 node with name prefix as that of parent node
editionPageCheckereditionPage: Any node not ending in .brik can only contain attibutes ending in .mix.xml, .mods.xml, or .alto.xml
editionPageCheckereditionPage: Any node not ending in .brik can only nodes ending in .jp2 (no other nodes)
editionPageCheckereditionPage: For any node not ending in .brik, any sub-node must contain an attribute called "contents"
unmatchedPageCheckerunmatchedPage: Any node in UNMATCHED must contain an attribute with name ending in .mix.xml
unmatchedPageCheckerunmatchedPage: Any node in UNMATCHED must contain an attribute with name ending in .jp2
unmatchedPageCheckerunmatchedPage: Any node in UNMATCHED can only contain attributes with names ending in .mix.xml, .mods.xml, or .alto.xml
unmatchedPageCheckerunmatchedPage: Any node in UNMATCHED can only contain nodes with names ending in .jp2
unmatchedPageCheckerunmatchedPage: Any node under a node in UNMATCHED must contain an attribute called "contents"
brikCheckerbrik: Any node in an edition, with a name X ending in -brik must contain an attribute with name X.mix.xml
brikCheckerbrik: Any node in an edition, with a name X ending in -brik must contain a node with name X.jp2
brikCheckerbrik: For any node in an edition, with a name X ending in -brik, any contained attribute must have name X.mix.xml
brikCheckerbrik: For any node in an edition, with a name X ending in -brik, any contained node must have name X.jp2
brikCheckerbrik: For any node in an edition, with a name X ending in -brik, any contained node must contain an attribute called "contents"
filmIsoTargetScanCheckerfilmIsoTargetScan: Any node in FILM-ISO-target with a name X must contain an attribute with name X.mix.xml
filmIsoTargetScanCheckerfilmIsoTargetScan: Any node in FILM-ISO-target with a name X must contain a node with name X.jp2
filmIsoTargetScanCheckerfilmIsoTargetScan: For any node in FILM-ISO-target with a name X, any contained attribute must have name X.mix.xml
filmIsoTargetScanCheckerfilmIsoTargetScan: For any node in FILM-ISO-target with a name X, any contained node must have name X.jp2
filmIsoTargetScanCheckerfilmIsoTargetScan: For any node in FILM-ISO-target with a name X, any contained node must contain an attribute called "contents"
checksumExistenceCheckerchecksumExistence: Every attribute (file) must have a checksum
...