One of my favorite features of eZ Publish is the ability to create nice-looking content with various nicely formatted blocks. That makes reading more interesting for the user. Due to storing content as XML it is possible to present information however you want.
Along with a big number of standard tags like paragraph, image or table you are free to create your own custom tags: an embedded YouTube video, Google Maps, a sllideshare presentation, a source code block with syntax highlighting, QR-code etc.
eZ Publish 5 uses XSL stylesheets to render XML tags. On the one hand it is a very logical approach because XSLT is the a best ever known tool ever to transform XML data into HTML or something else. But on the from other hand XSL is not a sophisticated programming language. While it might be easy to implement YouTube embedded HTML code using XSL style sheet, generating, but a QR-code with XSL would probably be much less fun.
Moreover, sometimes we already have twig templates in a project and wish to reuse them. Luckily we have the possibilityan to render custom tags without XSL. There is the concept of pre-converter services instead.
Assume we’d like to display information about a webshop product in a custom tag.