Recent Updates:
Showing posts with label ICT & COMPUTING. Show all posts
Showing posts with label ICT & COMPUTING. Show all posts

The Overview of Computer Networking

Networking engineering is a complicated task, which involves software, firmware, chip level engineering,

Networking engineering is a complicated task, which involves software, firmware, chip level engineering, hardware, and electric pulses. To ease network engineering, the whole networking concept is divided into multiple layers. Each layer is involved in some particular task and is independent of all other layers. But as a whole, almost all networking tasks depend on all of these layers. Layers share data between them and they depend on each other only to take input and send output.

Layered Tasks
In layered architecture of Network Model, one whole network process is divided into small tasks. Each small task is then assigned to a particular layer which works dedicatedly to process the task only. Every layer does only specific work.

In layered communication system, one layer of a host deals with the task done by or to be done by its peer layer at the same level on the remote host. The task is either initiated by layer at the lowest level or at the top most level. If the task is initiated by the-top most layer, it is passed on to the layer below it for further processing. The lower layer does the same thing, it processes the task and passes on to lower layer. If the task is initiated by lower most layer, then the reverse path is taken.

Layered Tasks
Every layer clubs together all procedures, protocols, and methods which it requires to execute its piece of task. All layers identify their counterparts by means of encapsulation header and tail.

OSI Model
Open System Interconnect is an open standard for all communication systems. OSI model is established by International Standard Organization (ISO). This model has seven layers:

OSI Model
Application Layer
This layer is responsible for providing interface to the application user. This layer encompasses protocols which directly interact with the user.

Presentation Layer
This layer defines how data in the native format of remote host should be presented in the native format of host.

Session Layer
This layer maintains sessions between remote hosts. For example, once user/password authentication is done, the remote host maintains this session for a while and does not ask for authentication again in that time span.

Transport Layer
This layer is responsible for end-to-end delivery between hosts.

Network Layer
This layer is responsible for address assignment and uniquely addressing hosts in a network.

Data Link Layer
This layer is responsible for reading and writing data from and onto the line. Link errors are detected at this layer.

Physical Layer
This layer defines the hardware, cabling wiring, power output, pulse rate etc.

Internet Model
Internet uses TCP/IP protocol suite, also known as Internet suite. This defines Internet Model which contains four layered architecture. OSI Model is general communication model but Internet Model is what the internet uses for all its communication.The internet is independent of its underlying network architecture so is its Model. This model has the following layers:

Internet Model
Application Layer
This layer defines the protocol which enables user to interact with the network. For example, FTP, HTTP etc.

Transport Layer
This layer defines how data should flow between hosts. Major protocol at this layer is Transmission Control Protocol (TCP). This layer ensures data delivered between hosts is in-order and is responsible for end-to-end delivery.

Internet Layer
Internet Protocol (IP) works on this layer. This layer facilitates host addressing and recognition. This layer defines routing.

Link Layer
This layer provides mechanism of sending and receiving actual data. Unlike its OSI Model counterpart, this layer is independent of underlying network architecture and hardware.

What is Computer Network Topology?

network topology is the arrangement with which computer systems or network devices are connected to each other. Topologies may define both physical and logical aspect

A network topology is the arrangement with which computer systems or network devices are connected to each other. Topologies may define both physical and logical aspect of the network. Both logical and physical topologies could be same or different in a same network.

Point-to-point networks contains exactly two hosts such as computer, switches or routers, servers connected back to back using a single piece of cable. Often, the receiving end of one host is connected to sending end of the other and vice-versa.

If the hosts are connected point-to-point logically, then may have multiple intermediate devices. But the end hosts are unaware of underlying network and see each other as if they are connected directly.

Bus Topology
In case of Bus topology, all devices share single communication line or cable. Bus topology may have problem while multiple hosts sending data at the same time. Therefore, Bus topology either uses CSMA/CD technology or recognizes one host as Bus Master to solve the issue. It is one of the simple forms of networking where a failure of a device does not affect the other devices. But failure of the shared communication line can make all other devices stop functioning.

Bus Topology
Both ends of the shared channel have line terminator. The data is sent in only one direction and as soon as it reaches the extreme end, the terminator removes the data from the line.

Star Topology
All hosts in Star topology are connected to a central device, known as hub device, using a point-to-point connection. That is, there exists a point to point connection between hosts and hub. The hub device can be any of the following:

