src/cm/media/js/lib/yui/yui_3.0.0b1/examples/io/io-weather.html
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 0 40c8f766c9b8
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
<html>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
<head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
	<title>YUI Library Examples: IO: XML Transaction &mdash; Retrieving a Yahoo! Weather RSS (XML) Feed via a Server-Side Proxy</title>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
    	<link rel="stylesheet" type="text/css" href="../../assets/yui.css" >
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
<style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
    /*Supplemental CSS for the YUI distribution*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
    #custom-doc { width: 95%; min-width: 950px; }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
    #pagetitle {background-image: url(../../assets/bg_hd.gif);}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
/*    #pagetitle h1 {background-image: url(../../assets/title_h_bg.gif);}*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
</style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
<link rel="stylesheet" type="text/css" href="../../assets/dpSyntaxHighlighter.css">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
<!--there is no custom header content for this example-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
<link type="text/css" rel="stylesheet" href="../../build/cssfonts/fonts-min.css" />
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
<script type="text/javascript" src="../../build/yui/yui-min.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
</head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
<body id="yahoo-com" class=" yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
<div id="custom-doc" class="yui-t2">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
<div id="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
	<div id="ygunav">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
		<p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
            <em>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
                <a href="http://developer.yahoo.com/yui/3/">YUI 3.x Home</a> <i> - </i>	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
            </em>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
		</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
		<form action="http://search.yahoo.com/search" id="sitesearchform">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
            <input name="vs" type="hidden" value="developer.yahoo.com">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
            <input name="vs" type="hidden" value="yuiblog.com">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
		    <div id="sitesearch">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
		    	<label for="searchinput">Site Search (YDN &amp; YUIBlog): </label>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
			    <input type="text" id="searchinput" name="p">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
			    <input type="submit" value="Search" id="searchsubmit" class="ygbt">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
		    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
		</form>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
	<div id="ygma"><a href="../../"><img src="../../assets/logo.gif"  border="0" width="200" height="93"></a></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
	<div id="pagetitle"><h1>YUI Library Examples: IO: XML Transaction &mdash; Retrieving a Yahoo! Weather RSS (XML) Feed via a Server-Side Proxy</h1></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
<div id="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
	<div id="bar-note"><p><strong>Note:</strong> This is YUI 3.x. Looking for <a href="http://developer.yahoo.com/yui/">YUI 2.x</a>?</p></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
	<div id="yui-main">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
		<div class="yui-b">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
		  <div class="yui-ge">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
			  <div class="yui-u first example" id="main">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
	<h2>IO: XML Transaction &mdash; Retrieving a Yahoo! Weather RSS (XML) Feed via a Server-Side Proxy</h2>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
	<div id="example" class="promo">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
	<p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
	<p>This example demonstrates how to use IO and a PHP proxy &mdash; to work around XMLHttpRequest's same-domain policy &mdash; to retrieve an XML document from <code>http://xml.weather.yahoo.com/forecastrss</code>.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
<p>To try out the example, fill in your five-digit US zip code, or Location ID.</p>	</p>	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
	<div class="module example-container ">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
			<div class="hd exampleHd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
			<p class="newWindowButton yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
                <a href="io-weather_clean.html" target="_blank">View example in new window.</a>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
            </p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
		</div>		<div id="example-canvas" class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
	<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
	<form id="wForm">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
<fieldset>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
	<label>Zip Code or Location ID</label> <input type="text" id="zip" value="94089">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
	<p>Please enter a U.S. Zip Code or a location ID to get the current temperature.  The default is Zip Code 94089 for Sunnyvale, California; its location ID is: USCA1116.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
</fieldset>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
<div id="weatherModule"></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
<input type="button" value="Get Weather RSS" id="getWeather">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
</form>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
<script language="javascript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
YUI({base:"../../build/", timeout: 10000}).use("io",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
	function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
		//Get a Node reference to the div we'll use for displaying
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
		//results:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
		var div = Y.Node.get('#weatherModule');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
		//Define a function to handle a successful response from
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
		//Yahoo! Weather.  The success handler will find the response
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
		//object in its second argument:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
		function successHandler(id, o){
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
			Y.log("Success handler called; handler will parse the retrieved XML and insert into DOM.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
			var root = o.responseXML.documentElement;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
			var oTitle = root.getElementsByTagName('description')[0].firstChild.nodeValue;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
			var oDateTime = root.getElementsByTagName('lastBuildDate')[0].firstChild.nodeValue;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
			var descriptionNode = root.getElementsByTagName('description')[1].firstChild.nodeValue;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
			div.set("innerHTML", "<p>" + oTitle + "</p>" + "<p>" + oDateTime + "</p>" + descriptionNode);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
			Y.log("Success handler is complete.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
		//Provide a function that can help debug failed
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
		//requests:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
		function failureHandler(id, o){
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
			Y.log("Failure handler called; http status: " + o.status, "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
			div.set("innerHTML", o.status + " " + o.statusText);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
		//When the Get RSS button is clicked, this function will fire
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
		//and compose/dispatch the IO request:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
		function getModule(){
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
			//Get the input value:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
			var iZip = Y.Node.get('#zip').get("value");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
			//Create a querystring from the input value:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
			var queryString = encodeURI('?p=' + iZip);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
			//The location of our server-side proxy:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
			var entryPoint = 'assets/weather.php';
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
			//Compile the full URI for the request:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
			var sUrl = entryPoint + queryString;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
			Y.log("Submitting request; zip code: " + iZip, "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
			//Make the reqeust:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
			var request = Y.io(sUrl, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
				method:"GET",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
				on:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
					{
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
						success:successHandler,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
						failure:failureHandler
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
					}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
				}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   141
			);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   142
		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
		//Use the Event Utility to wire the Get RSS button
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
		//to the getModule function:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
		Y.on("click", getModule, "#getWeather");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   148
		Y.log("When you retrieve weather RSS data, relevant steps in the process will be reported here in the logger/console.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   149
	}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   150
);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   151
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   152
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   153
	<!--END SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   154
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   155
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   156
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   157
	</div>			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   158
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   159
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   160
	<h2 class="first">Exploring the Code for This Example</h2>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   161
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   162
<p>Create a YUI instance, using IO, for this example:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   163
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   164
<textarea name="code" class="JScript" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   165
//Create a YUI instance including support for IO:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   166
YUI({base:"../../build/", timeout: 10000}).use("io-base", function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   167
	// Y is the YUI instance.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   168
	// The rest of the following code is encapsulated in this
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   169
	// anonymous function.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   170
} );
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   171
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   172
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   173
<h3>Callback Object and the Weather RSS</h3>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   174
<p><a href="http://developer.yahoo.com/weather/">Yahoo! Weather RSS</a> will return an XML document if the transaction is successful. The following <code>success</code> callback handlers is used to process the response.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   175
<textarea name="code" class="JScript" cols="60" rows="1">//Define a function to handle a successful response from
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   176
//Yahoo! Weather.  The success handler will find the response
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   177
//object in its second argument:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   178
function successHandler(id, o){
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   179
    Y.log("Success handler called; handler will parse the retrieved XML and insert into DOM.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   180
    var root = o.responseXML.documentElement;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   181
    var oTitle = root.getElementsByTagName('description')[0].firstChild.nodeValue;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   182
    var oDateTime = root.getElementsByTagName('lastBuildDate')[0].firstChild.nodeValue;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   183
    var descriptionNode = root.getElementsByTagName('description')[1].firstChild.nodeValue;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   184
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   185
    div.set("innerHTML", "<p>" + oTitle + "</p>" + "<p>" + oDateTime + "</p>" + descriptionNode);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   186
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   187
    Y.log("Success handler is complete.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   188
}</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   189
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   190
<h3>Assemble the Querystring and Initiate the Transaction</h3>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   191
<p>The Yahoo! Weather RSS feed requires a simple HTTP GET request with a base URL and a querystring containing the required information as a name-value pair.  In this example, we will use the following parameter:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   192
<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   193
	<li><code>p</code> &mdash; location as U.S. Zip Code or Location ID</li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   194
</ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   195
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   196
<p>The following are some example location IDs (do not include the city name):</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   197
<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   198
	<li><strong>Beijing</strong>: <em>CHXX0008</em></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   199
	<li><strong>Helsinki</strong>: <em>FIXX0002</em></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   200
	<li><strong>London</strong>: <em>UKXX0085</em></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   201
	<li><strong>Moscow</strong>: <em>RSXX0063</em></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   202
	<li><strong>Munich</strong>: <em>GMXX0087</em></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   203
	<li><strong>Paris</strong>: <em>FRXX0076</em></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   204
	<li><strong>Riyadh</strong>: <em>SAXX0017</em></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   205
	<li><strong>Tokyo</strong>: <em>JAXX0085</em></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   206
</ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   207
<p>For more details on the Yahoo! Weather RSS feed and other location IDs, please visit <a href="http://developer.yahoo.com/weather/index.html">http://developer.yahoo.com/weather/index.html</a>.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   208
<p>Function <code>getModule</code> retrieves the input values for location and creates a querystring:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   209
<textarea name="code" class="JScript" cols="60" rows="1">//When the Get RSS button is clicked, this function will fire
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   210
//and compose/dispatch the IO request:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   211
function getModule(){
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   212
    //Get the input value:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   213
    var iZip = Y.Node.get('#zip').get("value");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   214
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   215
    //Create a querystring from the input value:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   216
    var queryString = encodeURI('?p=' + iZip);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   217
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   218
    //The location of our server-side proxy:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   219
    var entryPoint = 'assets/weather.php';
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   220
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   221
    //Compile the full URI for the request:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   222
    var sUrl = entryPoint + queryString;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   223
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   224
    Y.log("Submitting request; zip code: " + iZip, "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   225
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   226
    //Make the reqeust:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   227
    var request = Y.io(sUrl, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   228
        method:"GET",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   229
        on:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   230
            {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   231
                success:successHandler,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   232
                failure:failureHandler
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   233
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   234
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   235
    );
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   236
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   237
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   238
//Use the Event Utility to wire the Get RSS button
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   239
//to the getModule function:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   240
Y.on("click", getModule, "#getWeather");</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   241
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   242
<h3>Full Script Source</h3>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   243
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   244
<p>Here is the full JavaScript source for this example:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   245
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   246
<textarea name="code" class="JScript" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   247
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   248
YUI({base:"../../build/", timeout: 10000}).use("io",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   249
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   250
	function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   251
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   252
		//Get a Node reference to the div we'll use for displaying
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   253
		//results:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   254
		var div = Y.Node.get('#weatherModule');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   255
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   256
		//Define a function to handle a successful response from
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   257
		//Yahoo! Weather.  The success handler will find the response
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   258
		//object in its second argument:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   259
		function successHandler(id, o){
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   260
			Y.log("Success handler called; handler will parse the retrieved XML and insert into DOM.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   261
			var root = o.responseXML.documentElement;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   262
			var oTitle = root.getElementsByTagName('description')[0].firstChild.nodeValue;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   263
			var oDateTime = root.getElementsByTagName('lastBuildDate')[0].firstChild.nodeValue;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   264
			var descriptionNode = root.getElementsByTagName('description')[1].firstChild.nodeValue;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   265
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   266
			div.set("innerHTML", "<p>" + oTitle + "</p>" + "<p>" + oDateTime + "</p>" + descriptionNode);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   267
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   268
			Y.log("Success handler is complete.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   269
		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   270
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   271
		//Provide a function that can help debug failed
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   272
		//requests:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   273
		function failureHandler(id, o){
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   274
			Y.log("Failure handler called; http status: " + o.status, "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   275
			div.set("innerHTML", o.status + " " + o.statusText);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   276
		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   277
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   278
		//When the Get RSS button is clicked, this function will fire
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   279
		//and compose/dispatch the IO request:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   280
		function getModule(){
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   281
			//Get the input value:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   282
			var iZip = Y.Node.get('#zip').get("value");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   283
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   284
			//Create a querystring from the input value:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   285
			var queryString = encodeURI('?p=' + iZip);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   286
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   287
			//The location of our server-side proxy:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   288
			var entryPoint = 'assets/weather.php';
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   289
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   290
			//Compile the full URI for the request:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   291
			var sUrl = entryPoint + queryString;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   292
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   293
			Y.log("Submitting request; zip code: " + iZip, "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   294
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   295
			//Make the reqeust:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   296
			var request = Y.io(sUrl, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   297
				method:"GET",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   298
				on:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   299
					{
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   300
						success:successHandler,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   301
						failure:failureHandler
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   302
					}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   303
				}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   304
			);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   305
		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   306
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   307
		//Use the Event Utility to wire the Get RSS button
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   308
		//to the getModule function:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   309
		Y.on("click", getModule, "#getWeather");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   310
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   311
		Y.log("When you retrieve weather RSS data, relevant steps in the process will be reported here in the logger/console.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   312
	}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   313
);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   314
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   315
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   316
<h3>Proxy and Response</h3>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   317
<p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   318
Once <code>weather.php</code> receives the querystring, it will construct and send an HTTP GET using CURL to retrieve the results from the Yahoo! Weather RSS feed.  This allows the transaction to succeed while working around XMLHttpRequest's strict security policy.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   319
</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   320
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   321
<textarea name="code" class="PHP" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   322
//Within a PHP block:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   323
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   324
// Since the result is an XML document, the Content-type
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   325
// header must be set to "text/xml" for the data to be
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   326
// treated as XML and to populate responseXML.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   327
header("Content-Type:text/xml");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   328
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   329
// $url is the resource path of the Y! Weather RSS
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   330
// with the appended querystring of zip code/location id.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   331
$url = 'http://xml.weather.yahoo.com/forecastrss?'.getenv('QUERY_STRING');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   332
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   333
// This function initializes CURL, sets the necessary CURL
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   334
// options, executes the request and returns the results.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   335
function getResource($url){
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   336
        $ch = curl_init();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   337
        curl_setopt($ch, CURLOPT_URL, $url);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   338
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   339
        $result = curl_exec($ch);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   340
        curl_close($ch);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   341
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   342
        return $result;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   343
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   344
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   345
// Call getResource to make the request.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   346
$feed = getResource($url);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   347
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   348
// Return the results.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   349
echo $feed;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   350
</textarea>				</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   351
				<div class="yui-u sidebar">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   352
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   353
				
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   354
					<div id="examples" class="mod box4">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   355
                        <div class="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   356
						<h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   357
    IO Examples:</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   358
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   359
						<div class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   360
							<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   361
								<li><a href='../io/io-get.html'>GET Transaction</a></li><li><a href='../io/io-post.html'>POST Transaction</a></li><li class='selected'><a href='../io/io-weather.html'>XML Transaction &mdash; Retrieving a Yahoo! Weather RSS (XML) Feed via a Server-Side Proxy</a></li><li><a href='../io/io-xdr.html'>Cross-Domain JSON Transaction &mdash; Retrieving a News Feed from Yahoo! Pipes</a></li><li><a href='../node-menunav/node-menunav-8.html'>Adding Submenus On The Fly (included with examples for MenuNav Node Plugin)</a></li><li><a href='../overlay/overlay-io-plugin.html'>IO Plugin (included with examples for Overlay)</a></li><li><a href='../dd/portal-drag.html'>Portal Style Example (included with examples for Drag &amp; Drop)</a></li>							</ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   362
						</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   363
					</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   364
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   365
					<div class="mod box4">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   366
                        <div class="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   367
						<h4>More IO Resources:</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   368
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   369
                        <div class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   370
						<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   371
							<!-- <li><a href="http://developer.yahoo.com/yui/io/">User's Guide</a> (external)</li> -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   372
						<li><a href="../../api/module_io.html">API Documentation</a></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   373
</ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   374
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   375
					</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   376
			  </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   377
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   378
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   379
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   380
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   381
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   382
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   383
<div class="yui-b toc3" id="tocWrapper">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   384
<!-- TABLE OF CONTENTS -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   385
<div id="toc">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   386
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   387
<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   388
<li class="sect first">YUI 3.x Project</li><li class="item"><a title="The Yahoo! User Interface (YUI) Library, 3.x Branch, " href="http://developer.yahoo.com/yui/3/">YUI 3 Web Site (external)</a></li><li class="item"><a title="Examples of every YUI utility and control in action" href="../../examples/">YUI 3 Examples</a></li><li class="item"><a title="Instantly searchable API documentation for the entire YUI library." href="../../api/">YUI 3 API Docs</a></li><li class="item"><a title="The YUI Library can be downloaded from SourceForge" href="http://sourceforge.net/projects/yui/">YUI 3 on Sourceforge (external)</a></li><li class="item"><a title="YUI is free and open, offered under a BSD license." href="http://developer.yahoo.com/yui/3/license.html">YUI License (external)</a></li><li class="sect">YUI 3 Core - Examples</li><li class="item"><a title="YUI (Global Prerequisite) - Functional Examples" href="../../examples/yui/index.html">YUI (Global Prerequisite)</a></li><li class="item"><a title="Event - Functional Examples" href="../../examples/event/index.html">Event</a></li><li class="item"><a title="Node - Functional Examples" href="../../examples/node/index.html">Node</a></li><li class="sect">YUI 3 Component Infrastructure - Examples</li><li class="item"><a title="Attribute - Functional Examples" href="../../examples/attribute/index.html">Attribute</a></li><li class="item"><a title="Plugin - Functional Examples" href="../../examples/plugin/index.html">Plugin</a></li><li class="item"><a title="Widget - Functional Examples" href="../../examples/widget/index.html">Widget</a></li><li class="sect">YUI 3 Utilities - Examples</li><li class="item"><a title="Animation - Functional Examples" href="../../examples/anim/index.html">Animation</a></li><li class="item"><a title="Cache - Functional Examples" href="../../examples/cache/index.html">Cache</a></li><li class="item"><a title="Cookie - Functional Examples" href="../../examples/cookie/index.html">Cookie</a></li><li class="item"><a title="DataSchema - Functional Examples" href="../../examples/dataschema/index.html">DataSchema</a></li><li class="item"><a title="DataSource - Functional Examples" href="../../examples/datasource/index.html">DataSource</a></li><li class="item"><a title="DataType - Functional Examples" href="../../examples/datatype/index.html">DataType</a></li><li class="item"><a title="Drag &amp; Drop - Functional Examples" href="../../examples/dd/index.html">Drag &amp; Drop</a></li><li class="item"><a title="Get - Functional Examples" href="../../examples/get/index.html">Get</a></li><li class="item"><a title="History - Functional Examples" href="../../examples/history/index.html">History</a></li><li class="item"><a title="ImageLoader - Functional Examples" href="../../examples/imageloader/index.html">ImageLoader</a></li><li class="selected "><a title="IO - Functional Examples" href="../../examples/io/index.html">IO</a></li><li class="item"><a title="JSON (JavaScript Object Notation) - Functional Examples" href="../../examples/json/index.html">JSON</a></li><li class="item"><a title="Queue - Functional Examples" href="../../examples/queue/index.html">Queue</a></li><li class="item"><a title="Stylesheet - Functional Examples" href="../../examples/stylesheet/index.html">Stylesheet</a></li><li class="sect">YUI 3 Widgets - Examples</li><li class="item"><a title="Overlay - Functional Examples" href="../../examples/overlay/index.html">Overlay</a></li><li class="item"><a title="Slider - Functional Examples" href="../../examples/slider/index.html">Slider</a></li><li class="sect">YUI 3 Node Plugins - Examples</li><li class="item"><a title="FocusManager Node Plugin - Functional Examples" href="../../examples/node-focusmanager/index.html">FocusManager Node Plugin</a></li><li class="item"><a title="MenuNav Node Plugin - Functional Examples" href="../../examples/node-menunav/index.html">MenuNav Node Plugin</a></li><li class="sect">YUI 3 CSS - Examples</li><li class="item"><a title="YUI CSS Reset - Functional Examples" href="../../examples/cssreset/index.html">CSS Reset</a></li><li class="item"><a title="YUI Fonts - Functional Examples" href="../../examples/cssfonts/index.html">CSS Fonts</a></li><li class="item"><a title="YUI Base - Functional Examples" href="../../examples/cssbase/index.html">CSS Base</a></li><li class="sect">YUI 3 Developer Tools - Examples</li><li class="item"><a title="Console - Functional Examples" href="../../examples/console/index.html">Console</a></li><li class="item"><a title="Profiler - Functional Examples" href="../../examples/profiler/index.html">Profiler</a></li><li class="item"><a title="Test - Functional Examples" href="../../examples/test/index.html">Test</a></li><li class="sect">The YUI Community</li><li class="item"><a title="The Yahoo! User Interface Blog" href="http://yuiblog.com">YUI Blog (external)</a></li><li class="item"><a title="The Yahoo! Group YDN-JavaScript hosts the YUI community forum" href="http://tech.groups.yahoo.com/group/ydn-javascript/">YUI Forum (external)</a></li><li class="item"><a title="The Yahoo! Group yui3 is dedicated to the 3.x branch of the Yahoo! User Interface (YUI) Library." href="http://tech.groups.yahoo.com/group/yui3/">YUI 3 Forum (external)</a></li><li class="item"><a title="YUI is used by Yahoo! and by hundreds of other sites, including many you know and love." href="/yui/poweredby/">YUI Sightings (external)</a></li><li class="item"><a title="Videos and podcasts from the YUI Team and from the Yahoo! frontend engineering community." href="http://developer.yahoo.com/yui/theater/">YUI Theater (external)</a></li><li class="sect">YUI Articles on the YUI Website</li><li class="item"><a title="Answers to Frequently Asked Questions about the YUI Library" href="http://developer.yahoo.com/yui/articles/faq/">YUI FAQ (external)</a></li><li class="item"><a title="Yahoo!'s philosophy of Graded Browser Support" href="http://developer.yahoo.com/yui/articles/gbs/">Graded Browser Support (external)</a></li><li class="item"><a title="Reporting Bugs and Making Feature Requests for YUI Components" href="http://developer.yahoo.com/yui/articles/reportingbugs/">Bug Reports/Feature Requests (external)</a></li><li class="item"><a title="Serve YUI source files from Yahoo! -- free, fast, and simple" href="http://developer.yahoo.com/yui/3/articles/hosting/">Serving YUI Files from Yahoo! (external)</a></li></ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   389
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   390
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   391
	</div><!--closes bd-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   392
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   393
	<div id="ft">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   394
        <p class="first">Copyright &copy; 2009 Yahoo! Inc. All rights reserved.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   395
        <p><a href="http://privacy.yahoo.com/privacy/us/devel/index.html">Privacy Policy</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   396
            <a href="http://docs.yahoo.com/info/terms/">Terms of Service</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   397
            <a href="http://docs.yahoo.com/info/copyright/copyright.html">Copyright Policy</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   398
            <a href="http://careers.yahoo.com/">Job Openings</a></p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   399
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   400
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   401
<script src="../../assets/dpSyntaxHighlighter.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   402
<script language="javascript"> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   403
dp.SyntaxHighlighter.HighlightAll('code'); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   404
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   405
</body>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   406
</html>