Plone - XSLTApplyError: xsltValueOf: text copy fai

2019-07-13 12:52发布

问题:

I have a Plone 4 with plone.app.theming(Diazo) installed and I am having problem when I am using a zip file theme through Diazo Control Panel.

I had tried for many times to identify the cause of the error showed in the Plone log bellow:

2011-07-10 20:20:55 ERROR plone.transformchain Unexpected error whilst trying to apply transform chain
Traceback (most recent call last):
  File "/opt/Plone4/buildout-cache/eggs/plone.transformchain-1.0-py2.6.egg/plone/transformchain/transformer.py", line 42, in __call__
    newResult = handler.transformIterable(result, encoding)
  File "/opt/Plone4/buildout-cache/eggs/plone.app.theming-1.0b8-py2.6.egg/plone/app/theming/transform.py", line 205, in transformIterable
    transform = self.setupTransform()
  File "/opt/Plone4/buildout-cache/eggs/plone.app.theming-1.0b8-py2.6.egg/plone/app/theming/transform.py", line 150, in setupTransform
    xsl_params=xslParams,
  File "/opt/Plone4/buildout-cache/eggs/diazo-1.0rc3-py2.6.egg/diazo/compiler.py", line 106, in compile_theme
    read_network=read_network,
  File "/opt/Plone4/buildout-cache/eggs/diazo-1.0rc3-py2.6.egg/diazo/rules.py", line 160, in process_rules
    rules_doc = fixup_themes(rules_doc)
  File "/opt/Plone4/buildout-cache/eggs/diazo-1.0rc3-py2.6.egg/diazo/utils.py", line 49, in __call__
    result = self.xslt(*args, **kw)
  File "xslt.pxi", line 568, in lxml.etree.XSLT.__call__ (src/lxml/lxml.etree.c:120289)
XSLTApplyError: xsltValueOf: text copy failed

I would be very grateful if you could help me?

Thanks in advance,

Alano

回答1:

I downloaded Plone 4.1 installer from Launchpad (http://launchpad.net/plone/4.1/4.1rc3/+download/Plone-4.1rc3-UnifiedInstaller-Hotfix-20110622.tgz) and reinstall Plone 4. The problem mentioned did occur. Diazo works perfectly for while.

My old Plone 4.1 installation was upgraded from a Plone 4.0.7 installation and there were any conflicts or something like that in the packages installed.



回答2:

Sounds like you have a bad rule in your rules file. Backup your rules file, then remove lines one by one until the problem disappears. Then you'll know which line is causing the problem. Read the docs for that rule again to check if you are missing some necessary part.



回答3:

I encountered precisely the same issue with precisely the same error message.

This was on a system with libxml2 2.6.26 and libxslt 1.1.17.

Upgrading libxml2 to 2.7.8 and libxslt to 1.1.26 made the message go away and my Diazo rules began working correctly.

If you're using zc.buildout (and you should be), you can get along extremely quickly with the "z3c.recipe.staticlxml" recipe. Just add a "lxml" part to your buildout with the following configuration:

[lxml]
recipe = z3c.recipe.staticlxml
egg = lxml

Delete all existing lxml eggs you may have before running the buildout.



标签: plone diazo