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