2012-04-12 4 views
3

Мне нужно добавить класс к элементу, исходящему из темы, только если выполнены определенные условия. Я попытался this solution, с поправкой на ДИАЗО путем замены prepend с before:Diazo - Условно добавить класс к элементу темы

<before css:theme=".main" if-content="not(//*[@id='portal-column-two'])"><xsl:attribute name="class"><xsl:value-of select="//*[@class='main']/@class"/> full</xsl:attribute></before> 

, но я получаю следующее сообщение об ошибке:

XSLTApplyError: xsl:attribute: Cannot add attributes to an element if children have been already added to the element. 

Я получаю эту ошибку, даже если я удалить все другие правила, такие, что является только правилом <theme> и правилом <before>.

Как добавить класс к элементу темы только в том случае, если в содержании нет элемента #portal-column-two?

ответ

2

Замена Diazo для prepend css:theme составляет before css:theme-children, а не before css:theme. Ваш пример работает с измененным.