<?php

//サイト設定(タイトル、URL、CSS、文字コード、サイト説明文などを設定します)
$site['title'] = "お天気Webサービスサンプル-ZAPAnet-";
$site['url'] = "http://zapanet.info/api/lwws/";
$site['css'] = "http://zapanet.info/api/lwws/style.css";
$site['mojicode'] = "UTF-8";    //UTF8以外の場合は、取得したXMLをエンコードする必要が出てきます
$site['info'] = "<p><a href=\"http://weather.livedoor.com/weather_hacks/webservice.html\">お天気Webサービス - Weather Hacks - livedoor 天気情報</a>を利用したサンプルサイトです。<br>神奈川県横浜市の明日の天気と最高気温、最低気温を表示しています。</p>";
$site['copyright'] = "<a href=\"http://zapanet.info/\" title=\"ZAPAnet総合情報局\">ZAPAnet総合情報局</a>";

//XMLデータ取得用ベースURL
$req "http://weather.livedoor.com/forecast/webservice/rest/v1";

//リクエストパラメータ設定(今回はサンプルとして固定値を設定しています)
//実際は、データベースからユーザー情報の住所を設定したり、POSTやGETで入力された値を設定してください
$city "70";                //サンプルとして横浜を設定しています
$day "tomorrow";    //サンプルとしてtomorrowを設定しています

//XMLデータ取得用リクエストURL生成
$req .= "?city=".$city."&day=".$day;

//XMLファイルをパースし、オブジェクトに代入(PHP5の場合、simplexml_load_fileを使うと簡単です)
$xml simplexml_load_file($req)
 or die(
"XMLパースエラー");    //パースエラーが起きていなければ、$xmlオブジェクトにデータが全て格納されています

//$xmlオブジェクトがどのように格納されているかを確認してみる場合は、以下のコメントアウトを外して実行してみてください
/*
echo "<pre>";
print_r($xml);
echo "</pre>";
*/
//RESTによる公開APIを利用する場合、リクエストパラメータを生成し、取得したXMLをパースするのが基本です
//プログラミング言語によって処理方法は若干違いますが、ほぼどんな言語でも処理できるのがRESTの強みでもあります
//あとは自分の好きなように加工(他のAPIと組み合わせたマッシュアップやAjaxなどの動的な表示方法)して表示すれば完成です

//HTML出力(PHPでのXML処理などは以上で終了させて、ここからHTMLタグを一気に出力させます)
//簡易的にデザインとロジックを分離させています
echo <<<HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=
{$site['mojicode']}">
<title>
{$site['title']}</title>
<link href="
{$site['css']}" rel="stylesheet" type="text/css">
</head>
<body>
<h1><a href="
{$site['url']}">{$site['title']}</a></h1>
<hr>
{$site['info']}
<hr>
<table width="400">
<tr><th colspan="2">
{$xml->title}</th></tr>
<tr><th colspan="2"><img src="
{$xml->image->url}" alt="{$xml->image->title}"></th></tr>
<tr><td colspan="2">
{$xml->description}</td></tr>
<tr><th>最高気温</th><td>
{$xml->temperature->max->celsius}</td></tr>
<tr><th>最低気温</th><td>
{$xml->temperature->min->celsius}</td></tr>
</table>
<div id="copyright">
copyright &copy; 
{$site['copyright']} 
</div>
</body>
</html>
HTML;

?>