Symfony2 Twig и XSL - PullRequest
       1

Symfony2 Twig и XSL

1 голос
/ 22 марта 2012

Я разрабатываю приложение, используя symfony2 и веточку для шаблонов. Проблема возникает при попытке использовать Twig в XSL-файле. Это код XSL с Twig:

    <?xml version='1.0' encoding='ISO-8859-1'?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    {# src/Anotatzailea/AnotatzaileaBundle/Resources/views/Page/testuaanotatu.html.twig #}
    {% extends 'AnotatzaileaAnotatzaileaBundle::layout.html.twig' %}

    {% block title %}Testua anotatu{% endblock%}

    {% block body %}

    <div class="box600_lower">
     <xsl:template match="word"> 
       <label>
        <xsl:attribute name="class">
           <xsl:text>annotation_checkbox</xsl:text>
        </xsl:attribute>
        <xsl:attribute name="id">
           <xsl:text>Ascripta</xsl:text>
        </xsl:attribute>
        <xsl:attribute name="name">
           <xsl:text>Bscripta</xsl:text>
        </xsl:attribute>
        <xsl:attribute name="value">
           <xsl:text>Cscripta</xsl:text>
        </xsl:attribute>
        <xsl:attribute name="type">
           <xsl:text>checkbox</xsl:text>
        </xsl:attribute>
       </label>
       <label>
        <xsl:attribute name="class">
           <xsl:text>altcheckboxoff</xsl:text>
        </xsl:attribute>
        <xsl:attribute name="for">
           <xsl:text>Ascripta</xsl:text>
        </xsl:attribute>
        <xsl:attribute name="id">
           <xsl:text>Bscripta</xsl:text>
        </xsl:attribute>
        <xsl:value-of select="text()"/>
        <xsl:text> </xsl:text>
        </label>
     </xsl:template>
    </div>
    {% endblock %}
</xsl:stylesheet>

Код не работает и показывает следующее сообщение:

Предупреждение: XSLTProcessor :: importStylesheet (): ошибка компиляции: файл /var/www/Symfony/web/MyXSLFile.xsl строка 12 шаблона элемента

1 Ответ

1 голос
/ 22 марта 2012

Причина ошибки компиляции очевидна : элемент <xsl:stylesheet> не может иметь никаких (не только пробельных) дочерних элементов текстового узла, и в приведенном выше коде у вас есть:

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    {# src/Anotatzailea/AnotatzaileaBundle/Resources/views/Page/testuaanotatu.html.twig #}
    {% extends 'AnotatzaileaAnotatzaileaBundle::layout.html.twig' %}

    {% block title %}Testua anotatu{% endblock%}

    {% block body %}

Либо этот текст должен быть удален каким-либо препроцессором, либо они должны быть заключены либо в специальный элемент, либо в комментарий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...