Christoph Schnauß: lassen sich "flüchtige" Anzeigen validieren?

guten Abend Forum ;-)

Ich bin immer noch und immer wieder einmal am Herumbasteln an "Seiten", die keine statischen Dokumente werden sollen bzw. bei denen der "user" entscheidet, ob das Angezeigte auch gespeichert werden soll. Ich erzeuge also Bildschirmausgaben mit "print"  -  vorzugsweise mit PERL, aber auch mit PHP.
Was der Besucher sieht, ist kein statisches HTML-Dokument, sondern eines, das ihm grade von meinem  Script generiert worden ist. Die URL lautet demzufolge nicht "http://www.server.tld/datei.htm" sondern beipielsweise "http://www.server.tld/script.cgi?**" oder ähnlich.

Wenn ich (in PERL) für solche Ausgaben das CGI-Modul verwende, schreibt es mir bei perl5.8 grundsätzlich XHTML, das will ich auch so haben. Aber die Zusammensetzung der "generierten" Seite hängt von vielen Faktoren ab, da es eine Menge Variablen gibt, die entweder "bedient" oder nicht "bedient" wurden. Das User-Verhalten kann und will ich nicht beeinflussen.

Wie kann ich nun den W3C-Validator fragen, ob eine solche "generierte" Seite valide ist? Ich möchte ja wissen, ob ich eventuell in meinen "print"-Anweisungen irgendwas übersehen oder falsch gemacht habe. Der Validator kann aber keine Scripts prüfen bzw. mir ist das nicht bekannt.

Grüße aus Berlin

