是否可以在Diazo中删除base和Content-Type + alter HTML属性?

时间:2011-07-26 14:18:29

标签: plone xdv diazo

我正在尝试使用plone.app.theming 1.0b8从Plone站点使用Diazo制作HTML5 / CSS3主题。它在BODY部分就像一个魅力。但HTML标签和HEAD部分更难。至少对我来说:))

我试过:

  • 删除HTML标记中的xmlns和xml:lang属性
<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

1 个答案:

答案 0 :(得分:3)

您的xpath可能不应该以尾随'/'结尾,但我不认为这是问题所在。

将无法删除xHTns属性,因为XMLSerializer在XHTML模式下添加了该属性(至少在常见情况下)。您可以在根规则标记内使用<xsl:output method="html"/>设置HTML序列化。

在XHTML模式下,XMLSerializer将添加xml:lang以匹配lang属性。再次尝试设置html序列化。

通常将基本标记从内容复制到主题中 - 应该没有理由在主题html文件中使用基本标记。如果不复制它,它将不会在输出中结束。但是,建议始终在Zope的输出中包含一个基本标记,因为同一页面将在http://localhost/some_urlhttp://localhost/some_url/呈现,这将导致与任何相对网址的差异。

libxslt添加的内容类型标题由libxslt无条件添加,无法抑制。