2010-01-11 2 views
3

2006 년경, RSS 피드를 사용자 정의 HTML로 변환 한 멋진 XSLT를 작성했습니다. 그렇게하면 사용자가 브라우저에서 클릭하면 정크 XML이 아닌 단순한 페이지로 표시됩니다. 동일한 URL이 피드 리더에서 사용 되었다면 제대로 처리되었고 모든 것이 매끄러 웠습니다.사용자 정의 XSLT가있는 브라우저에서 Atom/RSS 피드를 표시하는 방법은 무엇입니까?

요즘 대부분의 브라우저 (IE, Firefox, Safari, Opera)는 스타일을 유지하는 것처럼 보이지 않으므로 놓을 수 없습니다. 그리고 Chrome은 단순한 스타일 시트 변환을 무시합니다.

몇 년이 지났다고 생각하면 몇 가지 세부 사항을 잊어 버릴 수 있습니까? 이게 쉽지 않았던가요?

<?xml version="1.0" encoding="utf-8"?> 
<?xml-stylesheet type="text/xsl" href="/atom2html.xslt"?> 
<feed xmlns="http://www.w3.org/2005/Atom"> 
    <!-- ... --> 
</feed> 

피드 스타일에 대한 구체적인 아이디어가있는 브라우저를 무시할 수있는 방법이 있는지 알고 싶습니다. 그리고 Chrome에서 멋진 것을 얻을 수있는 방법이 있습니까?

+0

아니, 그게 피드 버너가하는 방법 같아. – brianary

+0

RSS에서만 작동합니까? 아톰 아닌가요? – mckamey

+0

크롬이 작동하지 않는 이유는 아래를 참조하십시오. 누구든지 다른 브라우저를 사용하는 방법에 대한 아이디어가 있습니까? – mckamey

답변

1

나는 RSS/아톰의 IE & FF & 사파리의 자동 표시 피드를 속일 수있는 방법을 알고 아니지만, 크롬에서 XSLT 올바르게 xml-stylesheet 처리 명령을 통해 적용된다; Randonneur Group 풀의 here is an exampleflickr에 있습니다.

+0

Flickr 페이지의 예제에서 Atom 피드 링크가 보이지 않습니다. 올바른 URL이 맞습니까? – mckamey

+0

작전, 링크에 잘못된 URL을 붙여 넣었습니다. 다음은 피드 사본이있는 페이지입니다. http://linusmat.com/files/stackoverflow/atom.xml 이것은 xsl이 적용된 것입니다 : http://linusmat.com/files/stackoverflow/atom .xsl – bolk

+0

+1 내 예제가 내게 왜 작동하지 않는지를 판단 할 수있는 좋은 시작점을주었습니다. 감사! – mckamey

4

피드 응답의 Content-Type이 Atom이 아닌 XML로 설정된 경우 Chrome에서 XSLT 처리 명령어 만 적용됩니다.

은 크롬에서 XSLT를 표시합니다 : 그것은 지금 대부분의 브라우저에 적용 할 기본 동작입니다

Content-Type: application/atom+xml 
2

:

Content-Type: application/xml 

이 (더 올바른 유형은 기술적으로) 어떤 스타일을 표시하지 않습니다 그들 자신의 XSLT를 Atom/RSS 피드로 보내면 매우 짜증납니다. 피드는 Atom의 application/atom + xml MIME 유형을 통해 식별되고

피드의 처음 512 바이트를 의견. 이렇게하면 브라우저의 스니핑 피드가 사라지고 자신의 XSL 스타일 시트를 적용 할 수 있습니다. 이것은 나를 위해 수년 동안 일해 왔지만 IE8에서는이 동작이 사라지고 512 바이트 메모가 더 이상 작동하지 않습니다. 나는 이제 서버 측 프로세싱으로 넘어 갔지만 여전히 브라우저의 이러한 결정이 슬퍼한다.

+1

이것은 여전히 ​​Firefox에서 작동하며 기본 피드 스타일을 해결하기 위해 사실 [유일한 방법]입니다 (https://developer.mozilla.org/en/XSL_Transformations_in_Mozilla_FAQ). – kynan

+0

이것은 정말보기 흉한 "해결 방법"일뿐만 아니라 다른 브라우저와의 호환성도 손상시킵니다.그 crud를 추가하는 것은 나를 위해 크롬에있는 사료를 나눕니다. – kynan

관련 문제