Plone: ​​несвязанный префикс в 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>

Ошибка несвязанного префикса, упомянутая ниже.

Файл "/Plone/Python-2.7/lib/python2.7/xml/sax/handler.py", строка 38, в fatalError вызывается исключение zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/Plone/zinstance/parts/instance/ etc/site.zcml", строка 16.2-16.23 ZopeXMLConfigurationError: Файл "/Plone/buildout-cache/eggs/Products.CMFPlone-4.3-py2.7.egg/Products/CMFPlone/configure.zcml", строка 98.4-102.10 ZopeSAXParseException : Файл "/Plone/zinstance/src/customer.reports/customer/reports/configure.zcml", строка 13.2, несвязанный префикс


person Bharti Rawat    schedule 08.02.2016    source источник


Ответы (2)


Ваш код не определяет префикс plone, который вы используете в элементе plone:static. Вам может понадобиться добавить соответствующее объявление пространства имен где-нибудь, например. в элементе configure: xmlns:plone="http://namespaces.plone.org/plone".

person Alexander Kogtenkov    schedule 08.02.2016

Эта ошибка указывает на отсутствие объявления пространства имен в верхней части файла configure.zcml. Попробуйте включить одно из следующего в тег configure:

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

Поскольку я добавил строку выше в свой код, чтобы исправить несвязанную ошибку, перед этим я использовал plone для регистрации моего дополнения, но не объявлял правильное пространство имен, т.е. plone в блоке объявления пространства имен файла 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>
person Bharti Rawat    schedule 08.02.2016
comment
Правильно, поэтому, пожалуйста, проголосуйте и примите человека, который ответил на ваш вопрос, вместо того, чтобы просто копировать его ответ и голосовать за себя. Люди, которые помогают, должны быть вознаграждены, не так ли? - person Danimal; 08.02.2016
comment
во-первых ... имейте в виду, что я не скопировал ответ @Danimal .... я написал свой полный обобщенный ответ ... вы отредактировали этот ответ выше ... раньше это было непонятно. - person Bharti Rawat; 10.02.2016
comment
Хорошо, извините - моя ошибка, но, увидев, что @Alexander сначала добавил свой ответ, я сделал такой вывод. В любом случае - его ответ по сути правильный, просто нужно было уточнить. - person Danimal; 10.02.2016
comment
Привет @BhartiRawat, действительно, было бы неплохо объединить оба ответа в один, в том числе для лучшей читабельности. Вы видите кнопку редактирования в ответе Александра Когтенкова, чтобы расширить его? - person Ida; 22.03.2018