Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[CSS] "content: attr(cite)" in Opera 7

0 views
Skip to first unread message

Guido Jurock

unread,
Jul 8, 2003, 3:21:26 PM7/8/03
to
Hallo.

Ich habe folgenden Eintrag in meinem CSS:

blockquote:after {
content: attr(cite);
font-size:0.8em;
display:block;
margin-top:0.5em;
}

Im Body der HTML-Datei:

<blockquote cite=
"Gekürzte Fassung nach Sr Philippa Rath, Abtei St. Hildegard, Bingen.
Der volle Wortlaut ist zu finden unter www.abtei-st-hildegard.de">
Laber, laber...
</blockquote>

Im Mozille funktioniert das auch wie gewünscht, im IE (6.0, SP1) wie
erwartet gar nicht. Kurios ist nur der Opera 7.03

Lokal zeigt er nach dem <blockquote></blockquote> das hier an:

file://localhost/C:/Webdesign/Klosterkonzerte/Seite/Gekürzte Fassung
nach Sr Philippa Rath, Abtei St. Hildegard, Bingen. Der volle Wortlaut
ist zu finden unter www.abtei-st-hildegard.de

Online kriege ich dann das hier:

http://www.klosterkonzerte-seligenstadt.de/Gekürzte%20Fassung%20nach%
20Sr%20Philippa%20Rath,%20Abtei%20St.%20Hildegard,%20Bingen.%20Der%
20volle%20Wortlaut%20ist%20zu%20finden%20unter%20www.abtei-st-
hildegard.de

...was auch nicht besser ist.

Die Seite validiert bis auf die Verwendung von <wbr>.

Mache ich da etwas falsch, oder liegt das (wie ich vermute) an Opera?

Guido

--
$NAME
$MAILADRESSE
$SPRUCH

Matthias Gutfeldt

unread,
Jul 8, 2003, 3:37:11 PM7/8/03
to
Guido Jurock schrieb:
>
> (blockquote und das cite Attribut)

> Im Mozille funktioniert das auch wie gewünscht, im IE (6.0, SP1) wie
> erwartet gar nicht. Kurios ist nur der Opera 7.03
>
> Online kriege ich dann das hier:
>
> http://www.klosterkonzerte-seligenstadt.de/Gekürzte%20Fassung%20nach%
> 20Sr%20Philippa%20Rath,%20Abtei%20St.%20Hildegard,%20Bingen.%20Der%
> 20volle%20Wortlaut%20ist%20zu%20finden%20unter%20www.abtei-st-
> hildegard.de
>
> Mache ich da etwas falsch, oder liegt das (wie ich vermute) an Opera?

Nö, es liegt an der Spezifikation. Die kann sich nicht vorstellen, dass
man was anderes als eine URI in das CITE Attribut stecken können wollte:
<http://www.w3.org/TR/html4/struct/text.html#adef-cite-Q>
"cite = uri [CT]
The value of this attribute is a URI that designates a source document
or message. This attribute is intended to give information about the
source from which the quotation was borrowed."

Und der Opera tut dann sein bestes, das in eine URI umzusetzen :-).


Gruss, Matthias

Christoph Schneegans

unread,
Jul 8, 2003, 3:40:07 PM7/8/03
to
Guido Jurock schrieb:

> <blockquote cite=
> "Gekürzte Fassung nach Sr Philippa Rath, Abtei St. Hildegard, Bingen.
> Der volle Wortlaut ist zu finden unter www.abtei-st-hildegard.de">
> Laber, laber...
> </blockquote>

Argh, im cite-Attribut hat ein URI zu stehen und nichts sonst,

cite='http://www.abtei-st-hildegard.de/'

wäre sinnvoll.

> Kurios ist nur der Opera 7.03
>
> Lokal zeigt er nach dem <blockquote></blockquote> das hier an:
>

> file://localhost/C:/Webdesign/Klosterkonzerte/Seite/Gekürzte Fassung...

