wahsaga: Struktur für Dateiliste

hi,

ich überlege gerade, welche HTML-Struktur am sinnvollsten für ein Datei- bzw. Verzeichnis-Listing wäre.

Klar, erst mal eine Liste für die einzelnen Einträge.
Da die Ausgabe einer definierten Sortierung unterliegen soll, kommt OL sicher eher in Frage als UL.

Ein Eintrag besteht jetzt aus verschiedenen "Attributen" einer Datei bzw. eines Verzeichnisses:

  • Name
  • Größe (bei Dateien)
  • letztes Änderungsdatum
  • ggf. Typ (Datei oder Verzeichnis)
  • ...

Dafür könnte ich jetzt einfach eine weitere Liste nehmen:

  • LI {Dateiname}
      UL
        - LI {Größe}
        - LI {Datum}
        - LI {...}

Ich frage mich aber, ob hier nicht eine Definitionsliste besser geeignet wäre?

Und wenn ja, welcher Art?

  • Dateiname als Definition List Term, der dann durch mehrere Definition (List) Definitions wie Größe, Datum etc. "definiert" wird;
    oder vielleicht besser
  • Name, Größe, Datum als Definition List Terms, die dann durch die jeweiligen Werte definiert werden ...?

(Ja, eine schlichte Tabelle wäre sicher auch eine Möglichkeit, diese Daten aufzulisten - eine solche lässt sich aber nicht so flexibel formatieren ...)

gruß,
wahsaga

