02Geek HTML5 and JavaScript, TypeScript, React, Flash, ActionScript online School
Previous VideoPrevious Video

Looping XML

<p>Now that we're somewhat familiar with the way <a href="/courses/video/47/373/JavaScript.html">javascript</a> scripts are written, let's look at an example for loading and processing an XML document from inside a script.</p> <p>Consider the following scenario: Swimming centers and metropolitan corporations within New York City (NYC) are submitting statistics of swimming courses taken by children below the age of 12. The NY State swimming academy is collecting these statistics (that are uploaded to the web) and feeding them to XML document processing software. We are all aware that there are four basic swimming styles: freestyle, back-stroke, butterfly and breast-stroke.</p> <p>Suppose that for each style of swimming, the names of institutes and number of young trainees in that particular style of course being offered by this institute, are stored in a swimming.xml file:</p> <p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;</p> <p>&lt;swimming&gt;</p> <p>&lt;style name=&quot;Freestyle&quot;&gt;</p> <p>&lt;tute type=&quot;Manhattan Swim Institute&quot;&gt;335&lt;/tute&gt;</p> <p>&lt;tute type=&quot;Brooklyn Swim Academy&quot;&gt;400&lt;/tute&gt;</p> <p>&lt;tute type=&quot;Long Island Swim Coaching&quot;&gt;555&lt;/tute&gt;</p> <p>&lt;/style&gt;</p> <p>&lt;style name=&quot;Back-Stroke&quot;&gt;</p> <p>&lt;tute type=&quot;Manhattan Swim Institute&quot;&gt;245&lt;/tute&gt;</p> <p>&lt;tute type=&quot;Brooklyn Swim Academy&quot;&gt;300&lt;/tute&gt;</p> <p>&lt;tute type=&quot;Long Island Swim Coaching&quot;&gt;165&lt;/tute&gt;</p> <p>&lt;/style&gt;</p> <p>&lt;style name=&quot;Butterfly&quot;&gt;</p> <p>&lt;tute type=&quot;Manhattan Swim Institute&quot;&gt;200&lt;/tute&gt;</p> <p>&lt;tute type=&quot;Brooklyn Swim Academy&quot;&gt;350&lt;/tute&gt; </p> <p>&lt;tute type=&quot;Long Island Swim Coaching&quot;&gt;150&lt;/tute&gt; </p> <p>&lt;/style&gt; </p> <p>&lt;style name=&quot;Breast-Stroke&quot;&gt; </p> <p>&lt;tute type=&quot;Manhattan Swim Institute&quot;&gt;150&lt;/tute&gt; </p> <p>&lt;tute type=&quot;Brooklyn Swim Academy&quot;&gt;300&lt;/tute&gt; </p> <p>&lt;tute type=&quot;Long Island Swim Coaching&quot;&gt;400&lt;/tute&gt; </p> <p>&lt;/style&gt; </p> <p>&lt;/swimming&gt; </p> <p>The Javascript written to process this XML document would be written as shown below: </p> <p>&lt;script&gt; </p> <p>function loadXML(path){ </p> <p>//javascript code for loading XML documents from a file path name </p> <p>}</p> <p>var xml = loadXML(&quot;swimming.xml&quot;); </p> <p>var style = xml.documentElement.childNodes; </p> <p>var tutes; </p> <p>for(var i=0; i&lt;style.length; i++){</p> <p>if(style[i].nodeName != &quot;#text&quot;){ </p> <p>document.write('&lt;h2&gt;' + style[i].attributes.name.value + &quot; training institutes are&quot; + '&lt;/h2&gt;'); </p> <p>tutes = style[i].childNodes();</p> <p>for(var j=0; j&lt;tutes.length; j++){</p> <p>if(tutes[i].nodeName != &quot;#text&quot;){ </p> <p>document.write('&lt;h1&gt;' + tutes[j].attributes.type.value + '&lt;/h1&gt;'); </p> <p>}</p> <p>} </p> <p>}</p> <p>document.write('&lt;br/&gt;'); </p> <p>}</p> <p>&lt;/script&gt; </p> <p>This script outputs statistics regarding which institutes offer courses in each of the four swimming styles, as well as the number of trainees enrolled for each. You must verify that the output generated by this script in the browser is consistent with the intention we stated earlier. As Donald Knuth , the famous algorithmist said: &quot;Test the code. I have merely proved it correct. It may not execute as expected!&quot; So practice and verification are as important as, if not more so than actual coding. </p> <p>Note that we have formatted the information being output by using <a href="/html5/101.html">HTML</a> tags embedded in quotes. This example highlights the real advantage of separating content from the application: XML for storing information, and <a href="/courses/video/47/365/XML-Overview-and-Context.html">XML</a> for formatting &amp; rendering it through scripts.</p>

Overview and Context of XML

We will learn about the historical perspective and overview of the XML standard. The main focus is on Information organization and cross platform usage

12:47

XML Elements

The first step in learning about how XML documents are structured is to get familiar with elements, the basic components of an XML document.

08:22

XML Nested Elements

Nested elements allow for complex data to be represented effortlessly in an XML document.

09:19

Attributes

Attribute-value pairs are an alternative to nesting of elements in an XML document. We'll see the pros and cons of this feature

08:12

More Then Just Leftovers

Comments, White-space, Special characters, Version Information and Parser by-passing content; we discuss what these constructs are and how to use them effectively

13:54

XML Validation

XML documents should be well formed structure- and content-wise for applications to be configured and behave properly. We discuss an analogy with a real life scenario to highlight the point

08:17

E4X – ActionScript 3.0

We describe the importance and beneficial features of E4X library, and why it should be used in browsers at the earliest

24:56

XML DOM

An XML document is often pictured as an inverted nodes (elements) tree and connected nodes have a relation between them. DOM allows the program to traverse and retrieve these related nodes.

11:12

JavaScript

We describe the basic syntax of Javascript to load XML documents in client-side applications

13:51

Looping XML

We describe the looping constructs of PHP scripting language and how they can be used to parse and render XML information in client software

14:19

XML as a Remote

We describe the utility of XML for the modern web, especially when there's a plethora of programming languages and platforms and how XML builds several bridges

09:19

Loading XML in PHP

We describe how to load XML documents into server side applications in the PHP scripting language

04:57

Elements and Attributes in PHP

We describe how to access elements and attribute values while processing XML content via PHP scripts in server-side software

04:44

foreach

We describe the foreach looping construct in PHP and also how it can be used to process XML documents in server-side software

07:01

PHP XML compare

We describe how to compare XML document components and content in different documents having the same syntax

05:08

Modifying XML

We describe how to modify the content of XML documents in PHP : insertion/deletion/update operations in server-side applications

08:34