==============
collective.xdv
==============
Einführung
==========
``collective.xdv`` ist ein neuer Ansatz um eine Plone-Website zu gestalten Einige Vorteile von ``collective.xdv`` sind:
- Web-Designer müssen kein Vorwissen in bezug auf Plone und Python mitbringen;
- Standardbibliotheken und -werkzeuge können verwendet werden;
- Auch eine bereits existierende Webgestaltung, z.B. von `Open Source Web Design`_, kann einfach verwendet werden.
.. figure:: xdv.png
:alt: XDV-Setup
Im Vergleich zu :doc:`../deliverance/index` weist ``collective.xdv`` folgende Unterschiede auf:
- Es wird nur das XSLT-Subset von Deliverance verwendet.
- Die Antwortzeiten von XDV sind schneller, da nicht erst zur Laufzeit eine XSLT-Datei kompiliert wird.
- Es gibt nur XPath- und CSS3-Selektoren:
+----------------------------------------+--------------------------------+
| XDV | Deliverance |
+========================================+================================+
| ``replace`` | ``replace`` |
+----------------------------------------+--------------------------------+
| ``copy`` | ``replace`` + Kindselektortyp |
+----------------------------------------+--------------------------------+
| ``before`` | ``prepend`` |
+----------------------------------------+--------------------------------+
| ``after`` | ``append`` |
+----------------------------------------+--------------------------------+
| ``prepend`` | ``prepend`` + Kindselektortyp |
+----------------------------------------+--------------------------------+
| ``prepend`` + XPATH + ``@id`` | ``prepend`` + Kindselektortyp |
| | |
| oder | |
| | |
| ``prepend`` + XPATH + ``@class`` | |
+----------------------------------------+--------------------------------+
| ``append`` | ``append`` + Kindselektortyp |
+----------------------------------------+--------------------------------+
| ``drop`` | ``drop`` |
+----------------------------------------+--------------------------------+
Bedingte Regeln
===============
- Es lassen sich Bedingungen für die Aktionen angeben, z.B.::
- Darüber hinaus kann eine Bedingung auch auf mehrere Aktionen angewendet werden, z.B.::
Und auch verschachtelte Bedingungen sind mögich, z.B.::
oder::
- Auch mehrere ``Themes`` lassen sich durch Bedingungen unterscheiden, z.B.::
oder::
- Es können auch Pfadbedingungen angegeben werden, z.B.::
Endet die Pfadbedingung mit ``/``, so wird die Regel nur angewendet, wenn die URL an dieser Stelle endet, also z.B.::
wird auf ``/Plone/news`` oder ``/Plone/news/`` angewendet, nicht jedoch auf ``/Plone/news/news1.html``.
- Auch externe Inhalte können eingebunden werden, z.B. in einem Mashup::
Reihenfolge
===========
Die Regeln werden nicht nacheinander abgearbeitet sondern in folgender festgelegter Reihenfolge:
#. ````
#. ````
#. ````
#. ````
#. ````
Dies führt meines Erachtens zu einer unnötigen Komplexität bei der Analyse, welche Regeln in welcher Reihenfolge abgearbeitet werden. Zudem bringt XDV keine Debug-Konsole mit, wodurch diese Analyse deutlich erschwert wird.
.. _`Open Source Web Design`: http://www.oswd.org/
.. toctree::
:titlesonly:
:maxdepth: 1
:hidden:
installation
theme-transformation
transformationsregeln
xdvtheme-produkt