jordikroon/docbook-cs

A static-analysis linter for DocBook XML files

Maintainers

Package info

github.com/jordikroon/docbook-cs

pkg:composer/jordikroon/docbook-cs

Statistics

Installs: 39

Dependents: 0

Suggesters: 0

Stars: 2

Open Issues: 0

1.1.2 2026-04-30 20:36 UTC

README

A static-analysis linter for DocBook XML files. It scans XML documentation sources and reports style and convention violations.

Full documentation: jordikroon.github.io/docbook-cs

Contributing

Requirements

  • PHP 8.5+
  • Extensions: dom, libxml, simplexml

Setup

composer install

Running checks

# Tests
vendor/bin/phpunit

# Static analysis
vendor/bin/phpstan

# Code style
vendor/bin/phpcs

Writing a sniff

Implement DocbookCS\Sniff\SniffInterface (or extend AbstractSniff):

namespace Acme\DocbookSniffs;

use DocbookCS\Sniff\AbstractSniff;

final class MySniff extends AbstractSniff
{
    public function getCode(): string
    {
        return 'Acme.MySniff';
    }

    public function process(\DOMDocument $document, string $content, string $filePath): array
    {
        $violations = [];
        // ... inspect $document, add violations via $this->createViolation(...)
        return $violations;
    }
}

Register it in your config:

<sniff class="Acme\DocbookSniffs\MySniff" />

License

Apache 2.0