Julian von Mendel: Warum ist CSS selbst nicht auch ein XML-Dialekt?

Hallo Welt!

Warum ist CSS selbst nicht auch ein XML-Dialekt?

Schöne Grüße
Julian

--
ie:% fl:| br:^ va:| ls:< fo:| rl:( n4:° ss:) de:> js:| ch:{ sh:( mo:? zu:)
  1. Hallo Julian.

    Warum ist CSS selbst nicht auch ein XML-Dialekt?

    Schaust du hier.

    Einen schönen Montag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
    1. Hi,

      Warum ist CSS selbst nicht auch ein XML-Dialekt?
      Schaust du hier.

      Was dort (wenn ich es nicht übersehen habe) nicht angesprochen wird:
      Der Zeitablauf:

      1996-11-14: XML 1.0 Working Draft
      1996-12-17: CSS 1.0 Recommendation [1]
      1998-02-10: XML 1.0 Recommendation

      Daraus ergibt sich: als CSS entstand, konnte es noch gar nicht auf XML basieren, da es XML noch gar nicht wirklich gab.

      [1] die Working Drafts dazu hab ich jetzt nicht gefunden, dürften aber vor den XML-Working-Draft liegen, denn daß das ganze in weniger als 4 Wochen durchging, kann ich mir nicht vorstellen.

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      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.
    2. Hi,

      Schaust du hier.

      lustig ist das schon, ja. Aber DocBook z. B. ist ja auch sehr umständlich, obwohl sich XHTML im Vergleich dazu ziemlich effektiv schreiben lässt. Man kann das sicher auch kompakter gestalten. Verschachtelung gibt es in CSS ja sowieso kaum.

      Schöne Grüße
      Julian

      --
      ie:% fl:| br:^ va:| ls:< fo:| rl:( n4:° ss:) de:> js:| ch:{ sh:( mo:? zu:)
      1. Hi,

        diese Antwort war natürlich für dedlfix gedacht. Danke für deinen Link, besonders der Beitrag von Tim Tepasse hat einige Sachverhalte sehr schön dargestellt. Trotzdem wäre ein einheitliches Format natürlich sinnvoll, gerade wo CSS so aus der Reihe tanzt.

        Schöne Grüße
        Julian

        --
        ie:% fl:| br:^ va:| ls:< fo:| rl:( n4:° ss:) de:> js:| ch:{ sh:( mo:? zu:)
        1. Moin!

          Trotzdem wäre ein einheitliches Format natürlich sinnvoll, gerade wo CSS so aus der Reihe tanzt.

          Warum das? Nur weil du gerne <spitze Klammern> schreibst?

          In XML lassen sich Strukturen tief verschachteln. Die Formatierung von Text und Elementen ist aber eben gerade nicht tief verschachtelt. Jeder Buchstabe kann genau eine Schriftart, eine Größe, eine Farbe, eine Hintergrundfarbe, einen Rahmen etc. haben.

          Darüber hinaus sind die möglichen Formatwerte je nach Formattyp extrem begrenzt. Die Schriftgröße kann z.B. nur eine Längeneinheit sein.

          Das Resultat wäre vermutlich etwas, was im Endeffekt doch ziemlich so aussehen könnte, wie das HTML, was man nicht mehr will: <font size="4" face="Arial" color="#FF0000" />

          CSS ist eindeutig für die Erledigung der Aufgabe "Formatierangaben" optimiert, und erlaubt eine sehr knappe und unaufwendige Notation. Und das finde ich gut so.

          - Sven Rautenberg

          --
          "Love your nation - respect the others."
          1. Hi Sven!

            Wenn ich z. B. CSS parsen möchte, muss ich einen eigenen Parser schreiben. Wäre es als XML formatiert, könnte ich es mit dem XML-Parser lesen. Deultich praktischer. Ein einheitliches Format ist sinnvoll. XML ist natürlich für größere Verschachtelung ausgelegt, aber es macht keine Probleme wenn man weniger tief verschachtelt als möglich.

              
            <rule select="p">  
                <border>1px dotted gray</border>  
            </rule>  
            
            

            ist auch nicht entscheidend aufwendiger als

              
            p { border:1px dotted gray; }  
            
            

            Da zählt das Argument des einfachen Parsens, Veränderns, des einheitlichen Formats und dem einfacheren Validieren mehr.

            Schöne Grüße
            Julian

            --
            ie:% fl:| br:^ va:| ls:< fo:| rl:( n4:° ss:) de:> js:| ch:{ sh:( mo:? zu:)
            1. Hallo,

              Wenn ich z. B. CSS parsen möchte, muss ich einen eigenen Parser schreiben. Wäre es als XML formatiert, könnte ich es mit dem XML-Parser lesen. Deultich praktischer. Ein einheitliches Format ist sinnvoll. XML ist natürlich für größere Verschachtelung ausgelegt, aber es macht keine Probleme wenn man weniger tief verschachtelt als möglich.

              <rule select="p">
                  <border>1px dotted gray</border>
              </rule>

              
              >   
              > ist auch nicht entscheidend aufwendiger als  
                
              
              > Da zählt das Argument des einfachen Parsens, Veränderns, des einheitlichen Formats und dem einfacheren Validieren mehr.  
              >   
                
              Das ist nur eine augenscheinliche Vereinfachung.  
                
              <rule select="p">  
                <border>1px dotted gray</border>  
              </rule>  
                
              Sag im Grunde  
                
              <selector name="p">  
                <rule name="border">  
                  <property name="style">dotted</property>  
                  <property name="color">gray</property>  
                  <property name="width">1px</property>  
                <rule>  
              </selector>  
                
              oder noch genauer/ausführlicher:  
              <selector name="p">  
                <rule name="border">  
                  <property name="style">dotted</property>  
                  <property name="color" unit="keyword">gray</property>  
                  <property name="width" unit="pixel">1</property>  
                <rule>  
              </selector>  
                
              und wenn man jetzt bedenkt, dass "border:1px dotted gray;" eigentlich die Abkürzung für:  
                 border-left-style:dotted;  
                 border-left-color:gray;  
                 border-left-width:1px;  
                 border-top-style:dotted;  
                 border-top-color:gray;  
                 border-top-width:1px;  
                 border-right-style:dotted;  
                 border-right-color:gray;  
                 border-right-width:1px;  
                 border-bottom-style:dotted;  
                 border-bottom-color:gray;  
                 border-bottom-width:1px;  
                
              ist, dass wird das xml schon recht umfangreich, und man braucht ebenso einen Parser, der das XML ink. Abkürzungen etc. so auswerten kann wie ein CSS-Parser das macht.  
                
              Grüße  
              Thomas
              
              1. Hi,

                <selector name="p">
                  <rule name="border">
                    <property name="style">dotted</property>
                    <property name="color">gray</property>
                    <property name="width">1px</property>
                  <rule>
                </selector>

                danke, das wirkt verständlich. Wieso gibt es nicht eine Alternative zu XML, die auf solche Probleme ausgelegt ist? Genaugenommen ist XML immer umständlich. Man vergleiche nur Wiki-Syntax mit XHTML, die sich deutlich angenehmer schreiben lässt. Warum wird es dann überhaupt für Dokumente verwendet, die von Menschen erstellt werden?

                Schöne Grüße
                Julian

                --
                ie:% fl:| br:^ va:| ls:< fo:| rl:( n4:° ss:) de:> js:| ch:{ sh:( mo:? zu:)
                1. Hallo,

                  <selector name="p">
                    <rule name="border">
                      <property name="style">dotted</property>
                      <property name="color">gray</property>
                      <property name="width">1px</property>
                    <rule>
                  </selector>

                  danke, das wirkt verständlich. Wieso gibt es nicht eine Alternative zu XML, die auf solche Probleme ausgelegt ist?

                  Ich verstehe nicht, was du damit meinst. Wozu sollte es so eine Alternative geben? (Alternative zu XML als/in was? Braucht man eine Alternative zu XML?)

                  Genaugenommen ist XML immer umständlich.

                  Das ist Ansichts- und wohl auch Anwendungssache.

                  Man vergleiche nur Wiki-Syntax mit XHTML, die sich deutlich angenehmer schreiben lässt.

                  Der Satz bedeutet, dass XHTML sich deutlich angenehmer schreiben lässt als Wiki-Syntax. Meinst du das auch so?

                  Warum wird es dann überhaupt für Dokumente verwendet, die von Menschen erstellt werden?

                  Wiki-Syntax oder XHTML?

                  Grüße
                  Thomas

                  1. Hi,

                    Hallo,

                    <selector name="p">
                      <rule name="border">
                        <property name="style">dotted</property>
                        <property name="color">gray</property>
                        <property name="width">1px</property>
                      <rule>
                    </selector>

                    danke, das wirkt verständlich. Wieso gibt es nicht eine Alternative zu XML, die auf solche Probleme ausgelegt ist?

                    Ich verstehe nicht, was du damit meinst. Wozu sollte es so eine Alternative geben? (Alternative zu XML als/in was? Braucht man eine Alternative zu XML?)

                    ich meine ein standardisiertes Format, wegen mir in dem Aufbau von CSS, das auf das Auflisten von Eigenschaften und Regeln, aber keinen Inhalten ausgelegt ist, in einer für Menschen übersichtlichen und kompaketen Form? Wäre es nicht klug, eine Metasprache einzuführen, die für dieses Format an sich steht, damit die Leute es leicht  zum Speichern und Verarbeiten von Daten einsetzen können?

                    Man vergleiche nur Wiki-Syntax mit XHTML, die sich deutlich angenehmer schreiben lässt.

                    Der Satz bedeutet, dass XHTML sich deutlich angenehmer schreiben lässt als Wiki-Syntax. Meinst du das auch so?

                    XHTML ist nicht weiblich... Ich meine es natürlich andersrum.

                    Warum wird es dann überhaupt für Dokumente verwendet, die von Menschen erstellt werden?

                    Wiki-Syntax oder XHTML?

                    Ersteres.

                    Schöne Grüße
                    Julian

                    --
                    ie:% fl:| br:^ va:| ls:< fo:| rl:( n4:° ss:) de:> js:| ch:{ sh:( mo:? zu:)
                    1. Hallo,

                      danke, das wirkt verständlich. Wieso gibt es nicht eine Alternative zu XML, die auf solche Probleme ausgelegt ist?

                      Ich verstehe nicht, was du damit meinst. Wozu sollte es so eine Alternative geben? (Alternative zu XML als/in was? Braucht man eine Alternative zu XML?)

                      ich meine ein standardisiertes Format, wegen mir in dem Aufbau von CSS, das auf das Auflisten von Eigenschaften und Regeln, aber keinen Inhalten ausgelegt ist, in einer für Menschen übersichtlichen und kompaketen Form? Wäre es nicht klug, eine Metasprache einzuführen, die für dieses Format an sich steht, damit die Leute es leicht  zum Speichern und Verarbeiten von Daten einsetzen können?

                      Nun, ich finde CSS durchaus lesbar ;-)
                      (Und weil ich schon selbst CSS in XML abbilden musste, weiss ich wie umfangreich auch nur eine kleine CSS-Datei als XML aussehen kann)

                      Man vergleiche nur Wiki-Syntax mit XHTML, die sich deutlich angenehmer schreiben lässt.

                      Der Satz bedeutet, dass XHTML sich deutlich angenehmer schreiben lässt als Wiki-Syntax. Meinst du das auch so?

                      XHTML ist nicht weiblich... Ich meine es natürlich andersrum.

                      Als Abkürzung vielleicht nicht, aber als "Sprache" schon ;)

                      Warum wird es dann überhaupt für Dokumente verwendet, die von Menschen erstellt werden?

                      Wiki-Syntax oder XHTML?

                      Ersteres.

                      Das frage ich mich auch.

                      Grüße
                      Thomas

                      1. Hi,

                        ich meine ein standardisiertes Format, wegen mir in dem Aufbau von CSS, das auf das Auflisten von Eigenschaften und Regeln, aber keinen Inhalten ausgelegt ist, in einer für Menschen übersichtlichen und kompaketen Form? Wäre es nicht klug, eine Metasprache einzuführen, die für dieses Format an sich steht, damit die Leute es leicht  zum Speichern und Verarbeiten von Daten einsetzen können?

                        Nun, ich finde CSS durchaus lesbar ;-)

                        habe ich dem widersprochen?

                        (Und weil ich schon selbst CSS in XML abbilden musste, weiss ich wie umfangreich auch nur eine kleine CSS-Datei als XML aussehen kann)

                        Wofür?

                        Warum wird es dann überhaupt für Dokumente verwendet, die von Menschen erstellt werden?

                        Wiki-Syntax oder XHTML?

                        Ersteres.

                        Das frage ich mich auch.

                        Ah ja. Aber Tabellen z. B. lassen sich in Wiki-Syntax auch von sehr ahnungslosen Menschen lesen und schreiben. Vielleicht musstest du schonmal einem Neuling, der eigentlich nur das Ergebnis sehen will, beibringen, wie man in XHTML Tabellen darstellt.

                        Schöne Grüße
                        Julian

                        --
                        ie:% fl:| br:^ va:| ls:< fo:| rl:( n4:° ss:) de:> js:| ch:{ sh:( mo:? zu:)
                        1. Hallo,

                          (Und weil ich schon selbst CSS in XML abbilden musste, weiss ich wie umfangreich auch nur eine kleine CSS-Datei als XML aussehen kann)

                          Wofür?

                          Um das CSS über ein Weboberfläche editieren zu können (in einem CMS).
                          Das XML wurde mit XSLT geladen, man konnte was man wollte und durfte editieren, beim speichern des XMLs erzeugte dann ein weiteres XSLT die CSS-Datei.

                          Warum wird es dann überhaupt für Dokumente verwendet, die von Menschen erstellt werden?

                          Wiki-Syntax oder XHTML?

                          Ersteres.

                          Das frage ich mich auch.

                          Ah ja. Aber Tabellen z. B. lassen sich in Wiki-Syntax auch von sehr ahnungslosen Menschen lesen und schreiben.

                          Das glaubst wohl selber nicht wirklich? ;-)
                          Es kommt ja auch auf die Wiki-Software an.
                          Eine ganz einfache Tabelle in HTML einem "ahnungslosen Menschen" ist nicht schwerer zu erklären, als eine ganz einfache Tabelle in Wiki.
                          Wenn die Tabelle etwas anspruchsvoller ist, ist die Wiki-Sache nur noch grauenvoll ohne ende.

                          Grüße
                          Thomas

                          1. Hi,

                            Ah ja. Aber Tabellen z. B. lassen sich in Wiki-Syntax auch von sehr ahnungslosen Menschen lesen und schreiben.

                            Das glaubst wohl selber nicht wirklich? ;-)

                            Doch. Wiki-Tabellen halte ich auch für ungeeignet für aufwendigere Sachen. Aber
                            ^ Spalte1 ^ Spalte2 ^
                            | Inhalt | Inhalt |
                            finde ich deutlich leichter zu lesen als
                            <table>
                            <tr><th>Spalte1</th><th>Spalte2</th></tr>
                            <tr><td>Inhalt</td><td>Inhalt</td></tr>
                            </table>
                            . Wiki-Syntax können auch Leute lesen, die noch nie von XML gehört haben - XML wirkt auf absolut unbedarfte Anwender jedoch abschreckend und unleserlich. Nicht umsonst verwendet man WYSIWYG, obwohl ich XHTML selbst auch für äußerst primitiv halte. Meiner Mutter möchte ich es nicht beibringen müssen.

                            Eine ganz einfache Tabelle in HTML einem "ahnungslosen Menschen" ist nicht schwerer zu erklären, als eine ganz einfache Tabelle in Wiki.

                            Finde ich schon. Ich habe grobe XHTML-Kenntnisse einem Bekannten beigebracht, als mein CMS noch kein WYSIWYG hatte. Er hat eine Woche gebraucht, bis seine Tabellen mal anständig aussahen. Davor hat er ständig irgendwelche schließenden Tags vergessen oder verwechselt. Ich denke, mit der Wiki-Syntax kommt das seltener vor.

                            Wenn die Tabelle etwas anspruchsvoller ist, ist die Wiki-Sache nur noch grauenvoll ohne ende.

                            Ja.

                            Schöne Grüße
                            Julian

                            --
                            ie:% fl:| br:^ va:| ls:< fo:| rl:( n4:° ss:) de:> js:| ch:{ sh:( mo:? zu:)
                2. Hello out there!

                  Warum wird es dann überhaupt für Dokumente verwendet, die von Menschen erstellt werden?

                  „Ich beabsichtigte niemals, daß der HTML-Quellcode (der Text mit den spitzen Klammern) für Benutzer sichtbar sein sollte. Ein Browser/Editor würde einem Benutzer einfach die Möglichkeit bieten, die Sprache einer Hypertextseite so zu betrachten oder zu bearbeiten wie bei einer Textverarbeitung. Die Vorstellung, Leute aufzufordern, die spitzen Klammern manuell einzugeben, war für mich, und, wie ich annahm, auch für viele andere, genau so inakzeptabel wie die Aufforderung, ein Microsoft Word-Dokument [sic!] zu formatieren, indem es in seinem Binärcodeformat geschrieben wurde. Aber die unmittelbare Lesbarkeit von HTML erwies sich als unerwarteter Segen. Die Leute wurden schnell mit den Tags vertraut und begannen damit, ihre eigenen HTML-Dokumente direkt zu erstellen.“ (Tim Berners-Lee in „Der Web-Report – Der Schöpfer des World Wide Webs über das grenzenlose Potential des Internets“, Econ, München, 1999, S. 72. Originaltitel: “Weaving the Web”)

                  See ya up the road,
                  Gunnar

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

                  Wieso gibt es nicht eine Alternative zu XML, die auf solche Probleme ausgelegt ist?

                  Es gibt haufenweise Alternativen zu XML, je nach gewünschten Zweck. Für das Schreiben von Content bieten sich Strukturierte Textformen wie Markdown, Textile, ReST an, für Serialisierungen von Datenstrukturen eher YAML oder JSON. Und es gibt sogar Shorthand-Notationen für XML, siehe obigen Link.

                  Tim

                  1. Hey Tim!

                    Wieso gibt es nicht eine Alternative zu XML, die auf solche Probleme ausgelegt ist?

                    Es gibt haufenweise Alternativen zu XML, je nach gewünschten Zweck. Für das Schreiben von Content bieten sich Strukturierte Textformen wie Markdown, Textile, ReST an, für Serialisierungen von Datenstrukturen eher YAML oder JSON. Und es gibt sogar Shorthand-Notationen für XML, siehe obigen Link.

                    Danke für die Übersicht.

                    Schöne Grüße
                    Julian

                    --
                    ie:% fl:| br:^ va:| ls:< fo:| rl:( n4:° ss:) de:> js:| ch:{ sh:( mo:? zu:)
                    1. Hi,

                      SMEL mag ich am liebsten.

                      Schöne Grüße
                      Julian

                      --
                      ie:% fl:| br:^ va:| ls:< fo:| rl:( n4:° ss:) de:> js:| ch:{ sh:( mo:? zu:)
      2. Hallo,

        Verschachtelung gibt es in CSS ja sowieso kaum.

        Wenn man die Möglichkeiten der Kaskadierung, die CSS bietet, voll ausnützt, kann man schon wohl von Verschachtelung sprechen.

        Grüße
        Thomas

  2. echo $begrüßung;

    Warum ist CSS selbst nicht auch ein XML-Dialekt?

    Was dabei rauskommt, wenn man harmlose Programmiersprachen in XML pressen will, zeigt:
    C# Application Markup Language (CSAML)

    echo "$verabschiedung $name";

    p.s. Man achte auf das Veröffentlichungsdatum.

    1. Hallo Forum,

      Was dabei rauskommt, wenn man harmlose Programmiersprachen in XML pressen will, zeigt:
      C# Application Markup Language (CSAML)

      Das ist ja spannend, da braucht man ja 7 bis 50mal mehr Code als mit C#, das freut die Festplatten-Hersteller sicher ungemein *g*

      Gruß
      Alexander Brock