RSS 1.0 (RDF)ǂݍށ@̏͂ł́ÃTCgŔzMĂRSS𗘗pČoANALe̗v\Ă݂܂B
RSSɊւĂ͓ǂݍ܂ꂽeɑ΂ĈꊇČČʂ\ƂZ̘͂Zōs܂BRSSɊւĂ͏ډRSSƂ{܂ATCgŌRSStH[}bgɊւ񂪓܂B
@RSSƂĂȒPł͂܂BƂ̂tH[}bgAꂼʂ̒ĉ쐬Ă肷邽߁A݊ȂǂȂ肵܂B݁AzzĂRSSɂ͈ȉ3܂B


RSS 1.0 (RDF)@y{őpz 
RSS 2.0 (RSS 0.9x)yčőpz 
AtomyuOőpz 
@RSS 0.9ǂ̂RSS 2.0łB1.0ł͂܂BRSS 1.0RDFtH[}bgŕʌłBtH[}bg߁A悤ƂƂAtomoĂ܂BuOłAtomŔzzĂƂ낪܂B
@܂A̍ł͓{ňԑpĂRSS 1.0 (RDF) ̃f[^\Ă݂܂BRDF/XMLɊւĂWeb KANZAKIQlɂĂ݂ĂB

@̃TCg̏𓾂ɂCGIpӂĂKv܂B̏͂łp܂Aȉ̂悤CGI𗘗pĂ܂B

#!/usr/local/bin/ruby
require "kconv"
require "cgi-lib"
input = CGI.new
inputdata = input["query"]
bom = "\xef\xbb\xbf"
print "Content-type: text/xml\n\n"
print bom
fh = open("| curl '"+inputdata+"'")
while !fh.eof
str = fh.gets
print Kconv::toutf8(str)
end
fh.close

@͂RSS 1.0łAȒPɏΈȉ̂悤ȍ\ɂȂĂ܂B

<rdf:RDF>
@<channel>
@@<title>`</title>
@@<link>`<link>
@@<description>`<description>
@</channel>
@<item>
@@<title>`</title>
@@<link>`</link>
@</item>
</rdf:RDF>

@Ԏ̕(item)L̐JԂLq܂Bitem^OɂtitleĽoɂȂ܂BRSSf[^getElementsByTagName("item")Ƃitem^ÕXg擾A̒ɂtitle^O̍ŏ̃eLXgm[hǂݏo܂BŋL̈ꗗ\邱Ƃł܂Biۂ̃XNvgsj

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>RSSǂݍ݌o\ (RSS 1.0 - RDF -)</title>
<link rel="stylesheet" href="main.css" type="text/css" media="all">
<script type="text/javascript" src="xmlhttp.js"></script>
<script type="text/javascript"><!--
function rssSearch()
{
rssURL = $("siteURL").value;
httpObj = createXMLHttpRequest(displayData);
if (httpObj)
{
httpObj.open("GET","getrss.rb?query="+rssURL+"&cache="+(new Date()).getTime(),true);
httpObj.send(null);
}
}
function displayData()
{
if ((httpObj.readyState == 4) && (httpObj.status == 200))
{
parseRSS1(httpObj.responseXML);
}else{
$("result").innerHTML = "ǂݍݒł...";
}
}
// RSS 1.0 (RDF) ͂ă^Cgioj\
function parseRSS1(sXML)
{
var resultText = rssTitle = "";
var itemList = sXML.getElementsByTagName("item");
for (var i=0; i<itemList.length; i++)
{
rssTitle = itemList[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;
resultText += rssTitle + "<br>";
}
$("result").innerHTML = resultText;
}
// --></script>
</head>
<body>
<h1>RSSǂݍ݌o\ (RSS 1.0 - RDF -)</h1>
<form method="get" name="ajaxForm" onsubmit="rssSearch();return false;">
<select id="siteURL">
<option value="http://hotwired.goo.ne.jp/news/index.rdf">Wired</option>
<option value="http://japan.cnet.com/rss/index.rdf">CNET</option>
<option value="http://www3.asahi.com/rss/index.rdf">Asahi.com</option>
<option value="http://nikkeibp.jp/jp/flash/index.rdf">oBP</option>
<option value="http://japan.zdnet.com/rss/news/index.rdf">ZDNET</option>
</select>
<input type="button" value="" onClick="rssSearch()">
</form>
<div id="result"></div>
</div>
</body>
</html>

@ŁAłƂƂłAȂSafari 2 (v203) ł͓삵܂B̃uEUł͓삷̂Safari 2ɂ͉炩̕s悤ȊłB̂߁ASafarił삳ꍇɂ́AL̂悤Ɏyɏ邱Ƃł܂Bȉ̂悤Ƀm[hHĂ݂L𓾂@gɂȂ܂B̂悤ɂSafari 2ł̃uEUł삵܂BiTvsj

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>RSSǂݍ݌o\ (RSS 1.0 - RDF -)</title>
<link rel="stylesheet" href="main.css" type="text/css" media="all">
<script type="text/javascript" src="xmlhttp.js"></script>
<script type="text/javascript"><!--
function rssSearch()
{
rssURL = $("siteURL").value;
httpObj = createXMLHttpRequest(displayData);
if (httpObj)
{
httpObj.open("GET","getrss.rb?query="+rssURL+"&cache="+(new Date()).getTime(),true);
httpObj.send(null);
}
}
function displayData()
{
if ((httpObj.readyState == 4) && (httpObj.status == 200))
{
parseRSS1(httpObj.responseXML);
}else{
$("result").innerHTML = "ǂݍݒł...";
}
}
// RSS 1.0 (RDF) ͂ă^Cgioj\
function parseRSS1(sXML)
{
var resultText = rssTitle = "";
var itemList = sXML.getElementsByTagName("item");
for (var i=0; i<itemList.length; i++)
{
rssTitle = itemList[i].childNodes[1].childNodes[0].nodeValue;
resultText += rssTitle + "<br>";
}
$("result").innerHTML = resultText;
}
// --></script>
</head>
<body>
<h1>RSSǂݍ݌o\ (RSS 1.0 - RDF -)</h1>
<form method="get" name="ajaxForm" onsubmit="rssSearch();return false;">
<select id="siteURL">
<option value="http://hotwired.goo.ne.jp/news/index.rdf">Wired</option>
<option value="http://japan.cnet.com/rss/index.rdf">CNET</option>
<option value="http://www3.asahi.com/rss/index.rdf">Asahi.com</option>
<option value="http://nikkeibp.jp/jp/flash/index.rdf">oBP</option>
<option value="http://japan.zdnet.com/rss/news/index.rdf">ZDNET</option>
</select>
<input type="button" value="" onClick="rssSearch()">
</form>
<div id="result"></div>
</div>
</body>
</html>

@͂Ps̏Cōς݂܂A낢돈ĂSafari 2܂ȂƂۂ܂BŁA4܂łSafari͏O邩ʈƂȉ̂悤ɃuEU𔻕ʂďs܂iTvsjBŌ̍łSafari 2ł̃uEUłȂ삷XNvg쐬܂B

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>RSSǂݍ݌o\ (RSS 1.0 - RDF -)</title>
<link rel="stylesheet" href="main.css" type="text/css" media="all">
<script type="text/javascript" src="xmlhttp.js"></script>
<script type="text/javascript"><!--
Safari = false;
if (navigator.userAgent.indexOf("Safari") > -1) Safari = true;
function rssSearch()
{
rssURL = $("siteURL").value;
httpObj = createXMLHttpRequest(displayData);
if (httpObj)
{
httpObj.open("GET","getrss.rb?query="+rssURL+"&cache="+(new Date()).getTime(),true);
httpObj.send(null);
}
}
function displayData()
{
if ((httpObj.readyState == 4) && (httpObj.status == 200))
{
parseRSS1(httpObj.responseXML);
}else{
$("result").innerHTML = "ǂݍݒł...";
}
}
// RSS 1.0 (RDF) ͂ă^Cgioj\
function parseRSS1(sXML)
{
var resultText = rssTitle = "";
var itemList = sXML.getElementsByTagName("item");
for (var i=0; i<itemList.length; i++)
{
if (Safari)
{
rssTitle = itemList[i].childNodes[1].childNodes[0].nodeValue;
}else{
rssTitle = itemList[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;
}
resultText += rssTitle + "<br>";
}
$("result").innerHTML = resultText;
}
// --></script>
</head>
<body>
<h1>RSSǂݍ݌o\ (RSS 1.0 - RDF -)</h1>
<form method="get" name="ajaxForm" onsubmit="rssSearch();return false;">
<select id="siteURL">
<option value="http://hotwired.goo.ne.jp/news/index.rdf">Wired</option>
<option value="http://japan.cnet.com/rss/index.rdf">CNET</option>
<option value="http://www3.asahi.com/rss/index.rdf">Asahi.com</option>
<option value="http://nikkeibp.jp/jp/flash/index.rdf">oBP</option>
<option value="http://japan.zdnet.com/rss/news/index.rdf">ZDNET</option>
</select>
<input type="button" value="" onClick="rssSearch()">
</form>
<div id="result"></div>
</div>
</body>
</html>