Layer-1 device such as hub or repeater
Layer-2 device such as switch or bridge
Layer-3 device such as router or gateway

Star Topology
As in Bus topology, hub acts as single point of failure. If hub fails, connectivity of all hosts to all other hosts fails. Every communication between hosts, takes place through only the hub.Star topology is not expensive as to connect one more host, only one cable is required and configuration is simple.

Ring Topology
In ring topology, each host machine connects to exactly two other machines, creating a circular network structure. When one host tries to communicate or send message to a host which is not adjacent to it, the data travels through all intermediate hosts. To connect one more host in the existing structure, the administrator may need only one more extra cable. Failure of any host results in failure of the whole ring.Thus, every connection in the ring is a point of failure. There are methods which employ one more backup ring.

Mesh Topology
In this type of topology, a host is connected to one or multiple hosts. This topology has hosts in point-to-point connection with every other host or may also have hosts which are in point-to-point connection to few hosts only. Hosts in Mesh topology also work as relay for other hosts which do not have direct point-to-point links. Mesh technology comes into two types:

Full Mesh: All hosts have a point-to-point connection to every other host in the network. Thus for every new host n(n-1)/2 connections are required. It provides the most reliable network structure among all network topologies.

Partially Mesh
Not all hosts have point-to-point connection to every other host. Hosts connect to each other in some arbitrarily fashion. This topology exists where we need to provide reliability to some hosts out of all.

Tree Topology
Also known as Hierarchical Topology, this is the most common form of network topology in use presently.This topology imitates as extended Star topology and inherits properties of bus topology.

This topology divides the network in to multiple levels/layers of network. Mainly in LANs, a network is bifurcated into three types of network devices. The lowermost is access-layer where computers are attached. The middle layer is known as distribution layer, which works as mediator between upper layer and lower layer. The highest layer is known as core layer, and is central point of the network, i.e. root of the tree from which all nodes fork.

All neighboring hosts have point-to-point connection between them.Similar to the Bus topology, if the root goes down, then the entire network suffers even though it is not the single point of failure. Every connection serves as point of failure, failing of which divides the network into unreachable segment.

Daisy Chain
This topology connects all the hosts in a linear fashion. Similar to Ring topology, all hosts are connected to two hosts only, except the end hosts. Means, if the end hosts in daisy chain are connected then it represents Ring topology.

Hybrid Topology
A network structure whose design contains more than one topology is said to be hybrid topology. Hybrid topology inherits merits and demerits of all the incorporating topologies.

Hybrid Topology
The above picture represents an arbitrarily hybrid topology. The combining topologies may contain attributes of Star, Ring, Bus, and Daisy-chain topologies. Most WANs are connected by means of Dual-Ring topology and networks connected to them are mostly Star topology networks. Internet is the best example of largest Hybrid topology

The Definition and Evolution of the Internet

The Internet also referred to as the net, in simplest terms, consists of large a group of millions of computers around the world that are connected to one another. It is a network of networks that consists of millions of private, public, academic, business, and government networks, local to global scope, that are linked by a broad array of electronic, wireless and optical networking technologies such as phone lines, fibre optic lines, coaxial cable, satellites, and wireless connections.
The Internet seems to be everywhere today with many people and devices connected to it. When connected to the Internet people can access services such as online shopping, listen to radio and TV broadcast, chat, and send mail, access information, read newspaper and so on. Today Internet is not only accessed from regular stationary computer but also from mobile / portable devices such as Personal Digital Assistants (PDAs), cell phones, netbook, iPod, iPad, Palm Pilots and others.
The Internet originated as a proposal from the Advanced Research Project Agency (ARPA). The idea was to see how computers connected in a network i.e. (ARPANET) could be used to access information from research facilities and universities. In 1969, four computers (located at UCLA, Stanford Research Institute, University of California Santa Barbara and the University of Utah) were successfully connected. As time went on, other networks were connected. With four nodes by the end of 1969, the ARPANET spanned the continental United States (US) by 1971 and had connections to Europe by 1973. Though the Interconnected Network, or Internet, was originally limited to the military, government, research, and educational purposes it waseventually opened to the public. Today there are hundreds of millions of computers and other devices connected to the Internet worldwide. Other definitions that are closely related to the term Internet are intranet and extranet.