--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
  1. Hallo wahsaga.

    (Ja, eine schlichte Tabelle wäre sicher auch eine Möglichkeit, diese Daten aufzulisten - eine solche lässt sich aber nicht so flexibel formatieren ...)

    IMHO ist eine Tabelle die beste Möglichkeit für diesen Zweck.

    Warum meinst du, dass sie nicht so flexibel zu formatieren wäre?
    Oder muss alles auch im IE funktionieren?

    Einen schönen Montag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    mathbr:del.icio.us/
    1. IMHO ist eine Tabelle die beste Möglichkeit für diesen Zweck.

      denke ich nicht, da für jede Datei innerhalb der OL/LI-Struktur eine separate Tabelle verwendet werden müsste und diese abzüglich der Kopfdaten dann nur eine Zeile (oder Spalte) enthielte.

      Gruß
      Wurf

      1. Hallo MrWurf.

        IMHO ist eine Tabelle die beste Möglichkeit für diesen Zweck.

        denke ich nicht, da für jede Datei innerhalb der OL/LI-Struktur eine separate Tabelle verwendet werden müsste und diese abzüglich der Kopfdaten dann nur eine Zeile (oder Spalte) enthielte.

        Ich rede von einer Tabelle allein, ohne Liste:

        <table>  
          <thead>  
            <tr><th>Dateiname</th><th>Typ</th><th>Größe</th><th>Änderungsdatum</th></tr>  
          </thead>  
          <tbody>  
            <tr><td>Example.txt</td><td>Textdatei</td><td>4KB</td><td>2006-01-01</td></tr>  
            <tr><td>Foo.png</td><td>PNG-Image</td><td>56KB</td><td>2006-01-01</td></tr>  
            <tr><td>runme.sh</td><td>Shellscript</td><td>6KB</td><td>2006-01-01</td></tr>  
          </tbody>  
        </table>
        

        IMHO angemessen.

        Einen schönen Montag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        mathbr:del.icio.us/
    2. hi,

      IMHO ist eine Tabelle die beste Möglichkeit für diesen Zweck.

      Warum meinst du, dass sie nicht so flexibel zu formatieren wäre?

      Wenn ich die Einträge in einer OL habe, kann ich ganz einfach deren LI nebeneinander floaten, und in solchen "Kästchen" dann jeweils die Infos zu den einzelnen Einträgen untereinander darstellen:
       _____   _____   _____
      |name | |name | |name |
      |größe| |größe| |größe|
      |datum| |datum| |datum|
       -----   -----   -----

      Ich möchte keine Tabelle derart vergewaltigen, dass ich damit diese Optik erreiche; und außerdem ginge mir damit der Vorteil der Anpassung an die Darstellungsfläche verloren - entscheide ich mich fest für bspw. fünf solcher "Kästchen" nebeneinander, verschenke ich in manchen Browserfenstern viel Platz, in anderen muss ich Scrollen weil zu wenig Platz vorhanden ...

      Oder muss alles auch im IE funktionieren?

      Ja.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Hallo wahsaga.

        Ich möchte keine Tabelle derart vergewaltigen, dass ich damit diese Optik erreiche;

        Ich dachte, dass es dir um die Struktur (HTML) ginge? Offenbar ist jedoch das Layout (CSS) Ausschlag gebend.

        und außerdem ginge mir damit der Vorteil der Anpassung an die Darstellungsfläche verloren - entscheide ich mich fest für bspw. fünf solcher "Kästchen" nebeneinander, verschenke ich in manchen Browserfenstern viel Platz, in anderen muss ich Scrollen weil zu wenig Platz vorhanden ...

        Was spricht dagegen, entsprechende Werte für Breite und Schriftgröße zu setzen?

        Oder muss alles auch im IE funktionieren?

        Ja.

        Das verkompliziert die Sache natürlich.

        Schau dir auch einmal an, wie das Ganze bei AutoIndex geregelt wurde. Dank Templates kann die Struktur flexibel gehalten werden.

        Einen schönen Montag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        mathbr:del.icio.us/
        1. hi,

          Ich dachte, dass es dir um die Struktur (HTML) ginge?

          Ja.

          Offenbar ist jedoch das Layout (CSS) Ausschlag gebend.

          Auch.
          Ich weiß ich weiß, u.a. Cheatah predigt es ja auch immer wieder - erst mal die Struktur ganz unabhängig vom später gewünschten Aussehen wählen ... aber Theorie und Praxis lassen sich da eben nicht immer zu 100% vereinen.

          Was spricht dagegen, entsprechende Werte für Breite und Schriftgröße zu setzen?

          Ich wüsste nicht, wie mir das bei einer Tabelle helfen sollte, ein ähnliches Ergebnis (gleiche Dynamik) wie mit gefloateten "Einzel-Elementen" einer Liste hinzubekommen.

          Schau dir auch einmal an, wie das Ganze bei AutoIndex geregelt wurde. Dank Templates kann die Struktur flexibel gehalten werden.

          Templates schön und gut - aber wenn ich mir jetzt je nach gewünschter Optik der Ausgabe unterschiedliche Templates anlege, entferne ich mich ja noch weiter von der Trennung von Inhalt und Layout.

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. Hallo wahsaga.

            Ich weiß ich weiß, u.a. Cheatah predigt es ja auch immer wieder - erst mal die Struktur ganz unabhängig vom später gewünschten Aussehen wählen ... aber Theorie und Praxis lassen sich da eben nicht immer zu 100% vereinen.

            Ist mir bewusst.

            Ich kann dir nur meine persönliche Meinung unterbreiten, welche da lautet, dass ich--mit den Informationen, die du bisher gegeben hast--zur Tabelle tendieren würde. Du kannst dich natürlich dennoch für die Liste entscheiden, weil sie aus deiner Sicht einfacher zu verarbeiten und formatieren ist.

            Ich wüsste nicht, wie mir das bei einer Tabelle helfen sollte, ein ähnliches Ergebnis (gleiche Dynamik) wie mit gefloateten "Einzel-Elementen" einer Liste hinzubekommen.

            Ich kann momentan nur vage Vorstellungen zum Ausdruck bringen, da mir kein konkretes Beispiel vorliegt. Ich wüsste daher auch momentan nicht, warum hier eine Tabelle weniger flexibel als eine Liste sein soll.

            Durch angemessene Breiten- und Schriftgrößenangaben passt sich der Inhalt der Tabelle ja dem zur Verfügung stehenden Platz an, was meiner Meinung nach für genügend Flexibilität sorgt. (Ich weiß, dass ich dir hier nichts Neues unterbreite.)

            Templates schön und gut - aber wenn ich mir jetzt je nach gewünschter Optik der Ausgabe unterschiedliche Templates anlege, entferne ich mich ja noch weiter von der Trennung von Inhalt und Layout.

            Ich wollte mich damit hauptsächlich auf die ggf. variable Spaltenzahl beziehen. Per Template veränderst du diese innerhalb weniger Augenblicke.
            Aber das hat natürlich nichts mehr mit deiner Ausgangsfrage zu tun.

            Einen schönen Montag noch.

            Gruß, Ashura

            --
            sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
            mathbr:del.icio.us/
            1. hi,

              Ich kann momentan nur vage Vorstellungen zum Ausdruck bringen, da mir kein konkretes Beispiel vorliegt.

              Dein Tabellen-Vorschlag: Mehrere Zeilen der Form

              Name - Größe - Datum
              Name - Größe - Datum
              Name - Größe - Datum

              Mein Darstellungswunsch:

              ______   _____   _____
              |name | |name | |name |
              |größe| |größe| |größe|
              |datum| |datum| |datum|
              ------   -----   -----

              Ich wüsste daher auch momentan nicht, warum hier eine Tabelle weniger flexibel als eine Liste sein soll.

              Ich wüsste nicht, wie ich eine Tabelle mit wie von dir vorgeschlagener Struktur - welche ich unter Nutzung einer Tabelle allerdings auch für die so ziemlich einzig sinnvolle hielte - meinem Darstellungswunsch entsprechend formatieren sollte.

              Ich müsste Spalten in Zeilen transferieren (Name, Größe, Datum untereinander) - aber wie soll ich dann wieder _flexibel_ wie beim floaten mehrere solcher Einträge nebeneinander bekommen?

              Ich wollte mich damit hauptsächlich auf die ggf. variable Spaltenzahl beziehen. Per Template veränderst du diese innerhalb weniger Augenblicke.

              Sicher - aber ich will mich ja dem auf dem Client zur Anzeige verfügbaren Platz automatisch anpassen, ohne aus verschiedenen Templates eines auswählen (lassen) zu müssen.
              Und da sehe ich kaum Alternativen zu float.

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }
              1. Hallo wahsaga.

                Ich wüsste nicht, wie ich eine Tabelle mit wie von dir vorgeschlagener Struktur - welche ich unter Nutzung einer Tabelle allerdings auch für die so ziemlich einzig sinnvolle hielte - meinem Darstellungswunsch entsprechend formatieren sollte.

                Möglich ist es schon, aber leider haben Opera und IE im Gegensatz zu Fx und Konqueror Probleme damit. Damit scheidet diese Möglichkeit wohl aus, sofern mein Versuch nicht grob verbesserungswürdig ist.

                Einen schönen Montag noch.

                Gruß, Ashura

                --
                sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                mathbr:del.icio.us/
                1. hi,

                  Möglich ist es schon,

                  Klar, dass TR und TD ebenfalls gefloatet werden könnten, ist logisch, aber -

                  aber leider haben Opera und IE im Gegensatz zu Fx und Konqueror Probleme damit. Damit scheidet diese Möglichkeit wohl aus

                  Eben.

                  gruß,
                  wahsaga

                  --
                  /voodoo.css:
                  #GeorgeWBush { position:absolute; bottom:-6ft; }
                2. Hallo Freunde des gehobenen Forumsgenusses,

                  Möglich ist es schon, aber leider haben Opera und IE im Gegensatz zu Fx und Konqueror Probleme damit.

                  Arghh! Könnte mal bitte jemand M$ wegen psychischem Terror gegen alle Webcoder verklagen und den kompromisslosen Ersatz aller IE durch FF erzwingen? Dieses Ding ist ein Verbrechen an der Menschheit!

                  Gruß
                  Alexander Brock

          2. Hallo,

            Ohne etwas zum Thema beizutragen:

            Ich dachte, dass es dir um die Struktur (HTML) ginge?

            Ja.

            Offenbar ist jedoch das Layout (CSS) Ausschlag gebend.

            Auch.

            Krchch.

            Ich weiß ich weiß, u.a. Cheatah predigt es ja auch immer wieder - erst mal die Struktur ganz unabhängig vom später gewünschten Aussehen wählen ... aber Theorie und Praxis lassen sich da eben nicht immer zu 100% vereinen.

            Die Predigt schießt prinzipiell über das Thema hinaus. HTML erlaubt keine universelle semantische Auszeichnung, die es verdient, so genannt zu werden. HTML ist auch nicht zur präzisen Strukturierung gedacht. Dafür müsste man eigene Sprachen einführen - pro Dokument vielleicht sogar mehrere, je nachdem, welche Inhaltsstrukturen möglichst semantisch ausgezeichnet werden sollen. Das ist weder praktikabel noch lohnenswert. Darauf hatte Gunnar ja auch hingewiesen. Wäre die Wahl der Struktur also unabhängig, würde die Wahl seltenst auf HTML fallen.
            Will man aber HTML schreiben, so kann sich die Auszeichnung nicht daran orientieren, was die geeigneteste Strukturierung an sich wäre. Und innerhalb von HTML gibt es seltenst eine große Wahl zwischen halbwegs stimmigen Auszeichnungsarten, die meist allesamt auch ein bestimmtes Aussehen determinieren.
            Denn auf der anderen Seite ist CSS nicht dazu geeignet, jeder beliebigen Markupstruktur ein beliebiges Aussehen zu geben. Dazu ist CSS auch nicht gedacht, sondern es ist letztlich sehr an HTML orientiert (Elemente bilden »Blöcke« usw.).
            Strenggenommen ist die absolute Trennung von Markup und Präsentationslogik unmöglich, zumindest wurde noch nicht die Sprache erfunden, mit der sich dermaßen komplizierte Formatierungsregeln ausdrücken ließen.

            Mathias

            1. Hallo.

              Will man aber HTML schreiben, so kann sich die Auszeichnung nicht daran orientieren, was die geeigneteste Strukturierung an sich wäre.

              Das kann sie sehr wohl.

              Und innerhalb von HTML gibt es seltenst eine große Wahl zwischen halbwegs stimmigen Auszeichnungsarten, die meist allesamt auch ein bestimmtes Aussehen determinieren.

              In modernem HTML ist gar kein Aussehen determiniert.

              Denn auf der anderen Seite ist CSS nicht dazu geeignet, jeder beliebigen Markupstruktur ein beliebiges Aussehen zu geben. Dazu ist CSS auch nicht gedacht, sondern es ist letztlich sehr an HTML orientiert (Elemente bilden »Blöcke« usw.).

              Zwischen "jeder beliebigen Markupstruktur" und HTML liegen noch beliebig viele Möglichkeiten, CSS sinnvoll anzuwenden.

              Strenggenommen ist die absolute Trennung von Markup und Präsentationslogik unmöglich, zumindest wurde noch nicht die Sprache erfunden, mit der sich dermaßen komplizierte Formatierungsregeln ausdrücken ließen.

              Einmal abgesehen davon, dass deine Aussage weder veri- noch falsifizirbar ist, bietet es sich ja im Allgemeinen auch an, die Darstellung zumindest lose mit der Struktur korrespondieren zu lassen.
              MfG, at

              1. Hallo,

                Und innerhalb von HTML gibt es seltenst eine große Wahl zwischen halbwegs stimmigen Auszeichnungsarten, die meist allesamt auch ein bestimmtes Aussehen determinieren.

                In modernem HTML ist gar kein Aussehen determiniert.

                Natürlich ist mit jeder Auszeichnung eine Standardformatierung verbunden, die sich mit CSS nicht in eine solche ändern lässt, die mit anderer Auszeichnung möglich wäre. Ob ich eine Datenstruktur auf die eine oder andere Weise auszeichne, determiniert letztlich die Möglichkeiten der Formatierung. Lediglich kann man, zumindest der Theorie nach, z.B. an der display-Eigenschaft herumspielen. Das ist geschenkt, an der Stelle tritt die Begrenzung seitens CSS auf. Bei Markupstrukturen allerdings ermöglichen ein paar Änderungen an Eigenschaften noch längst nicht die Freiheit des Aussehens.

                Mathias

                1. Hallo.

                  Natürlich ist mit jeder Auszeichnung eine Standardformatierung verbunden, die sich mit CSS nicht in eine solche ändern lässt, die mit anderer Auszeichnung möglich wäre.

                  Abgesehen von den Vereinbarungen, bestimmte Elemente nicht oder nur in beschränktem Umfang gestalten zu lassen, etwa bei bestimmten Formularelementen, handelt es sich bei den etablierten Standards und ihren Einschränkungen um browser-spezifische Behandlungsformen oder strukturelle Einschränkungen -- ein <td> liegt eben immer in einer <tr>, während eine <dl> kein umschließendes Element für <dt> und <dd> kennt.

                  Ob ich eine Datenstruktur auf die eine oder andere Weise auszeichne, determiniert letztlich die Möglichkeiten der Formatierung.

                  Nein, ich kann jede beliebige Eigenschaft jedem beliebigen Element an jeder beliebigen Stelle zuordnen.

                  Bei Markupstrukturen allerdings ermöglichen ein paar Änderungen an Eigenschaften noch längst nicht die Freiheit des Aussehens.

                  Die Freiheit des Aussehens hat man mit CSS oder aktuellen Monitoren ohnehin nicht. Aber wegen eines wegen dieser technischen Barrieren nicht zu bewerkstelligenden Goldschimmers gleich einen Goldschmied zu beauftragen, ist häufig auch nicht der Weisheit letzter Schluss.
                  MfG, at

                  1. Hallo,

                    Ob ich eine Datenstruktur auf die eine oder andere Weise auszeichne, determiniert letztlich die Möglichkeiten der Formatierung.

                    Nein, ich kann jede beliebige Eigenschaft jedem beliebigen Element an jeder beliebigen Stelle zuordnen.

                    Das ist kein Widerspruch zu meiner Aussage. Das habe ich nicht angezweifelt.

                    Mathias

                    1. Hallo.

                      Das ist kein Widerspruch zu meiner Aussage. Das habe ich nicht angezweifelt.

                      Prima, dann sind wir uns ja einig.
                      MfG, at

  2. ich überlege gerade, welche HTML-Struktur am sinnvollsten für ein Datei- bzw. Verzeichnis-Listing wäre.

    wahsaga,
    Hast du vorher überlegt, ob HTML überhaupt sinnvoll dafür ist?

    Wenn du das Listing semantisch auszeichnen willst, bietet sich RDF/XML an. Das kann man ja auch direkt mit CSS formatieren oder mit XSLT transformieren, wobei das dabei entstehende HTML allein zur Präsentation dient und damit auch nicht hohen Ansprüchen an strukturelles Markup gerecht werden muss.

    Live long and prosper,
    Gunnar

    --
    „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
    1. hi,

      Hast du vorher überlegt, ob HTML überhaupt sinnvoll dafür ist?

      Da ich lediglich das Listing eines Verzeichnisses auf dem Webserver im Browser darstellen will (analog zu mod_autoindex - nur eben etwas "schöner") - und das möglichst kompatibel, ist (X)HTML sogar ziemlich "erforderlich" ;-)

      Wenn du das Listing semantisch auszeichnen willst, bietet sich RDF/XML an. Das kann man ja auch direkt mit CSS formatieren oder mit XSLT transformieren, wobei das dabei entstehende HTML allein zur Präsentation dient und damit auch nicht hohen Ansprüchen an strukturelles Markup gerecht werden muss.

      Ja, klar könnte ich irgendwelche "Zwischenebenen" einziehen, in denen ich die Daten im Format XY wunderbar logisch und semantisch wertvoll auszeichne - und dann diese wieder in ein hauptsächlich aus Divs und Spans bestehendes HTML-Gerüst transferieren ...
      Aber das geht irgendwie doch ein wenig an dem vorbei, was ich erreichen möchte.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. Heißa, wahsaga,

    ich überlege gerade, welche HTML-Struktur am sinnvollsten für ein Datei- bzw. Verzeichnis-Listing wäre.

    Meiner Meinung nach wäre eine verschachtelte Definitionsliste geeignet dafür, wenn du keine Tabelle verwenden willst:

    <dl>  
      <dt>Dateiname 1</dt>  
      <dd><dl>  
        <dt>Größe</dt>  
        <dd>123 456</dd>  
      
        <dt>Rechte</dt>  
        <dd>-rwxr-xr-x</dd>  
    […]  
      </dl></dd>  
    […]  
    </dl>
    

    Gautera!
    Grüße aus Biberach Riss,
    Candid Dauth

    --
    Ein Fußball-Fan? Noch auf der Suche eine Schlafmöglichkeit im Großraum Stuttgart für die WM 2006? Wie wäre es mit Herrenberg, einer gemütlichen Kleinstadt am Rande des Schönbuchs – von der Lage her ideal, auch für andere Vorhaben im Urlaub. Ferienwohnungen-Herrenberg.com.
    http://cdauth.de/