Symfony2 twig code не работает в шаблоне xml, поскольку он работает в html

почему код twig {% set code = code(_self) %} не работает в шаблоне xml.

 <!-- src/Acme/DemoBundle/Resources/views/Demo/hello.xml.twig --> <hello> <name>{{ name }}</name> </hello> {% set code = code(_self) %} 

как это работает в html-шаблоне.

 {% extends "AcmeDemoBundle::layout.html.twig" %} {% block title "Hello " ~ name %} {% block content %} <h1>Hello {{ name }}!</h1> {% endblock %} {% set code = code(_self) %} 

Ну, это не родное расширение Twig, это дополнительное расширение, предоставляемое DemoBundle стандартной версии Symfony2 ( https://raw.github.com/symfony/symfony-standard/master/src/Acme/DemoBundle/Twig/Extension/DemoExtension .php ). Я только что протестировал и работает, но расширение этого code() Twig предназначено только для использования в HTML-шаблоне, а не в XML. Если вы укажете источник XML-шаблона, вы увидите вывод своего контроллера, но он не будет отображаться по мере того, как сгенерированный XML станет недействительным. Если вы действительно хотите выход, вы можете использовать это:

 <?xml version="1.0" encoding="UTF-8"?> <code>{{ code(_self) | escape }}</code>