The term “Intranet” is used to describe a network of personal computers(PC) without any personal computers on the network connected to the world outside of the Intranet. The Intranet resides behind a firewall; if it allows access from the Internet, it becomes an Extranet. The firewall helps to control access between the intranet and Internet so that only authorised users will have access to the Intranet. Usually these people are members of the same company or organisation. Like the Internet itself, intranets are used to share information. Secure intranets are now the fastest-growing segment of the Internet because they are much less expensive to build and manage than private network based on proprietary protocols.
Extranets are becoming a very popular means for business partners to exchange information. An Extranet is a term used to refer to an intranet that is partially accessible to authorised outsiders. Privacy and security are important issues in extranet use. A firewall is usually provided to help control access between the Intranet and Internet. In this case, the actual server will reside behind a firewall. The level of access can be set to different levels for individuals or groups of outside users.
Internet Access
In order to have access to the vast resources on the Internet, you need to connect your computer to a computer system that is already on the Internet, usually one run by an Internet Service Provider (ISP). There are four major ways of connecting a client (user) computer to the vast resources on the Internet; these are by a dial-up connection using a telephone line or an Integrated Services Digital Network (ISDN), a Digital Subscriber Line (DSL), a cable TV connection or a satellite connection. While rural users may consider installing a satellite dish for Internet connections, urban users may have access to wireless connections. In most offices, users connect their computers via a localarea network (LAN) connected to the Internet. Similarly, in many home, users are beginning to connect their computers into Internet-connected LANs, too. The Dial-up access gives a low speed connection to the Internet. High-speed Internet connections, which include DSL, ISDN, leased lines, cable Internet, and satellite, are called broadband connections
Dial-up Connection
Dial-up Internet access is a form of Internet access that uses the facilities of the public switched telephone network (PSTN) to establish a dialed connection to an Internet service provider (ISP) via telephone lines. The user’s computer or router uses an attached modem to encode and decode Internet Protocol packets and control information into and from analog audio frequency signals, respectively. The term “Dial-up Internet access” was coined during the early days of computer telecommunications when modems were needed to connect terminals or computers running terminal emulator software to mainframes, minicomputers, online services and bulletin board systems via a telephone line. To use a dial-up account, you need a modem.
A modem (modulator-demodulator) is a device that modulates an analogcarrier signal to encode digital information, and demodulates such a carrier signal to decode the transmitted information. To distinguish dial up modems from newer, high-speed modems, they are could also be called analog modems or dial-up modems. Most computers come with an internal modem and most ISPs support modems at speeds of 28.8 kilobits per second (Kbps) and 56 Kbps. With dial-up, you connect only when you want to use Internet services and disconnect (hang up) when you are done. This type of data transmission is similar to using thetelephone to make a call. The client computer modem dials the preprogrammed phone number for a user’s Internet Service Provider (ISP) and connects to one of the ISP’s modems. Once the ISP has verified the user's account, a connection is established and data can be transmitted. The communication ends when either modem hangs up.
Dial-up connections is not expensive (it costs no more than a local telephone call) but the speed is usually low at about 28kps – 46kps because of the limitations of analog phone lines and telephone company switches.
Integrated Services Digital Network (ISDN) is a set of communications standards for simultaneous digital transmission of voice, video, data, and other network services over the traditional circuits of the publicswitched telephone network. It allows dial up into the Internet at speeds ranging from 64 to 128 kbps. For this connection to be available, telephone companies would have to install special ISDN digital switching equipment. The ISDN service intended for residential use is Basic Rate Interface (BRI). On one ISDN line, BRI provides two 64-Kbps channels, or B (bearer) channels, and one 16-Kbps channel, or D(data) channel. The D channel is mostly used for signalling such as to indicate that the line is busy. The B channels are where the action is. Two B channels can be combined to have a 128-Kbps line to theInternet. This is roughly twice the speed of the fastest analogue modem,56 Kbps. To connect to your ISP via ISDN you need to confirm the availability of the access and this will require you to have an ISDN adapter. ISDN lines are more expensive than normal phone lines, so the telephone rates are usually higher.
Cable TV Connection
This is a connection made to the Internet via a Cable TV modem. The modem is designed to operate over cable TV lines. Since the coaxial cable used by cable TV provides much greater bandwidth than telephone lines, a cable modem can be used to achieve extremely fast speed as high as 128 kbps to 10 mbps to the World Wide Web. This combined with the fact that millions of homes are already wired for cable TV in developed countries has made the cable modem something of a holy grail for Internet and cable TV companies. The services offered are usually at low cost for unlimited, “always connected” access. However, there are a number of technical difficulties in this type of connection. The problem is that the cable network was designed to move information in one direction, from the broadcaster to the user.
Downstream speeds have been very impressive such that the line can theoretically bring you data as fast as 30 Mbps but upstream speed depends on line quality. The Internet, however, is a two-way system where data also need to flow from the client to the server. In addition, it is still unknown whether the cable TV networks can handle the traffic that would ensue if millions of users began using the system for Internet access. Large cable companies are spending money to upgrade their networks to Hybrid Fiber-Coaxial (HFC) to handle two way traffic better. Smaller providers cannot afford the upgrade, so they have to use a phone line at 28.8 Kbps for upstream data. Another issue bothers on security and the need to either share or not share files amongst users.
DSL (Digital Subscriber Line)
Digital Subscriber Line (DSL) is a family of technologies that provides digital data transmission over the wires of a local telephone network. DSL service is delivered simultaneously with regular telephone on the same telephone line. DSL uses a different part of the frequency spectrum from analogue voice signals, so it can work in conjunction with a standard analogue telephone service, providing separate voice and data “channels” on the same line.
SDSL (Symmetric DSL) is the type of DSL that offers the same bandwidth capability in both directions while ADSL (Asymmetric DSL) is the type of DSL that provides different bandwidths in the upgue telephone service, providing separate voice and data “channels” on the same line. SDSL (Symmetric DSL) is the type of DSL that offers the same bandwidth capability in both directions while ADSL (Asymmetric DSL) is the type of DSL that provides different bandwidths in the upstream and downstream directions. Most DSL lines are actually ADSL (Asymmetric DigitalSubscriber Line). ADSL is optimised for the way many people use the
Internet: more downloads than uploads. The line is asymmetric, because it has more capacity for data received by your computer (such as graphics, video, audio, and software upgrades) than for data that you send (such as e-mail and browser commands). The data through put of  consumer DSL services typically range from 256 kbit/s to 40 Mbit/s in the direction to the customer (downstream), depending on DSL technology, line conditions, and service-level implementation. In ADSL, the data throughput in the upstream direction, (i.e. in the direction to the service provider) is lower, hence the designation of asymmetric service. In Symmetric Digital Subscriber Line (SDSL) service, the downstream and upstream data rates are equal. Unlike cable modem technology, DSL provides a point-to-point connection to ISP. Somehow, this technology seems to be both more secure and less prone to local traffic fluctuations than its cable rival.
Digital Satellite Connection
Digital Satellite Systems (DSS), or direct broadcast satellite, allows one to get Internet information via satellite. Satellite Internet systems are an excellent, although rather costly, option for people in rural areas where Digital Subscriber Line (DSL) and cable modem connections are not available. A satellite installation can be used even where the most basic utilities may be lacking, if there is a generator or battery power supply that can produce enough electricity to run a desktop computer system. The two-way satellite Internet option offers an always-on connection that bypasses the dial-up process. In a two-way satellite Internet connection, the upstream data is usually sent at a slower speed than the downstream data arrives. Thus, the connection is asymmetric. A dish antenna, measuring about two feet high by three feet wide by three feet deep, transmits and receives signals. Uplink speeds are nominally 50 to 150 Kbps for a subscriber using a single computer. The downlink occurs at speeds ranging from about 150 Kbps to more than 1200 Kbps, depending on factors such as Internet traffic, the capacity of the server.The main advantage of the Satellite technology over cable modems and DSL is accessibility. Satellite connections are faster than dial up and ISDN. Although it is not as fast as cable modems or DSL services, which both can provide more than megabits of bandwidth. In addition, cable and DSL access methods are cheaper.Equipment required for satellite connection includes installation of a mini-dish satellite receiver and a satellite modem. Satellite systems are also prone to rain fade (degradation during heavy precipitation) and occasional brief periods of solar interference.
The Internet has remained a dominant means of communication over the past decade. It represents one of the most remarkable developments in the technological history of the world. It began as a medium for exchanging files by academia and has become a nearly ubiquitous phenomenon that has transformed almost every aspect of daily life. The Internet has made information available in a quick and easy manner, publicly accessible and within easy reach via the connections infrastructure discussed in this unit. In the next unit, we shall look at some of the services available on the Internet and the enabling protocols. The general rule about the Internet connection is “the faster, the better.”
The bandwidth and transfer rate determine how quickly pictures, sounds, animation and video clips will be downloaded. Since multimedia and interactivity make the Internet such an exciting tool for information sharing, the speed is the key. Dial-up access provides an easy and inexpensive way for users to connect to the Internet, however, it is a slow-speed technology and most users are no longer satisfied with dial up or ISDN connections. Fortunately, the broadband access, we once dreamed of, is now possible with TV cable, DSL and satellite links.

  • Behrouz, A. F. (2003). Data Communications and Networking. (3rd ed.). N.Y, USA: McGraw-Hill/Osborne.
  • Brian, et al.(1999). Using Information Technology: A Practical Introduction to Computers and Communication. Irwin/McGraw Hill.
  • Terry, F-M. (2009). Web Development and Design Foundations with XHTML. USA: Pearson .
  • Katarzyna J. M. “Internet and You: Connecting to the Internet.”
  • L. & Mathew, L. (1999). Fundamentals of Information Technology. New Delhi: Vikas Publishing House PVT LTD.
  • Andy, S. (1999).Computer Communications, Principles and Business Applications. (2nd ed.). England: McGraw-Hill.

How to Create Console Assemblies

Console applications are the kind of executables that you would use to create a command line utility. The command line utility could be dir or xcopy. Actually many ad-hoc C# projects are console applications. The C# source code shown in Figure 1 will calculate how many rabbits you get after a certain number of generations (assuming ideal circumstances, of course).

Figure 1 above is an example of a console application. If you build this application you can run it from the command line, and pass it an argument indicating the number of generations you would like to calculate.
Building a Console Application File
To build this file using the command line compiler you would use the following command.
C:\>csc Rabbit.cs
You will notice that it is not necessary to use the /Target switch like it was when we built the source code. This is because the default assembly built by the C# compiler is a console executable.This is how you build a console application; simple stuff!
However, the Rabbits.cs sample also shows some interesting things about C# in general, so we will highlight them hereLike our last application, Rabbits.cs defines a class (arbitrarily named App) which defines an entry point function named Main().
The Main() method in Rabbits.cs does something a little different by taking a parameter defined as an array of String objects. These are the command line arguments passed to the program.
Rabbits.cs uses structured exception handling to handle errors. This is the try-catch code block that surrounds the bulk of the application. You will notice from this sample that C# uses C syntax for its loop constructs. The while loop syntax in Rabbits.cs, is exactly what it would be in C, C++, or Java.
The sample code in Figure 1 uses the static WriteLine() method of the Console type defined in the Framework Class Library to output text to the console window. Notice that an instance of the Console type was not necessary to call the method. This is because WriteLine() is defined as a static method.
This sample uses a numeric type called Decimal which allows us to calculate many more generations than we would be able to do with a 32-bit integer value. The Decimal type is well suited for financial and scientific applications.
Rabbits.cs is an iterative Fibonacci calculator. Its’ written this way just for fun. There is nothing about C# that would prohibit you from implementing this algorithm using recursion.
Building and Running a Console Application
1. The source code in Figure 1 Rabbits.cs is a console Fibonacci number generator written in C#.
2. Type in or copy the source code and save it in a .cs file.
3. Compile the source code using the command line compiler.
a. Hint: The line that you would use to compile this application is as follows.
c:\>csc Rabbit.cs
4. Run the new executable.
In this treatise, we learnt that Console applications are the kind of executables that you would use to create a command line utility. The command line utility could be dir or xcopy. We equally identified the steps required to build and run a console application. We have considered the concept of console application, the types of command line utility and a classic example of a console application. We equally identified the steps required to build and run a console application.
  • Microsoft. September 4, 2003."Visual Standard" (JPEG).
  • Microsoft (June 18, 2009) C# Language Reference.
    10.O' Reilly. (2002).C# Language Pocket Reference. ISBN 0-596-00429-X.
  • Petzold, Charles (2002). Programming Microsoft Windows with C#. Microsoft Press. ISBN 0-7356-1370-2.
  • Steinman, Justin (November 7, 2006). "Novell Answers Questions from the Community".
  • Stallman, Richard (June 26, 2009). "Why free software shouldn't depend on Mono or C#".
  • Simon, Raphael; Stapf, Emmanuel; Meyer, Bertrand (June 2002). "Full Eiffel on the .NET Framework".
  • "The ECMA C# and CLI Standards". 2009-07-06
  • Archer, Tom (2001). Inside C#. Microsoft Press. ISBN 0-7356-1288-9.
  • Cornelius, Barry (December 1, 2005). "Java 5 catches up with C#". University of Oxford Computing Services.
  • Ecma International. June 2006.C# Language Specification (4th ed.).
    Guthrie, Scott (November 28, 2006). "What language was ASP.Net originally written in?"
  • Hamilton, Naomi (October 1, 2008). "The A-Z of Programming Languages: C#". Computerworld.
  • Horton, Anson (2006-09-11). "C# XML documentation comments FAQ".
  • Kovacs, James (September 07, 2007). "C#/.NET History Lesson".