Christoph S.

  1. Hallo,

    du könntest ja ein Script schreiben (falls es so etwas noch nicht gibt), welches alle möglichen Varianten durchgeht, die generierte HTML-Datei an den Validator schickt und seine Ausgabe in eine Datei schreibt.

    Mit freundlichen Grüßen
       Dimitri Rettig

    --
    Meistens gelangen die Menschen nur durch die Folgen der Unordnung zur Einführung der Ordnung, und Gesetzlosigkeit führt gewöhnlich erst zu Gesetzen.
      -- Friedrich Schiller
    1. du könntest ja ein Script schreiben (falls es so etwas noch nicht gibt), welches alle möglichen Varianten durchgeht, die generierte HTML-Datei an den Validator schickt und seine Ausgabe in eine Datei schreibt.

      ...und dieses dann hier posten ;)

      Gruß, Andreas

  2. Moin,

    Wie kann ich nun den W3C-Validator fragen, ob eine solche "generierte" Seite valide ist?

    Indem du ihm einfach den URL der generierten Seite ('"http://www.server.tld/script.cgi?**" oder ähnlich') übergibtst?!?

    --
    Henryk Plötz
    Grüße aus Berlin
    ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
    ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
    1. hi Henryk,

      Wie kann ich nun den W3C-Validator fragen, ob eine solche "generierte" Seite valide ist?
      Indem du ihm einfach den URL der generierten Seite ('"http://www.server.tld/script.cgi?**" oder ähnlich') übergibtst?!?

      Wenns denn wirklich ganz so einfach wäre, hätt ich nicht nachfragen brauchen. Genau das macht der Validator  -  jedenfalls für mich  -  nicht.

      :-(

      Christoph S.

      1. Moin,

        Wenns denn wirklich ganz so einfach wäre, hätt ich nicht nachfragen brauchen. Genau das macht der Validator  -  jedenfalls für mich  -  nicht.

        Dann solltest du herausfinden warum nicht. Zuerst: Verwendest du POST oder (wie durch dein Beispiel angedeutet) GET? Wenn POST, dann ist das dein Problem. Dann: Verwendest du noch clientseitige Magie?
        Man könnte auch mit Ethereal den Verkehr überwachen und eventuelle Unterschiede zwischen dem Request deines Browsers und dem des Validators untersuchen.

        Eine andere Methode wäre die erzeugten Seiten zu speichern und dann die Uploadfunktion des Validators zu benutzen. IIRC hat Opera das sogar schon eingebaut.

        --
        Henryk Plötz
        Grüße aus Berlin
        ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
        ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
        1. hallo Henryk,

          Dann solltest du herausfinden warum nicht.

          boahhh ... Ja, sollte ich :-(

          Zuerst: Verwendest du POST oder (wie durch dein Beispiel angedeutet) GET?

          Das Argument mit GET hat was für sich. Das gibts nämlich tatsächlich  -  allerdings nur bei ganz bestimmten Alternativen. "In der Regel" verwende ich POST.

          Wenn POST, dann ist das dein Problem.

          Grmpf, ja doch, es ist mein Problem, sonst hätt ichs ja nicht angefragt. Was meine Scripts angeht, so haben sie gefälligst auch erstmal sämtliche Tauglichkeitstests lokal zu überstehen. Aber damit wird nur geprüft, ob das Ding tatsächlich irgendwas ausgibt, und ob die Ausgabe auch noch in irgendeiner Weise "valide" ist, interessiert weder den Perl-Interpreter noch meinen lokalen Webserver.

          Dann: Verwendest du noch clientseitige Magie?

          Ups? Ich bin kein Magier ;-) Nein, irgendwelcher clientseitiger Tinnef wird vermieden, brauch ich ja nicht, wenn ich schon eine serverseitige Technologie einsetze.

          Man könnte auch mit Ethereal den Verkehr überwachen und eventuelle Unterschiede zwischen dem Request deines Browsers und dem des Validators untersuchen.

          Mit Verlaub: das hab ich bereits probiert, aber kein auswertbares Ergebnis erhalten.

          Eine andere Methode wäre die erzeugten Seiten zu speichern und dann die Uploadfunktion des Validators zu benutzen. IIRC hat Opera das sogar schon eingebaut.

          Wer war das doch gleich, der denselben Gedanken auch schon hatte ... Ja, das ist natürlich möglich. Es wird bloß ein bissel sehr viel Vergleichsarbeit, weil ich eine nicht kalkulierbare Zahl an möglichen Darstellungen zwschenspeichern und auf diese Weise kontrollieren müßte. Davor hatte ich mich eigentlich drücken wollen.

          Bisweilen scheint es einfach am Provider und seinen Servern zu liegen. Mit einem relativ wenig strukturierten Script hats eben geklappt (aber sonst bisher den ganzen Tag nicht), siehe http://validator.w3.org/check?uri=http%3A%2F%2Fwww.christoph-schnauss.de%2Fcgi-bin%2Fkursforum.pl&doctype=(detect+automatically)&charset=(detect+automatically). Dieses Script (das durch ein moderneres ersetzt werden soll) ignoriert allerdings noch CGI.pm und liefert kein XHTML, sondern HTML. Irgendwas haut bei den Bildschirmausgaben wohl mit dem "quoting" noch nicht hin, aber sonst ist das ein prima Beispiel, weshalb ich eben gerne auch solche temporären Bildschirmausgaben valide haben bzw. validieren können möchte ...

          Grüße

          Christoph S.

  3. Hola,
    ich mache es immer so, dass ich die erzeugten HTML Dateien, bevor ich das CGI Script schreibe, zuerst mit allen Möglichkeiten als wirkliche HTML Datei abspeichere und mit dem Validator prüfe.
    Mit dem CGI Script prüfe ich zur Sicherheit später auch noch mal nach. Gib einfach die aktuelle Adresse des CGI Scripts in den Validator ein, und es wird die HTML Ausgabe auch validieren.

    $xNeTworKx.

  4. Hallo Christoph

    Wie kann ich nun den W3C-Validator fragen, ob eine solche "generierte" Seite valide ist? Ich möchte ja wissen, ob ich eventuell in meinen "print"-Anweisungen irgendwas übersehen oder falsch gemacht habe. Der Validator kann aber keine Scripts prüfen bzw. mir ist das nicht bekannt.

    Solange die Werte nicht per POST, sonder mit GET übergeben werden dürfte es kein Problem sein. Ansonsten hilft wohl nur Dimitri Vorschlag, ein eigenes Script zu schreiben, oder eine große Portion Selbstvertrauen ;-)

    Grüße aus Berlin

    Grüße aus Stolberg(Rhld.)

    Johannes

    --
    ss:| zu:} ls:[ fo:} de:] va:} ch:) sh:( n4:| rl:( br:< js:| ie:{ fl:( mo:}
    1. hi,

      Ansonsten hilft wohl nur Dimitri Vorschlag, ein eigenes Script zu schreiben, oder eine große Portion Selbstvertrauen ;-)

      Hrm. Noch ein Script ... :-(
      Das mit dem "Selbstvertrauen" ist gut. Es ist auch genug vorhanden, aber man möchte den Validator ja gewissermaßen als "letzte Sicherheitsbremse" doch gerne befragen.

      Christoph S.

  5. Wie kann ich nun den W3C-Validator fragen, ob eine solche "generierte" Seite valide ist? Ich möchte ja wissen, ob ich eventuell in meinen "print"-Anweisungen irgendwas übersehen oder falsch gemacht habe. Der Validator kann aber keine Scripts prüfen bzw. mir ist das nicht bekannt.

    Hi,

    is doch ganz easy: Rufe einfach dein Skript auf. Dann im IE oder Moz. ins Menü "Ansicht + Quelltext". Dann ab in die Zwischenablage und nun den Code einen Validator übergeben (z.B. HTML Tidy)

    Bye,

    Steve01

    1. hi,

      is doch ganz easy: Rufe einfach dein Skript auf. Dann im IE oder Moz. ins Menü "Ansicht + Quelltext". Dann ab in die Zwischenablage und nun den Code einen Validator übergeben (z.B. HTML Tidy)

      oder direkt im opera testen, der den quelltext direkt über's kontextmenü an den validator schicken kann ;-)

      gruss,
      wahsaga

      1. Hallo,

        ... oder einfach in SelfForum posten, und nachfragen, ob der Quelltext valide ist, oder nicht.

        Mit freundlichen Grüßen
           Dimitri Rettig

        --
        Meistens gelangen die Menschen nur durch die Folgen der Unordnung zur Einführung der Ordnung, und Gesetzlosigkeit führt gewöhnlich erst zu Gesetzen.
          -- Friedrich Schiller
        1. hi Dmitri,

          ... oder einfach in SelfForum posten, und nachfragen, ob der Quelltext valide ist, oder nicht.

          Danke, hab ich ja oben grade andeutungsweise gemacht ... mein "Quelltext" besteht eben leider aus 2000 Zeilen Scriptcode ...

          *g*

          Grüße aus Berlin

          Christoph S.

          1. Danke, hab ich ja oben grade andeutungsweise gemacht ... mein "Quelltext" besteht eben leider aus 2000 Zeilen Scriptcode ...

            Wie oben schon gesagt, nimm HTML Tidy oder CSELITE. Dazu sind doch diese Tools da und das Forum ist dazu da, dass hier versucht wird alle Fragen zu beantworten.

            Bye,
            Steve01

      2. Hallo wahsaga,

        oder direkt im opera testen, der den quelltext direkt über's kontextmenü an den validator schicken kann ;-)

        für was den Kontextmenü? [strg]+[alt]+[v] tut es völlig :-)

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. hi,

          oder direkt im opera testen, der den quelltext direkt über's kontextmenü an den validator schicken kann ;-)
          für was den Kontextmenü? [strg]+[alt]+[v] tut es völlig :-)

          na toll, die tastaturkürzel-fetischisten-fraktion mal wieder.
          und wie bitte sieht die entsprechende mouse gesture aus ...?
          ;-)

          gruss,
          wahsaga

          1. Hallo wahsaga,

            oder direkt im opera testen, der den quelltext direkt über's kontextmenü an den validator schicken kann ;-)
            für was den Kontextmenü? [strg]+[alt]+[v] tut es völlig :-)
            na toll, die tastaturkürzel-fetischisten-fraktion mal wieder.
            und wie bitte sieht die entsprechende mouse gesture aus ...?
            ;-)

            einmal mit gedrückter Maustaste hoch - aber nur wenn du es so einstellst (vorher 'Stop' löschen, bzw. auf was anderes legen) ;-)

            Grüße aus Nürnberg
            Tobias

            --
            Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
      3. Moin!

        hi,

        is doch ganz easy: Rufe einfach dein Skript auf. Dann im IE oder Moz. ins Menü "Ansicht + Quelltext". Dann ab in die Zwischenablage und nun den Code einen Validator übergeben (z.B. HTML Tidy)

        oder direkt im opera testen, der den quelltext direkt über's kontextmenü an den validator schicken kann ;-)

        Das wäre auch exakt mein Vorschlag gewesen. Das funktioniert dann nämlich auch mit POST-Daten.

        Der Validator nimmt aber tatsächlich nicht nur URLs entgegen, sondern auch hochgeladene Dateien (damit realisiert Opera das Validieren).

        Nachteil beim Opera ist leider, dass man fehlende DOCTYPEs oder Zeichensatzangaben nicht "mal eben" nachkorrigieren kann. Dafür kann man sich aber in Opera, genau wie für die Suchmaschinenkürzel ("g suchwort" sucht in Google) auch Kürzel für den Validator basteln. Bei mir validiert "v" im HTML-Vali und "c" im CSS-Vali die nachfolgende URL. Also einfach in die URL-Zeile der angezeigten Seite "v " davorsetzen - und ab dafür.

        - Sven Rautenberg

        --
        "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
        (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
  6. guten Morgen Forum ;-)

    hab mir den tread mal soweit durchgelesen und jetzt verstehe ich, warum für grössere projekte die strikte trennung von design und funktion so wichtig ist.
    du weist doch zumindest, aus welchen einzelnen modulen sich die seite maximal zusammensetzt. wenn jeder (x)html-block in einer eigenen template-datei steht, lässt sich 1. das design schnell neuen wünschen anpassen und 2. auch der code besser strukturieren und lesen. dabei fallen dir fehler viel eher auf, als wenn alles in einem script zusammen mit der funktionalität steckt.

    freundl. grüsse, raik