Я даже не знаю, правильно сформировал вопрос, собственно, проблема:
Используем в проекте на Laraval пакет
digitick/sepa-xml для генерации SEPA XML.
Проблема в том, что при генерации он включает в заголовок информацию, которая в некоторых банках избыточна и сгенерированый XML не проходит валидацию.
function __construct($painFormat)
{
$this->painFormat = $painFormat;
$this->doc = new \DOMDocument('1.0', 'UTF-8');
$this->doc->formatOutput = true;
$this->root = $this->doc->createElement('Document');
$this->root->setAttribute('xmlns', sprintf("urn:iso:std:iso:20022:tech:xsd:%s", $painFormat));
$this->root->setAttribute('xmlns:xsi', "http://www.w3.org/2001/XMLSchema-instance");
$this->root->setAttribute('xsi:schemaLocation', "urn:iso:std:iso:20022:tech:xsd:$painFormat $painFormat.xsd");
$this->doc->appendChild($this->root);
}
Нужно все точно также, только без
$this->root->setAttribute('xsi:schemaLocation', "urn:iso:std:iso:20022:tech:xsd:$painFormat $painFormat.xsd");
Как в таких случаях поступать правильно? Как переопределить поведение стороннего пакета? Править в /vendor - это же очень очень плохо.