lxml:未知的includemode或@method属性

时间:2013-05-24 16:18:32

标签: python plone lxml diazo

我已在新的Ubuntu 12.04LTS Diazo框中设置Vagrant,使用以下步骤:

  1. apt-get update
  2. apt-get install python-setuptools
  3. apt-get install build-essential python2.7-dev libxslt1-dev
  4. easy_install -U diazo
  5. 按照Diazo Quickstart中的说明(添加最新bootstrap.py
  6. 快速入门中的重氮示例工作正常(只需稍加read_network = true[filter:theme])。

    但是,当我添加现有项目(适用于其他计算机)时,我在尝试查看网站时从bin/paster serve收到以下错误

    Exception happened during processing of request from ('192.168.33.1', 50171)
    Traceback (most recent call last):
      File "/home/vagrant/test/eggs/Paste-1.7.5.1-py2.7.egg/paste/httpserver.py", line 1068, in process_request_in_thread
        self.finish_request(request, client_address)
      File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/lib/python2.7/SocketServer.py", line 638, in __init__
        self.handle()
      File "/home/vagrant/test/eggs/Paste-1.7.5.1-py2.7.egg/paste/httpserver.py", line 442, in handle
        BaseHTTPRequestHandler.handle(self)
      File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
        self.handle_one_request()
      File "/home/vagrant/test/eggs/Paste-1.7.5.1-py2.7.egg/paste/httpserver.py", line 437, in handle_one_request
        self.wsgi_execute()
      File "/home/vagrant/test/eggs/Paste-1.7.5.1-py2.7.egg/paste/httpserver.py", line 287, in wsgi_execute
        self.wsgi_start_response)
      File "/home/vagrant/test/eggs/Paste-1.7.5.1-py2.7.egg/paste/urlmap.py", line 203, in __call__
        return app(environ, start_response)
      File "/home/vagrant/test/eggs/diazo-1.0b1-py2.7.egg/diazo/wsgi.py", line 353, in __call__
        transform_middleware = self.get_transform_middleware()
      File "/home/vagrant/test/eggs/diazo-1.0b1-py2.7.egg/diazo/wsgi.py", line 342, in get_transform_middleware
        tree=self.compile_theme(),
      File "/home/vagrant/test/eggs/diazo-1.0b1-py2.7.egg/diazo/wsgi.py", line 337, in compile_theme
        xsl_params=xsl_params,
      File "/home/vagrant/test/eggs/diazo-1.0b1-py2.7.egg/diazo/compiler.py", line 106, in compile_theme
        read_network=read_network,
      File "/home/vagrant/test/eggs/diazo-1.0b1-py2.7.egg/diazo/rules.py", line 164, in process_rules
        rules_doc = annotate_rules(rules_doc)
      File "/home/vagrant/test/eggs/diazo-1.0b1-py2.7.egg/diazo/utils.py", line 49, in __call__
        result = self.xslt(*args, **kw)
      File "xslt.pxi", line 556, in lxml.etree.XSLT.__call__ (src/lxml/lxml.etree.c:110044)
    XSLTApplyError: 
                ERROR: Unknown includemode or @method attribute
    

    我尝试在deployment docs中设置了不同的includemodes,但没有成功。

    除了我的扩展规则之外,我可以(当前)发现的项目和演示之间的唯一区别是我包含xmlns:xi="http://www.w3.org/2001/XInclude"

    导致错误的原因是什么以及如何解决?

1 个答案:

答案 0 :(得分:0)

我在某种程度上遇到了与lxml相同的问题。 尽量不要在xml文件中包含任何内容。 但是将代码直接写入文件。

我仍然不知道为什么会发生这种情况!!

希望它能带领你......