Das ist ein unabhängig von deinem Fehler ein bekanntes Problem von Opera
mit CSS und Attributen, die URIs enthalten, vgl.
<http://groups.google.com/groups?selm=oprf0q5nuaiaf507%40news.opera.no>.

--
<http://schneegans.de/>

Thomas Scholz

unread,
Jul 8, 2003, 3:44:53 PM7/8/03
to
Guido Jurock tat kund:

> blockquote:after {
> content: attr(cite);
> [...]
> <blockquote cite=
> "Gekürzte Fassung...


> </blockquote>
>
> Im Mozille funktioniert das auch wie gewünscht, im IE (6.0, SP1) wie
> erwartet gar nicht. Kurios ist nur der Opera 7.03

Total veraltet zwar, aber dennoch...

> Lokal zeigt er nach dem <blockquote></blockquote> das hier an:
>
> file://localhost/C:/Webdesign/Klosterkonzerte/Seite/Gekürzte Fassung
> nach Sr Philippa Rath, Abtei St. Hildegard, Bingen. Der volle Wortlaut
> ist zu finden unter www.abtei-st-hildegard.de

Was erwartest du bei einem Attribut vom Typ URI? Normaltext etwa?

Sieh unter <http://www.w3.org/TR/html401/struct/text.html#adef-cite-Q>
nach:

cite = uri [CT]
The value of this attribute is a URI that designates a
source document or message. This attribute is intended
to give information about the source from which the
quotation was borrowed.

Daß der Browser versucht, das als URI aufzulösen, sollte dich also nicht
wundern.

> Die Seite validiert bis auf die Verwendung von <wbr>.

Der Validator hat notgedrungen seine Grenzen. Zum Beispiel diese (obwohl
die doch eigentlich nicht sein müßte, oder?).

> Mache ich da etwas falsch,

Ja.

> oder liegt das (wie ich vermute) an Opera?

Nein.

Thomas

Guido Jurock

unread,
Jul 8, 2003, 4:37:36 PM7/8/03
to
Matthias Gutfeldt schrieb:

> Guido Jurock schrieb:
>>
>> (blockquote und das cite Attribut)
>

> Nö, es liegt an der Spezifikation. Die kann sich nicht vorstellen, dass
> man was anderes als eine URI in das CITE Attribut stecken können wollte:
> <http://www.w3.org/TR/html4/struct/text.html#adef-cite-Q>
> "cite = uri [CT]
> The value of this attribute is a URI that designates a source document
> or message. This attribute is intended to give information about the
> source from which the quotation was borrowed."

*AUTSCH!*

> Und der Opera tut dann sein bestes, das in eine URI umzusetzen :-).

Braver Opera!

Herzlichen Dank auch den anderen. Manchmal sieht man halt den Link vor
lauter Spezifikationen nicht.
Ich werde mal sehen, wie ich das anders löse.


Guido

Christoph Päper

unread,
Jul 8, 2003, 5:59:07 PM7/8/03
to
*Thomas Scholz* <yaya...@gmx.de>:

>
> Der Validator hat notgedrungen seine Grenzen. Zum Beispiel diese (obwohl
> die doch eigentlich nicht sein müßte, oder?).

Er validiert nunmal gegen eine DTD, die im Gegensatz zu z.B. XML Schema nur
sehr begrenzt den erlaubten Inhalt von Attributwerten beschreiben kann.

--
»Wenn alle das gleiche denken, denkt keiner richtig.«

Georg Christoph Lichtenberg

Thomas Scholz

unread,
Jul 8, 2003, 6:48:58 PM7/8/03
to
Christoph Päper tat kund:

> *Thomas Scholz* <yaya...@gmx.de>:
>>
>> Der Validator hat notgedrungen seine Grenzen. Zum Beispiel diese (obwohl
>> die doch eigentlich nicht sein müßte, oder?).
>
> Er validiert nunmal gegen eine DTD, die im Gegensatz zu z.B. XML Schema
> nur sehr begrenzt den erlaubten Inhalt von Attributwerten beschreiben
> kann.

Ja, das ist mir schon klar. Aber rein praktisch wäre es doch sicher
sinnvoll und möglich, zu prüfen, ob hier ter "Typ URI" vorliegt, oder?

