Ошибка FBML и HTMLParser
-
10-07-2019 - |
Вопрос
Код ниже:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="http://www.facebook.com/2008/fbml"
xml:lang="en" lang="en">
<head>
<title>FB Test</title>
</head>
<body>
<a href="#" onclick="FB.Connect.inviteConnectUsers();">Test</a>
<fb:serverfbml style="width: 350px;">
<script type="text/fbml">
<fb:connect-form action="http://127.0.0.1/post_invite">
</fb:connect-form>
</script>
</fb:serverfbml>
</body>
</html>
Результатом является следующая ошибка:
- Warning: Compilation failed
- Warning: <class 'zope.tal.htmltalparser.NestingError'>: Open tags <html>, <body>, <fb:serverfbml>, <script> do not match close tag </fb:connect-form>, at line 16, column 4
PTRuntimeError: ['Compilation failed', u"<class 'zope.tal.htmltalparser.NestingError'>: Open tags <html>, <body>, <fb:serverfbml>, <script> do not match close tag </fb:connect-form>, at line 16, column 4"]
Тем не менее, структура мне кажется действительной ...
Решение
Вы не можете поместить теги внутри тега <script>
, и строгий парсер ZPT жалуется на это. Вам придется как-то экранировать содержимое, как в случае с tal: content = & Quot; структура строки: & Quot; построить: р>
<script type="text/fbml" tal:content="structure string:
<fb:connect-form action="http://127.0.0.1/post_invite"<
>/fb:connect-form<
"></script>
Другие советы
Насколько мне известно, тег script не должен содержать xml.
Вы можете заключить содержимое в комментарии xml и посмотреть, работает ли это.
Не связан с StackOverflow