Skip to content

E-ARK SIP parser (read support) - #13

Open
boticas wants to merge 4 commits into
mainfrom
jboticas-dev
Open

E-ARK SIP parser (read support)#13
boticas wants to merge 4 commits into
mainfrom
jboticas-dev

Conversation

@boticas

@boticas boticas commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

Introduces read/parse support for existing E-ARK SIP packages, complementing the existing write-only implementation.

What's changed:

  • Added EARKMETSParser (and version-specific subclasses EARKMETSParser204, EARKMETSParser210) to deserialise METS XML and extract the E-ARK structural map.
  • Added EARKReadUtils to walk the parsed METS (dmdSec, amdSec, fileSec, structMap) and populate the IP/SIP/IPRepresentation object graph, including checksum verification.
  • Extended EARKSIP with a Parse method that accepts a ZIP path and returns a fully populated SIP with a ValidationReport.
  • Added IReadStrategy/ZipReadStrategy and their factories for ZIP extraction, plus METSGeneratorFactory for profile-based parser selection.
  • Added ZIPUtils, METSUtils.UnmarshalMETS, ValidationConstants, ValidationEntry, and ValidationReport supporting infrastructure.
  • Extended the IP base class with members required by the parser (GetValidationReport, SetIds, SetCreateDate, etc.).
  • Added Example 5 demonstrating SIP parsing from a ZIP file.
  • Added parse tests and roundtrip tests covering the new read path.

@boticas
boticas requested review from luis100 and plima-keep July 1, 2026 12:27
@boticas boticas added the enhancement New feature or request label Jul 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant