Tom: Whitespace und  

Hello,

Wenn ich mehrere Whitespaces zwischen zwei Inlineelementen einfüge, werden die in der Darstellung zu einem zusammengefasst.

Was ist nun aber mit einem Whitespace und einem   ?
Werden die auch zu einem Leerzeichen zusammengefasst oder sind das dann zwei?
Wie kann ich das feststellen oder wo steht es geschrieben?

Liebe Grüße aus Syburg bei Dortmund

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de
  1. @@Tom:

    Wenn ich mehrere Whitespaces zwischen zwei Inlineelementen einfüge, werden die in der Darstellung zu einem zusammengefasst.

    Yep.

    Was ist nun aber mit einem Whitespace und einem   ?
    Werden die auch zu einem Leerzeichen zusammengefasst

    Nein, warum sollten sie?

    oder sind das dann zwei?

    Ja, ein Whitepace und ein geschütztes Leerzeichen (was ja kein Whitespace ist und deshalb auch nicht mit solchen zusammenfällt).

    Wie kann ich das feststellen

    Ausprobieren?

    oder wo steht es geschrieben?

    In der Spec. Für XML bspw. in [XML §2.3] SGML überlass ich dir ...

    Live long and prosper,
    Gunnar

    --
    Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
    1. Hello Gunnar,

      Wenn ich mehrere Whitespaces zwischen zwei Inlineelementen einfüge, werden die in der Darstellung zu einem zusammengefasst.

      Yep.

      Was ist nun aber mit einem Whitespace und einem   ?
      Werden die auch zu einem Leerzeichen zusammengefasst

      Nein, warum sollten sie?

      oder sind das dann zwei?

      Ja, ein Whitepace und ein geschütztes Leerzeichen (was ja kein Whitespace ist und deshalb auch nicht mit solchen zusammenfällt).

      So hatte ich das auch in Erinnerung, war mir aber nicht mehr sicher.

      Wie kann ich das feststellen

      Ausprobieren?

      Habe ich ja und da sah es eben "so ungefähr" so aus, als würden sie nicht zusammenfallen. Deshalb habe ich besser nochmal gefragt.

      Es geht im Prinzip um Visual Studio 2005 und ASP-Tags

      <asp:Label ID="LabPlz" runat="server" />&nbsp;
                          <asp:Label ID="LabCity" runat="server" />

      hat eigentlich eine zu breite Lücke, weil es HTML-Code mit &nbsp; _und_ Umbruch generiert

      <asp:Label ID="LabPlz" runat="server" />
                          <asp:Label ID="LabCity" runat="server" />

      ergibt aber gar keine Lücke, da es im generierten Code dann auch keinen Umbruch mehr veranlasst. Es entstehen zwei <span>-Elemente, die direkt aufeinander folgen.

      In VS 2008 konnte ch das Verhalten noch nicht angucken, da es hier im Moment nicht installiert ist.

      Liebe Grüße aus Syburg bei Dortmund

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Mahlzeit Tom,

        <asp:Label ID="LabPlz" runat="server" />&nbsp;
                            <asp:Label ID="LabCity" runat="server" />

        [...]

        <asp:Label ID="LabPlz" runat="server" />
                            <asp:Label ID="LabCity" runat="server" />

        Wo findet sich bei diesen beiden Code-Schnipseln ein Unterschied in der STRUKTUR? Wenn aus Sicht der DARSTELLUNG ein Abstand zwischen den Elementen erforderlich ist, formatiere die Elemente entsprechend mittels CSS.

        &nbsp; hat IMHO nur etwas im Fließtext zu suchen - und auch nur da, wo bei zusammengehörigen Begriffen kein Umbruch erfolgen soll (z.B: "1.000&nbsp;€") ... zum Basteln von Abständen ist &nbsp; absolut falsch.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Hello Ecki,

          &nbsp; hat IMHO nur etwas im Fließtext zu suchen - und auch nur da, wo bei zusammengehörigen Begriffen kein Umbruch erfolgen soll (z.B: "1.000&nbsp;€") ... zum Basteln von Abständen ist &nbsp; absolut falsch.

          Da magst Du Recht haben, aber zum "mal eben schnell" ausprobieren ist es ganz praktisch. Und außerdem sollen ja PLZ und Ort uach nicht auseinandergerissen werden ;-)

          Warum VS da so unterschiedlich reagiert, weiß ich leider auch nicht.

          Liebe Grüße aus Syburg bei Dortmund

          Tom vom Berg

          --
          Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
          1. Da magst Du Recht haben, aber zum "mal eben schnell" ausprobieren ist es ganz praktisch. Und außerdem sollen ja PLZ und Ort uach nicht auseinandergerissen werden ;-)

            zum mal eben schnell ausprobieren ist ein style="padding: 50px" genauso schnell verfasst

            ob plz und ort zusammengehören ist eine streitfrage, im zweifelsfall würde ich aber sagen nein, genauso wie straße und hausnummer  - stell dir vor du hast folgendes

            max mustermann
            rosengasse&nbsp;10
            5020&nbsp;salzburg

            sieht doch gut aus oder? aber was ist damit:

            max mustermann
            an der sonne was auch immer&nbsp;124
            5302&nbsp;henndorf am wallersee

            oder sollte mans so schreiben:
            5302&nbsp;henndorf&nbsp;am&nbsp;wallersee
            oder so
            5302 henndorf&nbsp;am&nbsp;wallersee

            darum im zweifelsfall nein und nur zwischen zwei dingen, die man defintiv nicht trennen darf - wie etwa zahlen und zugehörige einheiten

            1. @@suit:

              ob plz und ort zusammengehören ist eine streitfrage, im zweifelsfall würde ich aber sagen nein, genauso wie straße und hausnummer

              Ob sie zusammengehören, kann für Datenbank und Bildschirmanzeige (Umbruch) völlig konträre Antworten haben.

              IMHO: PLZ und Ortsname getrennte Felder, Straße und Hausnummer in den meisten Anwendungen ein Feld.

              an der sonne was auch immer&nbsp;124

              an der sonne was auch
              immer 124

              sieht IMHO besser aus als

              an der sonne was auch immer
              124

              5302&nbsp;henndorf am wallersee

              5302 henndorf am
              wallersee

              sieht IMHO besser aus als

              5302
              henndorf am wallersee

              Noch besser sieht

              5302 henndorf
              am wallersee

              aus. Und am besten sieht’s mit Großbuchstaben an den richtigen Stellen aus.

              Live long and prosper,
              Gunnar

              --
              Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
              1. Hallo,

                ob plz und ort zusammengehören ist eine streitfrage, im zweifelsfall würde ich aber sagen nein, genauso wie straße und hausnummer
                IMHO: PLZ und Ortsname getrennte Felder, Straße und Hausnummer in den meisten Anwendungen ein Feld.

                ich sehe es genau andersrum.
                Zumindest in DE ist mit der PLZ auch der Ort eindeutig bestimmt (umgekehrt nicht), also ist der Ortsname eigentlich eine redundante Information. Dafür noch ein getrenntes Feld in der Datenhaltung vorzusehen, halte ich nicht für schlau.
                Ob die Beziehung zwischen PLZ (oder wie auch immer diese Kennung dann heißt) und Ortsnamen in anderen Ländern auch so eindeutig ist, weiß ich allerdings nicht, aber zumindest korrelieren diese Angaben miteinander.

                Bei der Straße und der Hausnummer handelt es sich dagegen um voneinander unabhängige Informationen, die sich gegenseitig ergänzen. Ich würde sie getrennt speichern und erst bei der Ausgabe fest (d.h. auch mit geschützten Leerzeichen) zusammenführen.

                Es gibt noch ein Argument, das in beiden Fällen (Ort+PLZ, Straße+Nummer) für eine getrennte Speicherung in je zwei Feldern spricht: Die Reihenfolge, in der diese Angaben üblicherweise ausgegeben werden.
                Während bei uns die Straße vor der Hausnummer steht und die PLZ vor dem Ortsnamen, ist das in vielen anderen Ländern genau umgekehrt.

                [Beispiele]
                Und am besten sieht’s mit Großbuchstaben an den richtigen Stellen aus.

                Das sehe ich allerdings genauso.

                So long,
                 Martin

                --
                "Gestern habe ich die Rede des Parteivorsitzenden gehört. Zwei Stunden lang!" - "Worüber?" - "Hat er nicht gesagt."
                1. @@Der Martin:

                  Zumindest in DE ist mit der PLZ auch der Ort eindeutig bestimmt (umgekehrt nicht), also ist der Ortsname eigentlich eine redundante Information. Dafür noch ein getrenntes Feld in der Datenhaltung vorzusehen, halte ich nicht für schlau.

                  Oh-oh. Dann such mal in deiner Datenbank alle Johns in Berlin. Viel Spaß beim Zusammensuchen der vielen PLZ!

                  (Naja, es ließe sich evtl. ein PLZ-Bereich angeben; eleganter dürfte die Suche nach dem Ortsnamen sein.)

                  Bei der Straße und der Hausnummer handelt es sich dagegen um voneinander unabhängige Informationen, die sich gegenseitig ergänzen.

                  Wie ich schon sagte, das hängt von der Anwendung ab. Für die Bestimmung der PLZ anhand von Ort, Straße und Hausnummer braucht man Straße und Hausnummer getrennt. Für eine persönliche Adressverwaltung wird man kaum das eine ohne das andere benötigen.

                  Live long and prosper,
                  Gunnar

                  --
                  Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
                2. Hi,

                  Zumindest in DE ist mit der PLZ auch der Ort eindeutig bestimmt

                  Gegenbeweis:
                  17375 Ahlbeck
                  17375 Altwarp
                  17375 Grambin
                  17375 Hintersee b Ueckermünde
                  17375 Hoppenwalde
                  17375 Leopoldshagen
                  17375 Liepgarten
                  17375 Luckow b Torgelow, Vorpommern
                  17375 Meiersberg b Ueckermünde
                  17375 Mönkebude
                  17375 Rieth b Torgelow, Vorpommern
                  17375 Vogelsang-Warsin

                  oder
                  82152 Krailling
                  82152 Planegg

                  (weitere Beispiele müßte ich in der Datenbank raussuchen)

                  also ist der Ortsname eigentlich eine redundante Information.

                  ist er nicht, s.o.

                  Dafür noch ein getrenntes Feld in der Datenhaltung vorzusehen, halte ich nicht für schlau.

                  Da Du von falschen Voraussetzungen ausgehst, sind natürlich auch die Folgerungen (getrenntes Feld nicht schlau) falsch.

                  cu,
                  Andreas

                  --
                  Warum nennt sich Andreas hier MudGuard?
                  O o ostern ...
                  Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                3. Mahlzeit Der Martin,

                  Zumindest in DE ist mit der PLZ auch der Ort eindeutig bestimmt (umgekehrt nicht), also ist der Ortsname eigentlich eine redundante Information. Dafür noch ein getrenntes Feld in der Datenhaltung vorzusehen, halte ich nicht für schlau.

                  Falsch. Es gibt genügend kleine Dörfer, die alle die gleiche PLZ haben. Da ist die Angabe des Dorfnamens schon sinnvoll, vor allem wenn es in jedem dieser Käffer eine "Dorfstraße" gibt ...

                  MfG,
                  EKKi

                  --
                  sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            2. Hello,

              zum mal eben schnell ausprobieren ist ein style="padding: 50px" genauso schnell verfasst

              Wenn das Entwicklungssystem das zulässt, ja.
              Wenn!

              Liebe Grüße aus Syburg bei Dortmund

              Tom vom Berg

              --
              Nur selber lernen macht schlau
              http://bergpost.annerschbarrich.de
            3. ob plz und ort zusammengehören ist eine streitfrage, im zweifelsfall würde ich aber sagen nein, genauso wie straße und hausnummer  - stell dir vor du hast folgendes

              Ich sage nur: Schusterjungen und Hurenkinder-Regelung auf der Wortebene kann bewirken, dass man das geschützte Leerzeichen (in HTML &nbsp;) anwendet, ohne dass es eine pingelige Regel bedarf.

              Wer es in seiner eigenen Sprache nicht zu einem vernünftigen schriftlichen Ausdruck schafft, sollte anderweitig nicht das Maul aufreissen.

              mfg Beat

              --
              Woran ich arbeite:
              X-Torah
                 <°)))o><                      ><o(((°>o
              1. Hello,

                Wer es in seiner eigenen Sprache nicht zu einem vernünftigen schriftlichen Ausdruck schafft, sollte anderweitig nicht das Maul aufreissen.

                Darf ich den Kampf für Euch arrangieren und schon mal den Ring aufbauen lassen?
                Oder zieht Ihr Duellpistolen vor?

                Liebe Grüße aus Syburg bei Dortmund

                Tom vom Berg

                --
                Nur selber lernen macht schlau
                http://bergpost.annerschbarrich.de
                1. Wer es in seiner eigenen Sprache nicht zu einem vernünftigen schriftlichen Ausdruck schafft, sollte anderweitig nicht das Maul aufreissen.

                  Darf ich den Kampf für Euch arrangieren und schon mal den Ring aufbauen lassen?
                  Oder zieht Ihr Duellpistolen vor?

                  Ausnahmesweise will ich dich nicht vor dem Publikum stehen lassen, in deiner schwarzen Fliege und dem gestreiften Hemd, während die zwei Boxer sich bereits wieder entfernt haben.

                  Ich konnte es mir nicht verkneifen. Ich finde einfach, dass das Verfechten von Regeln prinzipiell sein stärkstes Argument durch gelebte Praxis erhält.

                  Ich las in den letzten zwei Tagen Beiträge von verärgerten Postern. Ich musste, auch wenn ich mich dazu nicht äusserte, einem Teil ihrer Argumente innerlich Recht geben.
                  Manchmal herrscht hier eine falsche Voraussetzung. Es wird auf irgend etwas Syntaktischem herumgeritten, aber dabei alle Menschlichkeit und Anteilnahme vergessen. Kommunikation ist von Menschen für Menschen. Sie ist gerade auch mit ihrem möglichen Regelwerk kein Selbstzweck.
                  Hier aber ist man des öfteren nicht Vorbild, sondern man doziert, als herrsche man gleichzeitig über das Regelwerk, dem man sich in keiner Weise ausserhalb des Forum verbunden zeigt.
                  Die Diskrepanz fällt zuweilen mir ins Auge und ich kann da nicht widerstehen, dieselbe aufzuzeigen.

                  Und nun zurück zum Thema "geschütztes Leerzeichen"
                  Das Zeichen ist in keiner Weise spezifiziert. Es ist lediglich in seiner Wirkung festgelegt. Es muss im Zeilenumbruch so behandelt werden, als ob es ein nicht leeres Zeichen wäre. Es darf auch nicht gestreckt werden.
                  Das macht dieses Zeichen sinnvoll, um Worte spezifisch zu verbinden, ohne dass sie dadurch aber ein Wort werden. Ob ich nun Einen Wert mit einem Nenner verbinde, oder in Analogie zu Hurenkinder und Schusterjungen die Wortgruppierung im Umbruch optimieren will, gehorcht allein dem Versuch, etwas zu klären, für den Fall, dass es zu problematischen Umbrüchen kommen könnte.

                  Wie sich die Sache im HTML Quellcode "liest", ist meines Erachtens unerheblich.

                  mfg Beat

                  --
                  Woran ich arbeite:
                  X-Torah
                     <°)))o><                      ><o(((°>o
                  1. Hello,

                    Wie sich die Sache im HTML Quellcode "liest", ist meines Erachtens unerheblich.

                    Erheblich ist für mich auch nur, warum dieses dusselige Visual Studio 2005 für Websites einen zusätzlichen Zeilenumbruch einbaut, wenn man &nbsp; benutzt. Und dass dieser dann auch zusätzlich angezeigt wird, haben wir ja nun mehrfach lesen können...

                    Liebe Grüße aus Syburg bei Dortmund

                    Tom vom Berg

                    --
                    Nur selber lernen macht schlau
                    http://bergpost.annerschbarrich.de
                  2. @@Beat:

                    Und nun zurück zum Thema "geschütztes Leerzeichen"
                    Das Zeichen ist in keiner Weise spezifiziert.

                    ??

                    Es darf auch nicht gestreckt werden.

                    Sagt wer? Firefox bspw. tut dies: 07. 06. 2006, 19:41

                    Live long and prosper,
                    Gunnar

                    --
                    Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
                    1. Es darf auch nicht gestreckt werden.

                      Sagt wer? Firefox bspw. tut dies: 07. 06. 2006, 19:41

                      CSS http://www.w3.org/TR/CSS21/syndata.html#whitespace
                      "The token S in the grammar above stands for whitespace. Only the characters "space" (U+0020), "tab" (U+0009), "line feed" (U+000A), "carriage return" (U+000D), and "form feed" (U+000C) can occur in whitespace. Other space-like characters, such as "em-space" (U+2003) and "ideographic space" (U+3000), are never part of whitespace."

                      Das geschützte Leerzeichen hat Unicode U+00A0, ist also nicht Teil von Whitespace. Damit gilt für dieses Zeichen die Bhandlung für normale nicht Nullbreite Zeichen.
                      Firefox macht es also falsch, wenn er bei text-align:justify dieses Zeichen mit streckt.

                      mfg Beat

                      --
                      Woran ich arbeite:
                      X-Torah
                      ><o(((°>      ><o(((°>
                         <°)))o><                      ><o(((°>o
                      1. @@Beat:

                        Das geschützte Leerzeichen hat Unicode U+00A0, ist also nicht Teil von Whitespace.

                        Richtig ...

                        Firefox macht es also falsch, wenn er bei text-align:justify dieses Zeichen mit streckt.

                        ... aber wo liest du das heraus, dass nur Whitespace-Zeichen für Blocksatz gestreckt werden dürfen?

                        Live long and prosper,
                        Gunnar

                        --
                        Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
                        1. ... aber wo liest du das heraus, dass nur Whitespace-Zeichen für Blocksatz gestreckt werden dürfen?

                          Du kannst natürlich eine willkürliche Regel aufstellen. Plötzlich kann enspace oder emspace viel breiter als ein n oder m sein. Ja warum nicht gleich alles strecken?

                          Es ist schlicht meine normative Auffassung, sprich, das was ich als Norm verfassen würde.
                          Es ist die Frage eines genaueren Standards, zu definieren, wie justify wirkt. Ob es nur whitespace zwischen Worten anpassen darf, oder ob der Abstand zwischen allen Zeichen justieren darf. Im letzteren Fall dürften aus meiner Sicht dann auch enspace etc proportional gleich wie ein n streckenden Zwischenraum erfahren.
                          Die derzeitige Praxis (CSS 2.1) sieht keine streckenden Zwischenräume zwischen None-Whitespace für justify vor.

                          mfg Beat

                          --
                          Woran ich arbeite:
                          X-Torah
                          ><o(((°>       ><o(((°>
                             <°)))o><                      ><o(((°>o
                          1. @@Beat:

                            Die derzeitige Praxis (CSS 2.1) sieht keine streckenden Zwischenräume zwischen None-Whitespace für justify vor.

                            Verbietet sie aber auch nicht.

                            “Note. The actual justification algorithm used depends on the user-agent and the language/script of the text.” [CSS21 §16.2]

                            “If that property ['text-align'] has the value 'justify', the user agent may stretch spaces and words in inline boxes […]” [CSS21 §9.4.2]

                            Ebenso könnte ein Client den Abstand zwischen 'f' und 'i' verringern (früher gab’s dafür Ligaturen (gibt’s eigentlich immer noch [UNICODE], aber wer benutzt die noch?)).

                            Live long and prosper,
                            Gunnar

                            --
                            Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
  2. Wenn ich mehrere Whitespaces zwischen zwei Inlineelementen einfüge, werden die in der Darstellung zu einem zusammengefasst.

    Es gibt Regeln, wie das zu tun ist:
    <div> <span>A </span> B <span> C</span> </div>
         ^       ^                ^        ^
    werden "vernichtet"

    Was ist nun aber mit einem Whitespace und einem &nbsp; ?
    Werden die auch zu einem Leerzeichen zusammengefasst oder sind das dann zwei?

    &nbsp; darf nicht kollabiert werden.

    Wie kann ich das feststellen oder wo steht es geschrieben?

    Erinnere mich, es in einer CSS Sepzifikation gelesen zu haben.
    Besonderer Hinweis gilt mit dem Umgang von bdo rtl und ltr.
    Meine bisherige Erfahrung bestätigt dieses Verhalten für die von mir verwendeten Browser.

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah
    ><o(((°>      ><o(((°>
       <°)))o><                      ><o(((°>o