file_name, ".xml")) { switch (true) { case stristr($this->file_content, "urn:cen.eu:en16931:2017"): case stristr($this->file_content, "urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0"): case stristr($this->file_content, "urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_2.1"): case stristr($this->file_content, "urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_2.0"): return (new ZugferdEDocument($this->file_content, $this->file_name))->run(); default: throw new Exception("E-Invoice standard not supported"); } } else { throw new Exception("File type not supported"); } } }