TODO identifiers
batchNodeChecker: Form of name: B<batchID>-RT<Roundtrip>
batchNodeChecker: Existence of WORKSHIFT-ISO-TARGET
batchNodeChecker: All folders except WORKSHIFT-ISO-TARGET have form <batchID>-[0-9]{2} No other files/folders
workshiftIsoTargetChecker: Existence of nodes in WORKSHIFT-ISO-TARGET, i.e. Target-files
workshiftIsoTargetChecker: Names (nodes) in WORKSHIFT-ISO-TARGET must be of the right format: Target-[0-9]{6}-[0-9]{4}
workshiftIsoTargetChecker: No other files or folders
workshiftImageChecker: Form of names: Target-<targetSerialisedNumber>-<billedID>.(jp2|mix)
workshiftImageChecker: One mix-file per jp2-file
workshiftImageChecker: 6-digit targetSerialisedNumber
workshiftImageChecker: 4-digit billedID
workshiftImageChecker: 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
workshiftImageChecker: 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
filmChecker: 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
filmChecker: Existence of film.xml
filmChecker: 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}
filmChecker: 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
filmChecker: 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.
unmatchedChecker: 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.
filmIsoTargetChecker: nodes have form: [avisID]-[filmID]-ISO-[1-9] where [avisID]-[filmID] is as in film-xml of parent directory
filmIsoTargetFileChecker: If there is a FILM-ISO-target folder, it must contain atleast one file (node)
editionChecker: 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}
editionChecker: atleast one node (i.e. newspaper page scan) must exist in edition folder
editionChecker: 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
editionChecker: 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
editionPageChecker: 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
editionPageChecker: 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)
editionPageChecker: 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)
editionPageChecker: Any node not ending in .brik must contain a .mods.xml attribute with name prefix as that of parent node
editionPageChecker: Any node not ending in .brik must contain a .mix.xml attribute with name prefix as that of parent node
editionPageChecker: Any node not ending in .brik must contain a .jp2 node with name prefix as that of parent node
editionPageChecker: Any node not ending in .brik can only contain attibutes ending in .mix.xml, .mods.xml, or .alto.xml
editionPageChecker: Any node not ending in .brik can only nodes ending in .jp2 (no other nodes)
editionPageChecker: For any node not ending in .brik, any sub-node must contain an attribute called "contents"
unmatchedPageChecker: Any node in UNMATCHED must contain an attribute with name ending in .mix.xml
unmatchedPageChecker: Any node in UNMATCHED must contain an attribute with name ending in .jp2
unmatchedPageChecker: Any node in UNMATCHED can only contain attributes with names ending in .mix.xml, .mods.xml, or .alto.xml
unmatchedPageChecker: Any node in UNMATCHED can only contain nodes with names ending in .jp2
unmatchedPageChecker: Any node under a node in UNMATCHED must contain an attribute called "contents"
brikChecker: Any node in an edition, with a name X ending in -brik must contain an attribute with name X.mix.xml
brikChecker: Any node in an edition, with a name X ending in -brik must contain a node with name X.jp2
brikChecker: For any node in an edition, with a name X ending in -brik, any contained attribute must have name X.mix.xml
brikChecker: For any node in an edition, with a name X ending in -brik, any contained node must have name X.jp2
brikChecker: For any node in an edition, with a name X ending in -brik, any contained node must contain an attribute called "contents"
filmIsoTargetScanChecker: Any node in FILM-ISO-target with a name X must contain an attribute with name X.mix.xml
filmIsoTargetScanChecker: Any node in FILM-ISO-target with a name X must contain a node with name X.jp2
filmIsoTargetScanChecker: For any node in FILM-ISO-target with a name X, any contained attribute must have name X.mix.xml
filmIsoTargetScanChecker: For any node in FILM-ISO-target with a name X, any contained node must have name X.jp2
filmIsoTargetScanChecker: For any node in FILM-ISO-target with a name X, any contained node must contain an attribute called "contents"
checksumExistenceChecker: Every attribute (file) must have a checksum