File manager - Edit - /var/www/ratemypay_dev/vendor/phpoffice/math/src/Math/Writer/OfficeMathML.php
Back
<?php namespace PhpOffice\Math\Writer; use PhpOffice\Math\Element; use PhpOffice\Math\Exception\NotImplementedException; use PhpOffice\Math\Math; use XMLWriter; class OfficeMathML implements WriterInterface { /** @var XMLWriter */ private $output; /** * @param Math $math * * @return string */ public function write(Math $math): string { $this->output = new XMLWriter(); $this->output->openMemory(); $this->output->startElement('m:oMathPara'); $this->output->writeAttribute('xmlns:m', 'http://schemas.openxmlformats.org/officeDocument/2006/math'); $this->output->startElement('m:oMath'); foreach ($math->getElements() as $element) { $this->writeElementItem($element); } $this->output->endElement(); $this->output->endElement(); return $this->output->outputMemory(); } protected function writeElementItem(Element\AbstractElement $element): void { // Element\Row if ($element instanceof Element\Row) { foreach ($element->getElements() as $childElement) { $this->writeElementItem($childElement); } return; } // Element\Fraction if ($element instanceof Element\Fraction) { $this->output->startElement($this->getElementTagName($element)); $this->output->startElement('m:num'); $this->writeElementItem($element->getNumerator()); $this->output->endElement(); $this->output->startElement('m:den'); $this->writeElementItem($element->getDenominator()); $this->output->endElement(); $this->output->endElement(); return; } if ($element instanceof Element\Identifier || $element instanceof Element\Numeric || $element instanceof Element\Operator) { $this->output->startElement('m:r'); $this->output->startElement('m:t'); $this->output->text((string) $element->getValue()); $this->output->endElement(); $this->output->endElement(); return; } // Check if managed $this->getElementTagName($element); } protected function getElementTagName(Element\AbstractElement $element): string { // Group if ($element instanceof Element\AbstractGroupElement) { /* throw new NotImplementedException(sprintf( '%s : The element of the class `%s` has no tag name', __METHOD__, get_class($element) )); */ } if ($element instanceof Element\Fraction) { return 'm:f'; } throw new NotImplementedException(sprintf( '%s : The element of the class `%s` has no tag name', __METHOD__, get_class($element) )); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0 |
proxy
|
phpinfo
|
Settings