Можно ли удалить базовые и Content-Type + изменить атрибуты HTML в Diazo?

Я пытаюсь создать тему HTML5/CSS3 с Diazo с сайта Plone, используя plone.app.theming 1.0b8. Это работает как шарм в части тела. Но тег HTML и часть HEAD сложнее. По крайней мере для меня:)

Я пытался:

  • удалить атрибуты xmlns и xml:lang в теге HTML
<drop attributes="xmlns xml:lang" theme="/html/" />
  • удалить базовый тег
<drop theme="/html/head/base/" />
  • удалить метатег, где http-эквивалент = "тип содержимого"
<drop theme="/html/head/meta[@http-equiv='Content-Type']" />

Мне интересно, вынуждает ли plone.app.theming или Diazo эти вещи в выводе, или это мой xpath, который глючит? Я искал вокруг, но не нашел ответов.

BR

1 ответ

Решение

Ваши xpath, вероятно, не должны заканчиваться завершающим символом '/', хотя я не думаю, что это проблема здесь.

Не удастся удалить атрибут xmlns, так как он добавляется XMLSerializer в режиме XHTML (по крайней мере, при обычных обстоятельствах). Вы можете установить сериализацию HTML вместо <xsl:output method="html"/> внутри вашего корневого тега правил.

В режиме XHTML XMLSerializer добавит xml:lang для соответствия атрибуту lang. Снова попробуйте установить сериализацию html.

Обычно базовый тег копируется из содержимого в тему - не должно быть никаких причин иметь базовый тег в html-файле темы. Если вы не скопируете его, он не попадет в вывод. Однако желательно всегда включать базовый тег в вывод Zope, так как одна и та же страница будет отображаться на обоих http://localhost/some_url а также http://localhost/some_url/, что приведет к различиям с любыми относительными URL.

Заголовок типа содержимого добавляется libxslt, безусловно добавляется libxslt и его невозможно подавить.

Другие вопросы по тегам