Thomas

Johannes Koch

unread,
Jul 9, 2003, 4:24:28 AM7/9/03
to
Thomas Scholz wrote:

[Wert vom cite-Attribut muss URI sein]

> Ja, das ist mir schon klar. Aber rein praktisch wäre es doch sicher
> sinnvoll und möglich, zu prüfen, ob hier ter "Typ URI" vorliegt, oder?

Es gibt in DTD aber keinen Typ URI. Die Parameter-Entität URI ist ja als
CDATA definiert. Also kann ein Validator (im SGML-Sinn) auch nur prüfen,
ob der Inhalt des Attributs CDATA ist. Ein irgendwie gearteter Checker
könnte da evtl. mehr.
--
Johannes Koch
In te domine speravi; non confundar in aeternum.
(Te Deum, 4th cent.)

Thomas Scholz

unread,
Jul 9, 2003, 5:30:32 PM7/9/03
to
Johannes Koch tat kund:

> Thomas Scholz wrote:
>
> [Wert vom cite-Attribut muss URI sein]
>
>> Ja, das ist mir schon klar. Aber rein praktisch wäre es doch sicher
>> sinnvoll und möglich, zu prüfen, ob hier ter "Typ URI" vorliegt, oder?
>
> Es gibt in DTD aber keinen Typ URI.

*hmpf* Ich _weiß_!!!!!111

Wenn man nach dem praktischen Zweck des Validators und nicht allein nach
seinen formalen Möglichkeiten fragt, wäre es aber vielleicht doch - ganz
eventuell - unter Aufbietung erheblicher Phantasieressourcen - eventuell
möglich, zumindest einen Hinweis in die Ausgabe einzubauen, daß dieser oder
jener Wert eines 'cite'-Attributes vermutlich keine URI ist. Mehr wollte
ich ja nicht sagen.
Beim sogennannten CSS-"Validator" ist man ja auch nicht so pingelig.

Thomas

Christoph Päper

unread,
Jul 9, 2003, 6:10:10 PM7/9/03
to
*Thomas Scholz* <yaya...@gmx.de>:

>
> Wenn man nach dem praktischen Zweck des Validators und nicht allein nach
> seinen formalen Möglichkeiten fragt, wäre es aber vielleicht doch [...]

> möglich, zumindest einen Hinweis in die Ausgabe einzubauen, daß dieser oder
> jener Wert eines 'cite'-Attributes vermutlich keine URI ist.

Man müsste aber vermutlich erheblich in die Funktionsweise des Programms
eingreifen, um das zu ermöglichen. Es wäre dann ein Checker oder Linter --
wie HTML Tidy.

> Beim sogennannten CSS-"Validator" ist man ja auch nicht so pingelig.

Das ist ja auch nur ein so genannter Validator und kein echter Validator.

--
»Auf einem Fehler zu beharren ist schlimmer, als einen zu machen.«

Malcolm Forbes

Bjoern Hoehrmann

unread,
Jul 9, 2003, 7:26:34 PM7/9/03
to
* Christoph Päper wrote in de.comm.infosystems.www.authoring.misc:

>> Wenn man nach dem praktischen Zweck des Validators und nicht allein nach
>> seinen formalen Möglichkeiten fragt, wäre es aber vielleicht doch [...]
>> möglich, zumindest einen Hinweis in die Ausgabe einzubauen, daß dieser oder
>> jener Wert eines 'cite'-Attributes vermutlich keine URI ist.
>
>Man müsste aber vermutlich erheblich in die Funktionsweise des Programms
>eingreifen, um das zu ermöglichen.

Nicht wirklich. onsgmls liefert die notwendigen Daten, man müsste nur
zusätzlichen Code schreiben, der diese entsprechend auswertet.

>Es wäre dann ein Checker oder Linter -- wie HTML Tidy.

