Можно ли удалить базовые и Content-Type + изменить атрибуты HTML в Diazo? - PullRequest
4 голосов
/ 26 июля 2011

Я пытаюсь создать тему 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 или Диазо навязывает эти вещи в вывод, или если это мой xpath, который глючит?Я искал вокруг, но не нашел ответов.

BR

1 Ответ

3 голосов
/ 28 июля 2011

Вероятно, ваши 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 и его невозможно подавить.

...