2012-03-22 5 views
1

템플릿 용으로 symfony2와 나뭇 가지를 사용하여 응용 프로그램을 개발 중입니다. Twig를 XSL 파일에서 사용하려고 할 때 문제가 발생합니다. 이 나뭇 가지와 XSL 코드 :Symfony2 나뭇 가지와 XSL

<?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 /에서 심포니가/웹/MyXSLFile.xsl 라인 (12) 요소 템플릿

답변

1

컴파일 오류의 원인은 분명입니다 :는 <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 %} 

이 텍스트는 일부 전처리기에 의해 제거되어야하며, 특수 요소 또는 주석으로 묶어야합니다.

+0

문제는 XSL 문서에서 해당 텍스트 (TWIG 코드)를 어떻게 사용할 수 있으며 컴파일 오류가없는 것입니다. 감사합니다. – Haritz

+0

앞서 말했듯이 XSLT는 TWIG에 대해 아무것도 모릅니다. * 생성하기를 원한다면, 그 텍스트 (TWIG 코드)를'xsl : template'과'xsl : value-of' 또는 다른 유사한 명령 ('xsl : text')에 넣어야합니다. –

+0

감사합니다. Dimitre, 한번 시도해 보겠습니다. – Haritz

관련 문제