Skip to content

harmbandstra/edexmllib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Edexml library

PHP Library for validating and importing Edexml files.

Installation

Install with composer:

$ composer require harmbandstra/edexmllib

Usage

    $xml = file_get_contents('path_to_file');
    try {
        $edex = EdexmlFactory::load($xml);
    } catch (ValidationException $exception) {
        // Handle exception
    }

    foreach ($edex->getGroepen()->getGroep() as $groep) {
        echo $groep->getNaam();
    }

    foreach ($edex->getLeerlingen() as $leerling) {
        echo $leerling->getGebruikersnaam();
    }

If the Edexml file contains elements with a type defined in a non-public XSD, you can strip the block before loading the XML.

    $xml = file_get_contents('path_to_file');
    try {
        $edex = EdexmlFactory::load(
            EdexmlFactory::stripToevoegingen($xml)
        );
    } catch (ValidationException $exception) {
        // Handle exception
    }

To skip validation, set strict to false

    $xml = file_get_contents('path_to_file');
    $edex = EdexmlFactory::load($xml, false);

Development

The library uses xsd2php for creating JMS Serializer definition files. These files are used to deserialize the XML into bite-sized PHP objects.

Generate classes

To generate new classed and JMS Serializer configuration based on the XSD files, run:

php vendor/bin/xsd2php convert config.yml src/Resources/xsd/*.xsd

This is only needed when the specification changes.

About

PHP library for validating and parsing Edexml files

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages