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

Attributes

We were briefly introduced to the concept of element attributes in an earlier section, where an attribute is placed in the start tag of an element. An attribute describes a property of the element, along with a relevant value (generally in the context of an application.) If we observe carefully the logic behind organizing XML document elements as tree structures, we can see a duality between nested elements and element attributes.

For example, consider the monkey-business XML document of the previous topic, describing nested element structures. It can be reorganized to have fewer elements, overall (and thus, a less-deeper rooted tree) to look something like this:

<monkey-business venture-name="Simian Platform" />

<monkey-role title="Production Damager" name="KingKong" responsibility="Stop-erations" subordinates="Jerks" />

<monkey-role title="Deceptionist" name="Dunston" responsibility="Curt-essy" />

</monkey-business>

Of course, the smart reader will easily understand that the same information can be reorganized in several different ways by choosing various combinations of element nesting and attribute identification. The choice is up to the document author what he wants to put where, but there is also a method to the madness, as we shall see below.

One obvious difference between the 2 styles is that using attributes reduces the clutter in the XML document, with far lesser elements and much less nesting involved. The element "monkey-role" has no nested elements in the second example, whereas it had 3 to 4 elements nested inside in the first one. Because of this space conservation benefit, time efficiency and readability are achieved almost every time in all scenarios, why have nested elements at all? After all, isn't it excellence that we are always after?

The choice should, however, be context-specific. Although nesting elements has the above disadvantages, it is in fact preferable in several contexts. Since attributes are embedded within the start tags as properties, in several contexts they cannot be extracted with ease by an application. But the most important determinant is that sometimes, within an outer element, we want to have multiple elements of the same category, such as <monkey-role> in our example. If such an element was never unique, then we cannot use it effectively as an attribute of <monkey-business>! So it clearly depends on what the application's behavior will be, and how to model that behavior in the information.

Just as there are no pre-defined limits on the number of nested elements inside a containing element, there are none on the number of attribute-value pairs in an XML element. Only limits on the system govern these extreme bounds.

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