Andreas Lindig: /CSS spezial-Trennzeichen für URL gesucht

Hallo Forum,

gibt es ein Zeichen, das in einer http://-URL, aber nicht in einer CSS-Klasse vorkommen darf?

Gruß, Andreas

--
SELFFORUM - hier werden Sie geholfen,
auch in Fragen zu richtiges Deutsch
  1. Hallo Andreas,

    gibt es ein Zeichen, das in einer http://-URL, aber nicht in einer CSS-Klasse vorkommen darf?

    Wie wäre es mit dem Schrägstrich - also /?

    Viele Grüße,
    Christian

    1. Hallo Christian,

      Wie wäre es mit dem Schrägstrich - also /?

      ach, tatsächlich. Dann kann ich ja auch ~ nehmen. Im SelfHTML steht "keine Sonderzeichen". Sonderzeichen waren für mich irgendwie erst ab ASCII 128. Ich benenne zwar vorsichtshalber _alles_ nur mit [a-zA-Z_0-9], aber was nun im Extremfall von irgendjemandem verwendet wird, dessen Dokument ich auslesen muß, kann ich ja nicht wissen. :-)

      vielen Dank
      Gruß, Andreas

      --
      SELFFORUM - hier werden Sie geholfen,
      auch in Fragen zu richtiges Deutsch
      1. Hi,

        ach, tatsächlich. Dann kann ich ja auch ~ nehmen.

        die Tilde darf an keiner Stelle einer HTTP-URL vorkommen.

        Im SelfHTML steht "keine Sonderzeichen". Sonderzeichen waren für mich irgendwie erst ab ASCII 128.

        Also sind Leerzeichen, Tabulator, Zeilen- und Seitenumbruch, EOF usw. keine Sonderzeichen? Wie steht's mit dem Prozent- oder dem Fragezeichen? ASCII[1] enthält eine ziemlich große Menge an Zeichen, die je nach Kontext als Sonderzeichen gelten.

        Ich benenne zwar vorsichtshalber _alles_ nur mit [a-zA-Z_0-9],

        Den Unterstrich solltest Du unbedingt weglassen.

        Cheatah

        [1] Übrigens umfasst ASCII nur 128 Zeichen, nicht mehr.

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo Cheatah,

          die Tilde darf an keiner Stelle einer HTTP-URL vorkommen.

          kommt aber öfters vor...
          sind die Adressen dann technisch falsch?

          Im SelfHTML steht "keine Sonderzeichen". Sonderzeichen waren für mich irgendwie erst ab ASCII 128.

          Also sind Leerzeichen, Tabulator, Zeilen- und Seitenumbruch, EOF usw. keine Sonderzeichen?

          naja, ab ASCII 32 natürlich

          Wie steht's mit dem Prozent-

          gute Idee, vielleicht könnte ich das als zweites Trennzeichen nehmen :-)

          Ich benenne zwar vorsichtshalber _alles_ nur mit [a-zA-Z_0-9],

          Den Unterstrich solltest Du unbedingt weglassen.

          waaas? auch in CSS-Klassennamen?

          Wo wir gerade bei URLs sind: warum wird mir in folgendem Szenario die URL so versaut:
          Ich lade eine Adresse mit einem file-Upload Button, schicke selbige mit JavaScript an eine Funktion (value des file-inputs) und lade mit dieser Funktion eine neue Seite in ein anderes Fenster. Adressen vom typ file:///C:/blah../blubb werden zu file:///C:%5Cblah..%5Cblubb verwurstet, mit dem Ergebnis, daß z.B. Stylesheets nicht mehr ordentlich eingeladen werden. mit http://-Adressen passiert das nicht.

          Wenn ich allerdings den Adresstring in der Funktion vor dem laden der neuen Seite ausgebe (alert oder document.write) zeigt er noch keine Veränderungen. Auch eine Behandlung mit decodeURI(url) hat deswegen keinen Zweck, weil die Adresse ja noch gar nicht verwurstet ist. Das scheint erst bei dem Vorgang location.href = url zu passieren.

          Gruß, Andreas

          --
          SELFFORUM - hier werden Sie geholfen,
          auch in Fragen zu richtiges Deutsch
          1. Hi,

            gute Idee, vielleicht könnte ich das als zweites Trennzeichen nehmen :-)

            Nein, % ist ein Zeichen, das in URLs eine Sonderbedeutung hat

            Ich benenne zwar vorsichtshalber _alles_ nur mit [a-zA-Z_0-9],
            Den Unterstrich solltest Du unbedingt weglassen.
            waaas? auch in CSS-Klassennamen?

            Gerade da. Der ist in CSS 2.0 ursprünglich übersehen worden und erst mit den Errata erlaubt worden.
            Es gibt wohl Netscape-Varianten, die auf Klassennamen mit Unterstrich durch Absturz reagieren.

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
          2. die Tilde darf an keiner Stelle einer HTTP-URL vorkommen.

            kommt aber öfters vor...
            sind die Adressen dann technisch falsch?

            Ja.
            Falsch:  http://user.cs.tu-berlin.de/~gunnar/
            Richtig: http://www.cs.tu-berlin.de/~gunnar/

            Gunnar

            --
            "Nobody wins unless everybody wins." (Bruce Springsteen)
            1. Falsch:  http://user.cs.tu-berlin.de/~gunnar/
              Richtig: http://www.cs.tu-berlin.de/~gunnar/

              Diese Unterscheidung stimmt so einfach nicht. Beide Adressen sind gültige URIs gemäß RFC 2396. Jede Software, die URIs versteht, muss beide Adressen akzeptieren. Die erste folgt nicht den URL-Regeln von RFC 1738. Es gibt auch berechtigte Zweifel an der Argumentation von RFC 1738.

              Eine Diskussion der Frage, die über Richtig—falsch-Wertungen hinausgeht: http://www.cs.tut.fi/~jkorpela/tilde.html

              Mathias

          3. 你好 Andreas,

            die Tilde darf an keiner Stelle einer HTTP-URL vorkommen.

            kommt aber öfters vor...
            sind die Adressen dann technisch falsch?

            Ja. Du kennst das ja mit den Fliegen und der Scheisse, gelle? :) State of
            the art heisst nicht richtig.

            再见,
             CK

            --
            Der Verstand ist der Hausherr, der Koerper sein Gast.
            http://wwwtech.de/
  2. Hi,

    gibt es ein Zeichen, das in einer http://-URL, aber nicht in einer CSS-Klasse vorkommen darf?

    An welcher Stelle der URL?

    Hier kannst Du sehen, welche Zeichen in CSS im Klassennamen erlaubt sind:

    class
      : '.' IDENT
      ;

    h  [0-9a-f]
    nonascii [\200-\377]
    unicode  \{h}{1,6}[ \t\r\n\f]?
    escape  {unicode}|\[ -~\200-\377]
    nmstart  [a-z]|{nonascii}|{escape}
    nmchar  [a-z0-9-]|{nonascii}|{escape}
    ident  {nmstart}{nmchar}*

    Für die URL guckst Du in der entsprechenden RFC nach.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.