PHPackages                             kraenzle-ritter/sipper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. kraenzle-ritter/sipper

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

kraenzle-ritter/sipper
======================

Deal with SIPs

v1.1.0(11mo ago)035MITPHPPHP ^7.4|^8.0|^8.1|^8.2|^8.3CI passing

Since May 6Pushed 5mo ago2 watchersCompare

[ Source](https://github.com/kraenzle-ritter/sipper)[ Packagist](https://packagist.org/packages/kraenzle-ritter/sipper)[ Docs](https://github.com/kraenzle-ritter/sipper)[ RSS](/packages/kraenzle-ritter-sipper/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (1)Versions (3)Used By (0)

Sipper: SIPs
============

[](#sipper-sips)

[![Latest Version on Packagist](https://camo.githubusercontent.com/ae2df42f4330ac9416d6a4742e43777b9f1be95e1b9bc54ea518acb4fc9e5de6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b7261656e7a6c652d7269747465722f7369707065722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kraenzle-ritter/sipper)[![Total Downloads](https://camo.githubusercontent.com/a067b9929f49586b4ac6b900b7c7de3fa5f5dac9b7036f738f12bad64c69caa6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6b7261656e7a6c652d7269747465722f7369707065722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kraenzle-ritter/sipper)[![Tests](https://github.com/kraenzle-ritter/sipper/actions/workflows/main.yml/badge.svg)](https://github.com/kraenzle-ritter/sipper/actions/workflows/main.yml)[![Code Quality](https://github.com/kraenzle-ritter/sipper/actions/workflows/code-quality.yml/badge.svg)](https://github.com/kraenzle-ritter/sipper/actions/workflows/code-quality.yml)

This small package is used to read and parse SIP (Submission Information Package) metadata files in the eCH-0160 ARELDA format. It provides easy access to documents, dossiers, files, and their relationships within the SIP structure.

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require kraenzle-ritter/sipper
```

Usage
-----

[](#usage)

### Basic Usage

[](#basic-usage)

```
use KraenzleRitter\Sipper\SipReader;

$metadata = file_get_contents($file);
$sipReader = new SipReader($metadata);

// Access the raw XML
$xml = $sipReader->xml;

// Get all documents
$documents = $sipReader->getDokumente();

// Get all dossiers
$dossiers = $sipReader->getDossiers();

// Get first level dossiers only
$firstLevelDossiers = $sipReader->getFirstLevelDossiers();

// Get document by file reference ID
$document = $sipReader->getDokumentByDateiRef($dateiRef);

// Get file information by reference ID
$file = $sipReader->getDateiByDateiRef($dateiRef);

// Get full path of a file by reference ID
$path = $sipReader->getPathByDateiRef($dateiRef);

// Get document title by filename
$title = $sipReader->getDokumentTitelByFilename('example.pdf');

// Get parent identifier for a dossier
$parentId = SipReader::getParentIdentifier($dossier, 'PREFIX_');
```

### Example: Finding Documents by Filename

[](#example-finding-documents-by-filename)

```
$sipReader = new SipReader($metadata);

// Find the document title for a specific file
$documentTitle = $sipReader->getDokumentTitelByFilename('report.pdf');
if (!empty($documentTitle)) {
    echo "Document title: " . $documentTitle;
} else {
    echo "File not found in SIP";
}
```

### Exception Handling

[](#exception-handling)

Some methods throw `InvalidArgumentException` when the requested element is not found:

```
try {
    $document = $sipReader->getDokumentByDateiRef('NONEXISTENT');
} catch (InvalidArgumentException $e) {
    echo "Document not found: " . $e->getMessage();
}
```

### Testing

[](#testing)

```
composer test
```

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance62

Regular maintenance activity

Popularity8

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~822 days

Total

2

Last Release

334d ago

Major Versions

v0.0.1 → v1.1.02025-08-05

PHP version history (2 changes)v0.0.1PHP ^7.4|^8.0

v1.1.0PHP ^7.4|^8.0|^8.1|^8.2|^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/76f31e7e6772db47a91388ed82840fae1fa57185bb82a64924bb3839697222c2?d=identicon)[ottosmops](/maintainers/ottosmops)

---

Top Contributors

[![ottosmops](https://avatars.githubusercontent.com/u/4144389?v=4)](https://github.com/ottosmops "ottosmops (7 commits)")

---

Tags

kraenzle-rittersipper

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/kraenzle-ritter-sipper/health.svg)

```
[![Health](https://phpackages.com/badges/kraenzle-ritter-sipper/health.svg)](https://phpackages.com/packages/kraenzle-ritter-sipper)
```

###  Alternatives

[joshcirre/instruckt-laravel

Visual feedback for AI coding agents — Laravel MCP package

17323.5k2](/packages/joshcirre-instruckt-laravel)[dvizh/yii2-cart

yii2-cart it's a simple cart module to collect application models, that implement cart interface + widgets

204.5k](/packages/dvizh-yii2-cart)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
