Avatar billede trumf Nybegynder
26. november 2006 - 00:21 Der er 8 kommentarer og
1 løsning

rss content og filtype

Hejsa E

Jeg kunne virkelig godt bruge en afklaring på hvordan det hænger sammen med at alle guides i C# til at lave RSS feed er med en aspx fil med XML i HTML content, mens andre tilsyneladende lykkes at lave rss filer med XML i application/xml.

Umiddelbart læses det jeg har fået lavet fint af alle readere, men en tom side kommer frem i IE6 mens andres sider kommer fint frem som et XML dokument. Det er dog ikke lykkes mig at få vist filer med endelsen .rss
Har det noget med indstillingerne i IIS'en at gøre ???

Jeg vil sådan set bare gerne lave et ægte RSS dokument i en fil der ender på rss som alle de andre.
Avatar billede Slettet bruger
26. november 2006 - 06:05 #1
Den helt generelle til XML er text/xml.

Så kunne man jo bruge

application/rss+xml til et RSS feed
application/rdf+xml til et RDF feed
application/atom+xml til et Atom feed

Du kan et eller andet sted selv om det i praksis er RSS et felt hvor det "flyder" der er noget specifikation som ingen rigtigt overholder, prøv at lave en RSS feed parser så vil du opdage at det ligner wildwest ligesom HTML i gamle dage.
Avatar billede trumf Nybegynder
26. november 2006 - 09:11 #2
application/rss+xml er ikke understøttet korrekt af alle browsere, så den eneste rigtige måde at gøre det på må indtil videre være med text/xml.

Lad os antage et der er noget der hedder hhv. statisk og dynamisk XML. Dårlige ord i denne sammenhæng, men i mangel af bedre...  Så er statisk XML et dokument der er skrevet på forhånd, f.eks. ligesom i dette eksempel:
http://activedeveloper.dk/articles/356/
Hvor et dynamisk XML dokument er som i dette eksempel:
http://www.uberasp.net/getarticle.aspx?id=17

Forskellen i disse er, at i det andet eksempel kan man selv bestemme content type fra koden, og er umiddelbart den "mest rigtige" løsning. I det første eksempel kunne man dog nok lave noget i IIS'en så det blev kom ud til browseren med den rigtige content type.

I ingen af eksemplerne har man dog fået filendelsen .rss med og det er denne jeg undrer mig over hvordan "de andre" har løst dette. Jeg tænker at det må ver noget med at omdøbe sin aspx fil, og lære IIS'en at filer med endelsen .rss, skal eksekveres som en aspx fil og udskrives som en XML fil...

Der må da være nogen der har reflekteret over disse spørgsmål og fundet den "rigtige" måde i stedet for bare at lave noget til Wild Wild Web ligesom i "gamle dage" :)
Avatar billede Slettet bruger
27. november 2006 - 06:36 #3
Min point, som jeg godt kan se ikke fremgår særligt tydeligt, er at du ikke har nogen "rigtig" måde at gøre det på. Problemet er lidt at de klienter som skal læse det RSS er lavet på vidt forskellige måder og kan læse alt muligt junk hvorfor der også findes rigtigt meget junk, hvilket jeg måtte sande da jeg lavede en Feed parser til et .NET projekt.

Lad mig prøve at tage "rigtig" hatten på. "Rigtigt" ville i min verden være application/rss+xml og så kan det godt være nogle browsere ikke forstår det, men det bliver det ikke mindre korrekt af. Årsagen til at jeg mener det er den rigtigt er at du med content typen fortæller præcist, hvad det er du sender nemlig noget der skal bruges en applikation (ikke browseren) og det er RSS samt i XML, selvom XML delen strengt taget er overflødig ved det RSS er en XML "applikation".

Fall back til text/xml er jo blot at fortælle omverden at det der bliver sendt er XML uden at sige noget mere præcist om hvad indholdet af XML dokumentet så er. Altså man fortæller ikke verden omkring sig at det er RSS, men fair nok det er de så nok klar over.

Du kan mappe endelsen .rss i IIS til asp.net ISAPI filteret. Således at filer med denne endelse bliver eksekveret ligesom en ASPX file.
Avatar billede trumf Nybegynder
27. november 2006 - 10:42 #4
Godt svar. Hvis du beholder "rigtig" hatten på et øjeblik mere :) hvordan vil du så forholde dig til de to eksempeler jeg før henviste til, hvor selve indholdet begge steder er korrekt XML/RSS men hvor det i det første er HTML og i det andet er XML der kommer til browseren/modtageren.

Hvordan er det nu lige at man mapper .rss til aspx ?
Jeg har prøvet lidt forskelligt under web service extensions i IIS'en men det er vis ikke der!

Jeg faldt lige over dette:
http://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fwww.rss.vinguide.net
og her er der da lidt at tilrette, men det med content type er W3C da ligeglad med...
Avatar billede Slettet bruger
27. november 2006 - 13:00 #5
mapningen i IIS foretages på kataloget/websitet ved at vælge configure på applikationen, der mappes extensions til filter.

En typisk måde at vise et feed som HTML er at sende et client-side XSLT stylesheet med, så browseren transformerer XML/RSS til HTML.
Avatar billede trumf Nybegynder
27. november 2006 - 16:34 #6
Jeg fandt lidt om opsætning i IIS'en her
http://www.computorcompanion.com/LPMArticle.asp?ID=194
men søreme om ikke jeg har fået lagt IIS'en ned det meste af eftermiddagen :-)

Jeg vil prøve lidt mere med at få det sat op med en .rss fil og få det ud med det "rigtige" content.

Du har dog lige vagt endnu et spm ved at skrive det med XSLT. Har du en henvisning hvor jeg kan finde mere om hvordan jeg sender sådan en sammen med det andet ?
Avatar billede Slettet bruger
28. november 2006 - 07:10 #7
Beskriver hvordan i w3c termer : http://www.w3.org/TR/xslt#section-Embedding-Stylesheets

Her er et eksempel (lav en view source på dokumentet) : http://outgoing.typepad.com/code/embedded.xsl

I ovenstående eksempel er XSLT'en inline men den kan også refereres i lighed med css i HTML.
Avatar billede trumf Nybegynder
28. november 2006 - 09:28 #8
Takker, så kan jeg vist heller ikke koge mere suppe på den :)
Du har virkelig belyst sagen godt.
Avatar billede trumf Nybegynder
28. november 2006 - 09:40 #9
Jeg tror jeg venter med at embedde, da jeg vil tillade mig at antage at det ikke er alle programmører der sætter sig lige så godt ind i sagen som det er gjort her.
Derfor kunne det ske at såfremt nogen ikke har taget højde for XSLT osv. vil mit indhold kunne tage sig dårligt ud på andres websider. Dette er selvfølgelig ikke min skyld, men det tager brugerne sig jo ikke af.
Selvom RSS er ved at være gammelt, så tror jeg det er en god ide, at vente lidt endnu med de helt store armsving.

Skulle du forresten have lyst til at se resultatet, så kan du læse om vin her:
http://www.rss.vinguide.net
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester