public function generateMarkup(string $attribute, string $content) : string
    {
        // Substitute tag name, attribute value and text content in the output string.
        return preg_replace_callback('/{(\w+)}/', function ($matches) use ($attribute, $content) {
            switch ($matches[1]) {
                case 'name':
                    return $this->tagName;

                case 'attribute':
                    return $attribute;

                case 'content':
                    return $content;

                default:
                    return $matches[0];
            }
        }, $this->outputFormat);
    }