eeye: CSS parsen und nicht benötigte Selektoren ausfiltern

Hallo Forum

Ich bin auf der Suche nach einem Tool das folgendes leisten kann:

Man übergibt ihm eine Datei mit CSS Definitionen und eine XHTML Datei.
Das Tool analysiert die XHTML Datei und bearbeitet dann die CSS Datei so, dass nur die in der XHTML Datei tatsächlich benutzten/benötigten Selektoren übrig bleiben.

Kennt jemand ein solches, oder ähnliches Tool?

Danke für jegliche Hinweise zu dem Thema.

Viele Grüsse,
eeye

  1. Hey,

    Man übergibt ihm eine Datei mit CSS Definitionen und eine XHTML Datei.
    Das Tool analysiert die XHTML Datei und bearbeitet dann die CSS Datei so, dass nur die in der XHTML Datei tatsächlich benutzten/benötigten Selektoren übrig bleiben.
    Danke für jegliche Hinweise zu dem Thema.

    Ideen zur Programmierung:

    1. Parse das XHTML.

    2. Parse das CSS und du hast eine Sammlung von Regeln, z.B.:
            A:link
            .box
            .chmenu TD

    3. Iteriere über die Sammlung und wende die Regeln mit XPath an. Logischerweise nimmst du td statt TD (XHTML hat alles in Kleinbuchstaben) und a statt A:link (Pseudoklassen spielen keine Rolle, zum Match reicht es, wenn das Element an sich vorhanden ist).
            alle Elemente, die a heißen
            alle Elemente, die im Attributinhalt des Attributnamens class den String mit Wortgrenzen box enthalten
            alle Elemente, die td heißen, die Nachkommen von Elementen sind, die im Attributinhalt des Attributnamens class den String mit Wortgrenzen chmenu enthalten

    3.b) Komplexere Selektoren bilden mehr oder weniger gut auf XPath-Syntax ab. Direkte Nachkommen (CSS > ) sind kein Problem, Nachbarn (CSS + ) sind schon haariger.

    4. Wenn ein XPath-Selektor keinen gültigen Match hat, entferne die korrespondierende Regel aus der Sammlung.

    5. Am Ende der Iteration gib die verkleinerte Sammlung aus.

    1. Hi

      Man übergibt ihm eine Datei mit CSS Definitionen und eine XHTML Datei.
      Das Tool analysiert die XHTML Datei und bearbeitet dann die CSS Datei so, dass nur die in der XHTML Datei tatsächlich benutzten/benötigten Selektoren übrig bleiben.
      Ideen zur Programmierung:

      Also doch mal wieder selber Programmieren :/
      denke nur dass das recht aufwendig werden dürfte, wenn man wirklich alle Möglichkeiten die CSS mit den verschiedenen Selektoren bietet abbilden will...

      1. Iteriere über die Sammlung und wende die Regeln mit XPath an.

      XPath ist eine gute Idee! Danke dafür.

      Mal sehen wie weit ich mich da reinsteigere, oder ob ich doch noch eine andere Lösung finde.

      Viele Grüsse,
      eeye

      1. Hello out there!

        XPath ist eine gute Idee! Danke dafür.

        Siehe auch [Tim].

        See ya up the road,
        Gunnar

        --
        “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)