2011-12-08 4 views
0

내가 만들고있는 RSS 피드의 형식을 확인하려고합니다. 이 같은 XML 생성 외모 :w3c 유효성 검사 서비스가 손상 되었습니까, 아니면 마음이 어둡습니까?

<?xml version="1.0" encoding="UTF-8"?> 
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> 
<channel> 
    <atom:link href="https://foo.bar.net/rss.php" rel="self" type="application/rss+xml" /> 
    <title>foo.bar Latest News</title> 
    <link>https://foo.bar.net/</link> 
    <description>Latest news and information of interest at foo.bar</description> 
    <pubDate>Thu, 08 Dec 2011 00:08:09 -0500</pubDate> 
    <item> 
     <title>some title</title> 
     <link>https://foo.bar.net/</link> 
     <description>some description.</description> 
     <pubDate>Wed, 07 Dec 2011 23:04:42 -0500</pubDate> 
     <guid>https://foo.bar.net/rss.php?itemId=1</guid> 
    </item> 
</channel> 
</rss> 

나는이 페이지의 텍스트를 가지고 http://validator.w3.org/feed/check.cgi에서 W3C 유효성 검사기로, 여기에서 복사하는 경우,이 유효성을 검사합니다. 내가 브라우저의 소스에서 복사 한 동일한 텍스트를 가지고 있다면, 오류 얻을 : 다시 유효성 검사 버튼을 누르고 있으면 (절단을하거나 텍스트 창에 이미, 그냥 어떻게이 시간을 붙여 넣기)

Sorry 

This feed does not validate. 
line 2, column 0: XML parsing error: <unknown>:2:0: XML or text declaration not at start of entity [help] 

<?xml version="1.0" encoding="UTF-8"?> 

을, 알 겠어 :

Congratulations! 

This is a valid RSS feed. 

뭐라구? 내 RSS 리더는 이것을 유효한 피드로 인식하지 못하며 절대적인 차이가있는 것으로 보입니다. 도대체 무슨 일이 벌어지고있는거야?

... 예, "도움말"링크를 클릭했습니다. 그것은 XML 사양에 따라 피드가 잘 형성되지 않는다고 말합니다. 꽤 오래 동안 xml에서 일 해왔다. 나는 나에게 뛰어 오르는 것을 볼 수 없다. 이것이 이상한 인코딩 문제 일 수 있습니까? 그렇다면 어떻게 그 문제를 해결할 수 있습니까?

답변

1
, 당신은 XML 선언의 앞에 일부 공백을 왼쪽 당신이 발리에 XML 조각을 붙여 넣을 때, 그것은 마치 나에게 보이는

-는 XML 선언

라인 (2)에 있다고 불평 (아마도 더 좋은 디자인은 구문 분석을 시작하기 전에 유효 공백을 없애기 위해 유효성 검사 서비스를 사용했을 것입니다 ...)

+0

예 공백을 삭제하면 ... 유효성 검사기가 작동했습니다. 나는 XML이 선언문에 대해 너무 까다 롭다는 것을 전혀 알지 못했다. –

관련 문제