#3914 closed defect (bug) (wontfix)
Two feeds on Dashboard don't work with application/xhtml+xml
Reported by: | JeremyVisser | Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | minor | Version: | 2.3 |
Component: | Administration | Keywords: | |
Focuses: | Cc: |
Description (last modified by )
Env: WordPress SVN /branches/2.1/ (revision 4958, version 2.1.2)
Apache2/PHP5/MySQL5/Ubuntu 6.06.1
option '
html_type
' set to 'application/xhtml+xml
'
On my WordPress dashboard, both the Technorati incoming links and WordPress Planet feeds are broken, because of using application/xhtml+xml
mime-type.
WordPress dev news still works.
Change History (16)
#6
@
18 years ago
What *exactly* is broken? I'm not sure if this is a problem with WP or the feeds themselves. Is this with Firefox? I assume it gives you that pasty orange screen of death about an XML parser error.
#8
@
18 years ago
I hate JavaScript, and have virtually no clue on how to debug/diagnose the issue, so I'm not much help, but here's what I know:
Well, what happens is that the feeds simply don't show up on the Dashboard, as if JavaScript is turned off. You get me so far? No JS errors that I can see. So, the Dev News feed shows up, but the Planet and Incoming Links feeds are invisible. You can't see 'em.
It doesn't give me a "pasty orange screen of death" as it's not a problem with the markup in the Dashboard, but a problem with the markup that's dynamically loaded or the method used to dynamically load them.
I apologise for the lack of information, but I'm really incompetent in this area.
Can I remove the reporter-feedback tag now?
#10
@
17 years ago
- Milestone changed from 2.3 (trunk) to 2.4 (future)
- Version changed from 2.1.2 to 2.3
#11
@
17 years ago
Been brought up again, this time in #4746
After looking at the source code, theres only really 2 options:
- serve the "ajax" data as text/html regardless of the get_option('html_type') setting
- Modify the way the news is loaded, so that instead of HTML it returns a XML document or something.
The reason it only happens with one of the feeds is simply a fluke, They're all invalid documents being served as "application/xhtml+xml", Its just that 2 of the feeds manage to be parsed due to their simple nature, the planetnews feed result however includes <ul> which the XML parser gives up on.
Theres a XML Validator here: http://www.validome.org/xml/validate/ which will give the error messages of the feeds.
(NOTE: When i've refered to 'feed' in this message i've meant the ouput of index-extra.php, not the actual RSS feed that thats reading)
D
#12
@
17 years ago
The underlying problem in this is that the innerHTML
property is not properly supported in application/xhtml+xml
. XHTML served as XML requires a strict document tree, not tag soup.
The only way I can see around this is by passing the feeds as perhaps JSON, and parsing and manually adding the XML nodes one-by-one in JavaScript. That'd be painful.
Alternatively, we could have a filter or something that allows us to turn off the AJAX loading of the dashboard feeds and load them directly into the XHTML like we used to.
#13
follow-up:
↓ 14
@
17 years ago
Hmm, making index-extra.php
serve as text/html
doesn't fix it for me.
#14
in reply to:
↑ 13
@
17 years ago
Replying to JeremyVisser:
Hmm, making
index-extra.php
serve astext/html
doesn't fix it for me.
Your right; Its choking on »
remove that and it even works as application/xhtml+xml (Just logs a few error warnings)
It works fine if you use »
instead of »
I guess that means » isnt defined in the default DTD which its being parsed as.
/me curses
Env: WordPress SVN /branches/2.1/ (revision 4958, version 2.1.2) - Apache2/PHP5/MySQL5/Ubuntu 6.06.1