Closed
Bug 109918
Opened 23 years ago
Closed 22 years ago
CSS stylesheets need lowercase tagnames, which isn't like html
Categories
(Core :: XSLT, defect)
Tracking
()
VERIFIED
FIXED
People
(Reporter: lars, Assigned: sicking)
References
Details
(Keywords: testcase)
Attachments
(3 files)
I was pleased to find that Mozilla will read an xml file and an associate XSLT
stylesheet and render the resulting HTML output. Nifty! Unfortunately, it
appears that if the generated output includes stylesheet <link> elements in the
<head> element, these are ignored.
In other words: The HTML generated by my XSLT stylesheet includes:
<link rel="stylesheet" type="text/css" href="standard.css">
If I generate the html manually using xsltproc and point Mozilla at the
resulting html file, the CSS stylesheet works as expected. On the other hand,
if I point mozilla at the XML file (with an embedded xml-stylesheet element),
the XSLT transform works correctly, but the CSS stylesheet is never consulted.
Comment 1•23 years ago
|
||
IIRC, this is something glazou has a fix for. But I can't find the bug.
dumb me.
Whiteboard: [dupeme]
Comment 2•23 years ago
|
||
This should be being covered under bug 96647. I think its actually a dup of bug
53030, but I'm not totally sure so aren't going to mark it as such myself.
Comment 3•23 years ago
|
||
non of the above.
It is indeed bug 34849, which I found by looking at the bugs above, so thanx
for the links.
Leaving up for peterv or glazou to make up if this depends or dupes.
(I tend to depend)
Assignee | ||
Comment 4•23 years ago
|
||
I don't think it's that one either. This is a linked stylesheet which should
work since the fix of bug 7515!
lars: could you attach the xml-page and the xslt-stylesheet that you get this
error in. Please read the guidelines in http://www.mozilla.org/projects/xslt
before attaching
I've attached a trivial xml document, the corresponding xslt stylesheet, and the
css stylesheet. Note that I am opening these on disks, not from a server.
Comment 9•23 years ago
|
||
This is due to the stylesheet having capital tag names, BODY and P, but xhtml
(which is our output) being lower case.
Confirming, though I'm not sure if we gonna fix this
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: Mozilla ignores html stylesheets in content generated with XSLT. → CSS stylesheets need lowercase tagnames, which isn't like html
Whiteboard: [dupeme]
Reporter | ||
Comment 10•23 years ago
|
||
Interesting. I hadn't considered the fact the the css selectors were case
sensitive, but of course that makes perfect sense when the target document is XHTML.
Not really a bug, I guess, although it might be worth noting prominently
somewhere...
Comment 11•23 years ago
|
||
Excerpt from CSS 2 spec section 4.1.3 :
All CSS style sheets are case-insensitive, except for parts that are not
under the control of CSS. For example, the case-sensitivity of values of
the HTML attributes "id" and "class", of font names, and of URIs lies
outside the scope of this specification. Note in particular that element
names are case-insensitive in HTML, but case-sensitive in XML.
Excerpt from section 5.1 :
The case-sensitivity of document language element names in selectors
depends on the document language. For example, in HTML, element names are
case-insensitive, but in XML they are case-sensitive.
Excerpt from section 5.8.1 :
The case-sensitivity of attribute names and values in selectors
depends on the document language.
Assignee | ||
Comment 12•23 years ago
|
||
glazou: how does layout know that some content is html and should be styled case-insensitive? Does it check the document-object or the elements? What does it check on these objects? Would it be possible for us to fool style that the xhtml document is a html document?
Since transformiix really should output html and not xhtml it would be good if we could make the xhtml behave as much as possible as html.
Comment 14•23 years ago
|
||
> how does layout know that some content is html and should be styled
> case-insensitive? Does it check the document-object or the elements?
The HTML content sink asks the document object for a CSSLoader. If you look at
GetCSSLoader() on the various documents (nsHTMLDocument, nsXMLDocument being the
two you care about here) you'll see that the document sets the case-sensitivity
of the CSSLoader.
I'm not sure how you can go about fooling the document into mis-setting the
case-sensitivity of the CSSLoader.
Assignee | ||
Comment 15•22 years ago
|
||
fixed with branch-landing
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•