Internet Users Increased from 108.4 to 111.6 Billion in Nigeria

The data showed that overall internet users increased to 111,632,516 in December 2018 from the 108,457,051 recorded in November 2018, showing an increase of 3,175,465 new subscribers.
Christian 24 Library Image_ICT_0008

According to the data, Airtel, MTN and Globacom gained more internet subscribers during the month under review, while 9mobile was the biggest loser.

The breakdown revealed that MTN gained the more with 2,221,153 new internet users in December 2018, increasing its subscription to 43,899,957 as against 41,678,804 in November 2018.

Internet users in Nigeria increased marginally to more than 111.6 million in December 2018, the Nigerian Communications Commission has said. The NCC made this known on Monday in its Monthly Internet Subscribers Data for December posted on its website.

The Overview of XML

XML permits documents authors to create markup (that is, text-based notation for describing data) for virtually any type of information. This enables document authors to create entirely new markup languages for describing any type of data, such as mathematical formula, software configuration instructions, chemical molecular structures, music, new recipes and financial reports.
XML describes data in a way that both human beings and computer can understand. XML is not a replacement for HTML. HTML is about displaying information, while XML is about carrying information. XML uses tags to structure data. The tags are not predefined- every developer is expected to define his/her tags. XML is designed to be self-descriptive. Tags are markup construct that begins with "<" and ends with ">". Tags come in three flavours: start-tags, for example <section>, end-tags, for example </section>, and empty-element tags, for example <line-break />. An element’s start and end tags enclose text that represents a piece of data.
Every XML document must have exactly one root element that contains all the other elements. XML documents may begin by declaring some information about themselves, as in the following example.
<?xml version="1.0" encoding=" ISO-8859-1" ?>
Now let us take a look at this simple XML code below:
Example 1:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Christian 24 >Christian 24 Library>
</Online Community>
From the codes above, XML did nothing at all. It is just information wrapped in tags. Someone must write a piece of software to send, receive or display it. The first line of code tells the version and character encoding being used by this XML document. The second line of code tells what kind of information or XML document. The XML applications that will use the codes in example 1, will looked at the root or parent tag in the XML document.
Here, it is <MyPersonalDetails >, which is not defined by XML. XML allows authors to create their own XML tag to be used in each document. XML, like any other languages, is capable of having two or more child tags or commonly known as nested tags. The <FullName> tag has three child tags, so on and so forth.
Also, XML tags are case sensitive. Meaning we cannot declare
< MyPersonalDetails > opening tag with a closing tag of
</myPersonalDetails >. Opening and closing tags must be written with
the same case:
Creating and Modifying XML Documents
XML allows one to describe data precisely in a well-formed format. XML document are highly portable. Any text editor such notepad of software that supports ASCII/Unicode characters can open XML documents for viewing and editing. An XML document is created by typing XML codes into a text editor and then save the document with a filename and a .xml extension. Most Web browsers can display XML documents in a formatted manner that shows the XML’s structure.
Processing XML Documents
To process an XML document, you would need an XML parser (or XML processor). A parser is software that checks that the document follows the syntax rules specified by the W3C’s XML recommendation and makes the document’s data available to application. A parser would for example check an XML document to ensure that there is a single root element, a start tag for each element, and properly nested tags (that is, the end tag for a nested element must appear before the end tag of the enclosing element).
Furthermore, XML is case sensitive, so the proper capitalisation must be used in elements as in Example 1. A document that conforms to this syntax issaid to be a well-formed XML document and is syntactically correct. If an XML parser can process an XML document successfully, that XML document is well-formed. Parsers can provide access to XML-encoded data in well-formed document only. Often XML parsers are built into software or available for download over the Internet. Examples of parser include Microsoft XML Core Services (MSXML), Xerces Expat and so on.
Validating XML Documents
In addition to being well formed, an XML document may be valid. This means that it contains a reference to a Document Type Definition (DTD) and that its elements and attributes are declared in that DTD and follows the grammatical rules for them that the DTD specifies. A DTD is an example of a schema or grammar.
Since the initial publication of XML 1.0, there has been substantial work in the area of schema languages for XML. Such schema languages typically constrain the set of elements that may be used in a document, which attributes may be applied to them, the order in which they may appear, and the allowable parent/child relationships. When an XML document references DTD or a schema, some parsers (called validating parsers) can read the DTD/Schema and check that theXML conforms to the DTD/Schema, the XML document is valid. For example, if in Figure 2.1 we were referencing DTD that specifies that BirthDate element must have Month, Date and Year, then the exclusion of Year element would invalidate the XML document detail2.xml.
However, the XML document would still be well formed, because it follows proper XML syntax (that is, it has one root element, each element has a start tag and an end tag, and the element are nested properly). By definition, a valid XML document is well formed.
Parsers that cannot check for document conformity against DTDs/schemas are nonvalidating parsers- they determine only whether an XML document is well-formed, not whether it is valid. Schema are XML documents themselves, whereas DTDs are not. XML processors are classified as validating or non-validating depending on whether or not they check XML documents for validity. A processor that discovers a validity error must be able to report it, but may continue normal processing.
Formatting and Manipulating XML Documents
XML document can be manipulated to appear differently on several devices. For example, the way XML document renders on Personal Digital Assistants (PDAs) is different from Desktop computers. Most XML documents contain only data. They do not include formatting instructions, so applications that process XML documents must look forhow to process, manipulate or display the data. Extensible Stylesheet
Language (XSL) can be used to specify rendering instructions for different platforms. XML-processing programs can also search, sort and manipulate XML data using XSL. Other popular XML-related technologies are: XPath XML Path Language (XPath), which is used for accessing parts of an XML document, XSL Formatting Objects (XSL-FO), which is a XML vocabulary used to describe document formatting, and XSL Transformations-language (XSLT) used for transforming XML documents into other documents.
Viewing an XML Document in Web Browser
Example 1 shows a simple listing of a text file for detail2.xml. This document does not contain formatting information for the detail2.xml. This is because XML is a tool for describing the structure, storage and transferring of data across disparate format/sources. Formatting and displaying data from an XML document is achieved in different ways within specific application platform. For instance, when the user loads detail2.xml in the Internet Explorer, MSXML (Microsoft XML Core Services) or Firefox, it will be parsed and display the document data. Each browser has a built-in style sheet to format the data.

