2013-12-19 6 views
0

내가 web2py gluon html 라이브러리 (응용 프로그램이 독립형 경우에만 gluon.html 도우미 사용 - - web2py 프레임 워크에 포함되지 않음)에 일부 HTML을 생성하고피 CDATA 태그

내가 몇 가지 스타일을 추가하고를 . 생성 된 html을 전자 메일로 보내므로 premailer으로 html을 사전 처리합니다.

cssselect.parser.SelectorSyntaxError: Expected selector, got <DELIM '<' at 0> 

내가 글루온 코드를 살펴 촬영,하지만 나는 그것을 얻지 않는다 :

class STYLE(DIV): 

    tag = 'style' 

    def xml(self): 
     (fa, co) = self._xml() 
     # no escaping of subcomponents 
     co = '\n'.join([str(component) for component in 
         self.components]) 
     if co: 
      # <style [attributes]><!--/*--><![CDATA[/*><!--*/ 
      # style body 
      # /*]]>*/--></style> 
      return '<%s%s><!--/*--><![CDATA[/*><!--*/\n%s\n/*]]>*/--></%s>' % (self.tag, fa, co, self.tag) 
     else: 
      return DIV.xml(self) 

을 나는 내 스타일을 구축하고있는 중이 야 현재 어떤 그러나 premailer는 CDATA 태그를 수락하지 않습니다 :

STYLE('body { font: normal 16px/1.6em "Open Sans",Arial,Helvetica,sans-serif; } ... ') 

생산 어떤 :

<style> 
<!--/*--> 
<![CDATA[/*&gt;&lt;!--*/ 
body { 
    font: normal 16px/1.6em "Open Sans",Arial,Helvetica,sans-serif; 
} 
... 

STYLE 도우미를 사용하여 CDATA 태그를 사용하지 않으려면 어떻게해야합니까? 또는 XML 헬퍼를 사용하여 수동으로 <style> 구분 기호를 추가해야합니까?

측면 질문 : CDATA 태그가 전혀 사용되지 않는 이유는 무엇입니까? 내가 볼 수있는 한 HTMLit is not really needed (스크립트 및 스타일 태그는 기본적으로 이미 CDATA)입니다.

답변

1

먼저 CSS 코드를 XML() 안에 넣어야합니다. CDATA 태그를 원하지 않는다면 스타일 태그를 수동으로 작성하는 것이 좋습니다 (모든 사람이 도우미로 도우려는 것입니다).

XML('<style>body { font: normal 16px/1.6em "Open Sans",Arial,Helvetica,sans-serif; }</style>') 
+0

고마워요! 나는 스타일 태그를 수동으로 넣는 것을 끝내었다. 나는 아직도 HTML에 대한 질문이 없기 때문에 CDATA를 사용하는 web2py가 궁금합니다. – dangonfast

+0

[게시물 및 문제 제기] (https://code.google.com/) p/web2py/issues/list)에 대한 정보를 제공합니다. – Anthony