Plone:configure.zcml 中的未绑定前缀

Plone : unbound prefix in configure.zcml

我正在为我的 Plone 站点开发一个新的附加组件,结果它显示我在

中的错误
configure.zcml : unbound prefix.

我在这里写我的 zcml 代码:

    <configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:five="http://namespaces.zope.org/five"
    xmlns:i18n="http://namespaces.zope.org/i18n"
    i18n_domain="customer.reports">

  <five:registerPackage package="." initialize=".initialize" />

  <include package="plone.resource" file="meta.zcml"/>
  <plone:static
      directory="templates"
      type="reports"
      name="customer"
  />
</configure>

未绑定前缀错误如下。

File "/Plone/Python-2.7/lib/python2.7/xml/sax/handler.py", line 38, in fatalError raise exception zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/Plone/zinstance/parts/instance/etc/site.zcml", line 16.2-16.23 ZopeXMLConfigurationError: File "/Plone/buildout-cache/eggs/Products.CMFPlone-4.3-py2.7.egg/Products/CMFPlone/configure.zcml", line 98.4-102.10 ZopeSAXParseException: File "/Plone/zinstance/src/customer.reports/customer/reports/configure.zcml", line 13.2, unbound prefix

您的代码没有定义您在元素 plone:static 中使用的前缀 plone。您可能需要在某处添加相应的命名空间声明,例如在 configure 元素中:xmlns:plone="http://namespaces.plone.org/plone".

此错误表明您在 configure.zcml 的顶部缺少名称space 声明。 尝试在配置标签中包含以下内容之一:

 xmlns:plone="http://namespaces.plone.org/plone"

因为我在我的代码中添加了上面一行以修复未绑定错误,在此之前我使用 plone 注册我的附加组件但没有声明正确的名称space 即 plone 在名称 space zcml文件的声明块

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:five="http://namespaces.zope.org/five"
    xmlns:i18n="http://namespaces.zope.org/i18n"
    xmlns:plone="http://namespaces.plone.org/plone"
    i18n_domain="customer.reports">

  <five:registerPackage package="." initialize=".initialize" />

  <!-- -*- extra stuff goes here -*- -->

  <include package="plone.resource" file="meta.zcml"/>
  <plone:static
      directory="templates"
      type="reports"
      name="customer"
  />
</configure>