The XML document will be displayed with colour-coded root and child elements. A plus (+) or minus sign (-) to the left of the elements can be clicked to expand or collapse the element structure. To view the raw XML source (without the + and - signs), select “View Page Source” or “View Source” from the browser menu.
Although these symbols are not part if the XML document, both browser place them next to every container element. A minus sign indicates that the browser is displaying the container element child element. Clicking the minus sign next to an element collapses that element (that is, it causes the browser to hide the container element’schildren) and replace the minus sign with a plus).
Conversely, clicking the plus sign next to an element expands the elements (that is, it causes the browser to display the container elements children and replace the plus sign with a minus sign).
This behaviour is similar to viewing the directory structure on one’s system in Windows Explorer or another similar directory viewer. In fact, a directory structure often is modelled as a series of tree structure in which the root of the tree represents a disk drive for instance C: and nodes in the tree represent directories. Parsers often store XML data as tree structure to facilitate efficient
Within the last two decades of the introduction of XML, it has been used to create hundreds of languages which include XHTML, WSDL for describing available web services, WAP and WML as markup languages for handheld devices, RSS languages for news feeds, RDF and OWL for describing resources and ontology, SMIL for describing multimedia for the web etc. In addition, XML-based formats have become the default for most office-productivity tools, including Microsoft Office (Office Open XML) and Apple's iWork.
XML describes data in a way that both human beings and computer can understand. It enhances the storage and exchange of data amongst disparate computer systems. So far you have learnt how to create, modify, validate, format, process and view XML documents in a browser.
Terry, F-M. (2009). Web Development and Design Foundations with     XHTML. USA : Pearson International Edition.
Deitel, P. J. & Deitel, H.M. (2008). Internet and World Wide Web: How to Program. (4th ed.). New Jersey, USA: Pearson Prentice Hal.