Nur weil ein Programm mehr tut als es müsste um sich für eine bestimmte
Bezeichnung zu qualifizieren, disqualifiziert sich dieses Programm nicht
für diese Bezeichnung, dazu müsste dieses zusätzliche Verhalten den
Anforderungen für die Qualifikation schon widersprechen.

Darüber hinaus ist es durchaus strittig unter Leuten die ich für
qualifiziert halte, darüber zu diskutieren, ob - mit Bezug auf SGML -
Validität bezüglich eines bestimmten Dokumenttyps alleine vom formellen
Teil der Dokumenttyp-Defintion abhängt.

Auch sind Termini wie "Valid HTML" oder "Valid XHTML" wie der W3C MarkUp
Validator sie verwendet nicht in den jeweiligen Spezifikationen normativ
definiert, somit kann man durchaus darüber diskutieren, von welcher
normativen Definition die Termini denn abgeleitet sein sollen, bzw. ob
sie das überhaupt sind.

Was HTML 4 allerdings definiert ist der Terminus "HTML document", und
der meint lediglich die Dokumente, die der Spezifikation entsprechen,
damit kann ein Dokument, welches beispielsweise

<a href="foo bar">...</a>

enthält, gar kein HTML Dokument sein, wie könnte es dann also ein "Valid
HTML document" sein?

>> Beim sogennannten CSS-"Validator" ist man ja auch nicht so pingelig.
>
>Das ist ja auch nur ein so genannter Validator und kein echter Validator.

Jetzt bin ich mal gespannt auf die normativen Quelle die konzeptionelle
Erfordernisse für die Bezeichnung aufstellt, die der CSS Validator nicht
erfüllt. Auch wäre es interessant zu erfahren, warum der W3C HTML
Validator mehr Validator sein kann als der CSS Validator, immerhin ist
bei CSS - anders als bei HTML - Validität explizit und normativ
definiert.

Thomas Scholz

unread,
Jul 9, 2003, 10:12:12 PM7/9/03
to
Bjoern Hoehrmann tat kund:

> Nur weil ein Programm mehr tut als es müsste um sich für eine bestimmte
> Bezeichnung zu qualifizieren, disqualifiziert sich dieses Programm nicht
> für diese Bezeichnung, dazu müsste dieses zusätzliche Verhalten den
> Anforderungen für die Qualifikation schon widersprechen.

ACK.

>>> Beim sogennannten CSS-"Validator" ist man ja auch nicht so pingelig.
>>
>> Das ist ja auch nur ein so genannter Validator und kein echter
>> Validator.
>
> Jetzt bin ich mal gespannt auf die normativen Quelle die konzeptionelle
> Erfordernisse für die Bezeichnung aufstellt, die der CSS Validator nicht
> erfüllt. Auch wäre es interessant zu erfahren, warum der W3C HTML
> Validator mehr Validator sein kann als der CSS Validator, immerhin ist
> bei CSS - anders als bei HTML - Validität explizit und normativ
> definiert.

Wogegen validiert er? Wie läßt sich die Validität eines externen
Stylesheets feststellen, ohne das zugehörige Markup zu analysieren?
Ob ein Stylesheet, das zum Beispiel nur folgendes enthält:
.a {float:left}
.b {width:10em}

...tatsächlich gegen die Spezifikation im Sinne von
<http://www.w3.org/TR/REC-CSS2/visuren.html#floats> validiert:

A floated box must have an explicit width (assigned
via the 'width' property, or its intrinsic width in
the case of replaced elements).

...dürfte nur dann festzustellen sein, wenn sowohl _sämtliche_ zugeordneten
Dokumente (Markup) als auch alle parallel angewandten (Autoren-)Stylesheets
überprüft werden. Das ist nicht zu leisten.

Thomas

Bjoern Hoehrmann

unread,
Jul 10, 2003, 12:23:09 AM7/10/03
to
* Thomas Scholz wrote in de.comm.infosystems.www.authoring.misc:

