getXmlWriter(); $element = $this->getElement(); if (!$element instanceof \PhpOffice\PhpWord\Element\Title) { return; } $xmlWriter->startElement('text:h'); $hdname = 'HD'; $sect = $element->getParent(); if ($sect instanceof \PhpOffice\PhpWord\Element\Section) { $elems = $sect->getElements(); if ($elems[0] === $element) { $hdname = 'HE'; } } $depth = $element->getDepth(); $xmlWriter->writeAttribute('text:style-name', "$hdname$depth"); $xmlWriter->writeAttribute('text:outline-level', $depth); $xmlWriter->startElement('text:span'); if ($depth > 0) { $xmlWriter->writeAttribute('text:style-name', 'Heading_' . $depth); } else { $xmlWriter->writeAttribute('text:style-name', 'Title'); } $text = $element->getText(); if (is_string($text)) { $this->writeText($text); } elseif ($text instanceof \PhpOffice\PhpWord\Element\AbstractContainer) { $containerWriter = new Container($xmlWriter, $text); $containerWriter->write(); } $xmlWriter->endElement(); // text:span $xmlWriter->endElement(); // text:h } }