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