>> Jetzt bin ich mal gespannt auf die normativen Quelle die konzeptionelle
>> Erfordernisse für die Bezeichnung aufstellt, die der CSS Validator nicht
>> erfüllt. Auch wäre es interessant zu erfahren, warum der W3C HTML
>> Validator mehr Validator sein kann als der CSS Validator, immerhin ist
>> bei CSS - anders als bei HTML - Validität explizit und normativ
>> definiert.
>
>Wogegen validiert er?

Gegen die Erfordernisse für Validität. Du hast dir durchgelesen
welche das sind? Das würde deine zweite Frage nämlich beantworten.

>Ob ein Stylesheet, das zum Beispiel nur folgendes enthält:
>.a {float:left}
>.b {width:10em}
>
>...tatsächlich gegen die Spezifikation im Sinne von
><http://www.w3.org/TR/REC-CSS2/visuren.html#floats> validiert:
>
> A floated box must have an explicit width (assigned

^^^^^^^^^^^^^


> via the 'width' property, or its intrinsic width in
> the case of replaced elements).

Hier geht es um ein Erforderniss für A floated box, nicht für ein
gültiges Stylesheet, warum sollte das also einen Einfluss auf die
Gültigkeit des Stylesheets haben? Die Validität eines HTML Dokuments
hängt ja auch nicht davon ab, wie Uranus gerade zur Venus steht.
Viel interessanter ist doch z.B. die Frage, ob

@page { margin-left: 0em }

ein gültiges Stylesheet ist.

Thomas Scholz

unread,
Jul 10, 2003, 9:22:16 PM7/10/03
to
Bjoern Hoehrmann tat kund:

> * Thomas Scholz wrote in de.comm.infosystems.www.authoring.misc:

>> Wogegen validiert er?
>
> Gegen die Erfordernisse für Validität. Du hast dir durchgelesen
> welche das sind?

Ja, das glaube ich zumindest. Und ich sehe immer noch nicht, wie ein
externes Stylesheet auf Validität überprüft werden kann.

Ich gehe von <http://www.w3.org/TR/REC-CSS2/conform.html#valid-style-sheet>
aus:

The validity of a style sheet depends on the level of CSS used
for the style sheet. All valid CSS1 style sheets are valid CSS2
style sheets. However, some changes from CSS1 mean that a few
CSS1 style sheets will have slightly different semantics in
CSS2.

A valid CSS2 style sheet must be written according to the
_grammar_ of CSS2. Furthermore, it must contain only at-rules,
property names, and property values defined in this
specification. An illegal (invalid) at-rule, property name, or
property value is one that is not valid.

Validität muß also anhand des Kriteriums entschieden werden, ob das zu
validierende Dokument der Grammatik von CSS 2 entspricht (so man gegen CSS
2 prüft, was ich der Einfachheit halber hier mal annehme).

"_grammar_" ist im obigen Absatz verlinkt auf <http://www.w3.org/TR/REC-
CSS2/grammar.html>, wo ich über folgendes stolpere:

[...]
The grammar below defines the syntax of CSS2. It is in some
sense, however, a superset of CSS2 as this specification
imposes additional semantic constraints not expressed in this
grammar.

Heißt der zweite Satz, daß:

>> A floated box must have an explicit width

zu den "additional semantic(?) constraints" gehört, damit nicht Teil der
Grammatik und also für Validität irrelevant ist? Das scheint deine
Sichtweise zu sein, richtig?
Oder heißt es, daß diese zusätzlichen Bedingungen zwar sehr wohl Teil der
Grammatik sind, aber nicht formal erfaßt wurden oder werden konnten? Das
ist zumindest meine Interpretation. Es wäre natürlich sinnvoll gewesen, das
explizit in die Passage hineinzuschreiben...

> Hier geht es um ein Erforderniss für A floated box, nicht für ein
> gültiges Stylesheet, warum sollte das also einen Einfluss auf die
> Gültigkeit des Stylesheets haben?

Weil es der formalen Anforderung widerspricht, eine Box fließen zu lassen,
die keinen expliziten oder impliziten (intrinsic) 'width'-Wert hat.
'p{float:right}' ohne diese Ergänzung ist zumindest aus meiner Sicht heraus
immer syntaktisch falsch, unvollständig.

