Можно ли удалить атрибуты base и Content-Type + alter 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-Equiv = "Content-Type"
<drop theme="/html/head/meta[@http-equiv='Content-Type']" />

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

BR


person Casper Rækjær    schedule 26.07.2011    source источник
comment
Есть ли конкретная причина для манипулирования шаблоном html темы через Diazo вместо непосредственного редактирования его исходного кода?   -  person Christoph Böhner    schedule 28.07.2011
comment
Многие предпочитают избегать редактирования html-шаблона, а в некоторых случаях это просто невозможно (например, когда html-шаблон загружается по сети)   -  person aclark    schedule 28.07.2011


Ответы (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 и подавить его невозможно.

person Laurence Rowe    schedule 28.07.2011
comment
Спасибо за ответ. В xsl: output удалены как xmlns, так и xml: lang. Что касается базового тега, я думаю, он такой же, как заголовок типа содержимого - его невозможно подавить. - person Casper Rækjær; 29.07.2011
comment
Ах да, это особенность Zope - она ​​автоматически добавляет базовый тег на html-страницы без него. Всегда лучше копировать сгенерированный базовый тег Plone, поскольку они не всегда совпадают. - person Laurence Rowe; 29.07.2011