1. Go to this page and download the library: Download mathielen/cxml library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
mathielen / cxml example snippets
//we use a basic registry here. You could use your own (db-based?) repository that implements CredentialRepositoryInterface
$credentialRegistry = new \CXml\Credential\Registry();
$someSupplier = new \CXml\Model\Credential('DUNS', 12345);
$credentialRegistry->registerCredential($someSupplier);
$someBuyer = new \CXml\Model\Credential('my-id-type', "[email protected]");
$credentialRegistry->registerCredential($someBuyer);
$someHub = new \CXml\Model\Credential('my-id-type', "[email protected]", "abracadabra");
$credentialRegistry->registerCredential($someHub);
//$payload = new \CXml\Model\Message\...Message(...);
//or...
//$payload = new \CXml\Model\Request\...Request(...);
//or...
$payload = new \CXml\Model\Response\...Response(...);
$cXml = \CXml\Builder::create()
->payload($payload)
->build();
$payload = new \CXml\Model\Request\...Request(...);
$cXml = \CXml\Builder::create()
->payload($payload)
->from(...)
->to(...)
->sender(...)
->build();
$documentRegistory = new MyDocumentRegistry(); //implements CXml\Document\DocumentRegistryInterface
$documentRegistory->register($cXml);
$headerProcessor = new \CXml\Processor\HeaderProcessor($credentialRegistry, $credentialRegistry);
$cXmlProcessor = new \CXml\Processor\Processor(
$headerProcessor,
$handlerRegistry,
$builder
);
$cXmlProcessor->process($cXml);
$credentialRegistry = new \CXml\Credential\Registry();
//TODO register...
$handlerRegistry = new \CXml\Handler\HandlerRegistry();
//TODO register...
$builder = \CXml\Builder::create();
$headerProcessor = new \CXml\Processor\HeaderProcessor($credentialRegistry, $credentialRegistry);
$cXmlProcessor = new \CXml\Processor\Processor(
$headerProcessor,
$handlerRegistry,
$builder
);
$pathToDtd = '.'; //point the directory with extracted contents of zip-file with the DTDs, downloaded from cxml.org
$dtdValidator = new \CXml\Validation\DtdValidator($pathToDtd);
$endpoint = new \CXml\Endpoint(
$dtdValidator,
$cXmlProcessor
);
//$xmlString could be the body of an incoming http request
$xmlString = '<cXML>...</cXML>';
$result = $endpoint->parseAndProcessStringAsCXml($xmlString);
//$result could be null (i.e. for a Response or Message) or another CXml object which would be the Response to a Request
//you would have to handle the transport yourself
bash
$ composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.