> Viel interessanter ist doch z.B. die Frage, ob
>
> @page { margin-left: 0em }
>
> ein gültiges Stylesheet ist.

Warum? Zumindest laut <http://www.w3.org/TR/REC-CSS2/page.html#q1> sollte
das doch unproblematisch sein, oder?

Thomas

Bjoern Hoehrmann

unread,
Jul 10, 2003, 10:36:20 PM7/10/03
to
* Thomas Scholz wrote in de.comm.infosystems.www.authoring.misc:

Kürzen wir das mal ab:

>> Hier geht es um ein Erforderniss für A floated box, nicht für ein
>> gültiges Stylesheet, warum sollte das also einen Einfluss auf die
>> Gültigkeit des Stylesheets haben?
>
>Weil es der formalen Anforderung widerspricht, eine Box fließen zu lassen,
>die keinen expliziten oder impliziten (intrinsic) 'width'-Wert hat.
>'p{float:right}' ohne diese Ergänzung ist zumindest aus meiner Sicht heraus
>immer syntaktisch falsch, unvollständig.

Du sagst es doch selbst, die Box fliessen zu lassen wäre falsch, damit
beschreibst du das Verhalten eines Benutzeragenten, nicht aber die
Gültigkeit des Stylesheets.

Nach deiner Interpretation könnte es den Terminus "Valid Style Sheet"
gar nicht geben. In Anbetracht der Tatsache, dass der Terminus dennoch
definiert wurde, ist deine Interpretation doch ziemlich abwägig, oder?

>> @page { margin-left: 0em }

>Warum? Zumindest laut <http://www.w3.org/TR/REC-CSS2/page.html#q1> sollte
>das doch unproblematisch sein, oder?

Du vergisst Abschnitt 13.2.1.

Thomas Scholz

unread,
Jul 11, 2003, 8:11:22 PM7/11/03
to
Bjoern Hoehrmann tat kund:

> * Thomas Scholz wrote in de.comm.infosystems.www.authoring.misc:
>

>>> Hier geht es um ein Erforderniss für A floated box, nicht für ein
>>> gültiges Stylesheet, warum sollte das also einen Einfluss auf die
>>> Gültigkeit des Stylesheets haben?
>>
>> Weil es der formalen Anforderung widerspricht, eine Box fließen zu
>> lassen, die keinen expliziten oder impliziten (intrinsic) 'width'-Wert
>> hat.
>> 'p{float:right}' ohne diese Ergänzung ist zumindest aus meiner Sicht
>> heraus immer syntaktisch falsch, unvollständig.
>
> Du sagst es doch selbst, die Box fliessen zu lassen wäre falsch, damit
> beschreibst du das Verhalten eines Benutzeragenten, nicht aber die
> Gültigkeit des Stylesheets.

Ich meinte mit "fließen lassen": der Box 'float' zuweisen. Im Stylesheet.
Die Spezifikation sagt auch nicht, diese Regel stehe unter Bedingung, daß
die Regel irgendwann gerendert wird. Es ist schlicht eine syntaktische
Vorschrift.

> Nach deiner Interpretation könnte es den Terminus "Valid Style Sheet"
> gar nicht geben.

Eeeeben.

> In Anbetracht der Tatsache, dass der Terminus dennoch
> definiert wurde, ist deine Interpretation doch ziemlich abwägig, oder?

Nein, es gibt ja auch falsche Definitionen und auch eine unvollständige
Definition ist falsch.

>>> @page { margin-left: 0em }
>
>> Warum? Zumindest laut <http://www.w3.org/TR/REC-CSS2/page.html#q1>
>> sollte das doch unproblematisch sein, oder?
>
> Du vergisst Abschnitt 13.2.1.

Ah, jetzt seh ich's. Du meinst:

The page context has no notion of fonts,
so 'em' and 'ex' units are not allowed.

Praktisch gesehen ist '0em' gleich '0px' oder '0'. Technisch ist es hier
eine ungültige Zeichenkette und damit invalid. Wieder was gelernt. :)


Thomas

0 new messages