2012-04-12 11 views
3

Ich muss eine Klasse zu einem Element aus dem Thema nur hinzufügen, wenn bestimmte Bedingungen erfüllt sind. Ich habe this solution versucht, für Diazo angepasst durch prepend mit before ersetzt:Diazo - Hinzufügen einer Klasse zu einem Thema Element

<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> 

aber ich bekomme die folgende Fehlermeldung:

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

ich diesen Fehler, auch wenn ich alle anderen Regeln zu entfernen, so dass es ist nur die <theme> Regel und die <before> Regel.

Wie kann ich einem Designelement nur dann eine Klasse hinzufügen, wenn kein #portal-column-two Element im Inhalt vorhanden ist?

Antwort

2

Der Diazo-Ersatz für prepend css:theme ist before css:theme-children, nicht before css:theme. Dein Beispiel funktioniert damit geändert.