Oulun yliopisto - Etusivulle University of Oulu in English

ee.oulu.fi

Electrical and Information Engineering

Faculty of Technology > Electrical and Information Engineering > Computer Engineering Laboratory


COMPUTER ENGINEERING LABORATORY

[This page is CSS2 enabled. Your browser might not fully support it]

XML Project-Work topics help

$RCSfile: index.html,v $ $Revision: 1.0 $ $Date: 2006/09/05 11:36:39 $

Introduction

XML is makup language designed to describe data and to write documents that contains structured information. Structured information contains both the content and information of what is this content or how is related with other content. A markup language is a mechanism to define this kind of structures in a document.

XML defines a generic syntax used to mark up data with human readable text tags. Actually is just that, a syntax definition. You must use this syntax to create your own tags, that is, your own grammar.

In this short document I am going to try to explain some fields where XML is used, giving some links to practical examples.

Uses of XML

  1. Configuration files: All currents applications need a file to store general or particular user settings. Configuration files are used for definining user applications, server processes and operating system settings. In the last few years, XML is being used oftener and oftener as language to write these configuration files. Writing configuration files using XML instead of plain text has the advantages of having a well defined structure and a possibility of validate the file to check if the syntax is correct. Some real life examples of configuration files that uses xml:
  2. CMS (Configuration Management System): CMS are applications to create, organize, administrate and publish content in some place. It makes easier, for example, the collaborative creation of contents. There are many kinds of uses for CMS. Here are some of them:
    • Web content management systems: assist in developing several aspects of web design. It usually contents a data backend (database or xml) where your content is stored, a data display component (usually templates) which allow to render the webpage in the browser as you like and a data administration component which allows you to administrate all the site. One example is Lenya framework .
    • CMS to manage enterprise documents and content.Help to keep ordered all documentation of an enterprise in a repository. One example is Daisy. Daisy is a document repository and a Wiki frontend based on Java XML
    • Publication Management Systems: assist in the creation and publication of documents. It allows to create content and give them format. We can see the process for the creation of a document using publication management system like 3 steps process: assemble, format and generate. Nowadays there are several applications that use XML to publish a document:
      • DocBook. Is a schema, available for XML Schema and DTD, to define documents. It is specially suited for books and papers about hardware and software. You can find an example in the 3rd set of slides of the course.
      • ODF(OASIS Open Document Format)is an open format for saving and interchanging al kind of office documents. It includes text documents, spreadsheets, drawings, presentations and more. With this standard you can read any document created by one application in another application, whenever both implement ODF standar.
    • Document imaging systems: assist in the creation of images using XML. One example is SVG (Scalable Vector Graphics). This language describes 2D images vector graphics either static or animated. You can have a lot of examples here or here
    • Creation of GUI (Graphical User interfaces): With XML is very easy to create a GUI. All the GUI can be seen as a set of boxes and subboxes, so it is very easy to implement it using XML. There are several tools that builds GUI from XML. One of them, for example is JEasy or Java GUI Builder. You can find an example of GUI generated XML here
  3. Description of abstract languages: There are abstract languages that can be described easily using XML. For example, you can represent mathematics symbols and formula using MathML or you can write a score for a song using MusicXML. Some examples: MathXML here; a score using MusicXML here
  4. Interfaces between different systems and platforms.: Imagine you want to share some information from your enterprise to another one. If they use different platforms to create and store their information they cant share directly their information. They need an interface. They can agree that before sending their documents they need to transform them in a format which both can understand. This new format can be created using XML. You can find an example of this in the set of slides 3B.

    Another example is RSS(Really Simple Syndication). RSS allows users to subscribe to one webpage that changes constantly (for example a blog). Everyday he will receive an RSS file with the last changes made in the page (for example new posts of a blog). The user have a RSS reader which gives format to the XML RSS file to be readed easily by humans. The reader can be implemented at any platform. The webpage just need to implement a system which transforms new webpage contents into XML. You can find one RSS sample file here.
  5. Communications between systems: In communication networks, different devices, using different platforms needs to communicate one each other. We need to define a standard to communicate devices using different platforms. This standard is easily implemented using XML. Nowadays there are different communications protocols that uses XML. Some examples are: SOAP(the specifications are here) that is a protocol to exchange XML messages over a computer networks and WSDL that is a protocol to define the services needed on how to communicate using the web service (protocols needed, message formtas). You can find a SOAP example in the 3rd set of slides and one WSDL example here

    Another example is XMLHttpRequest. XMLHttpRequest object is an interface exposed by a scripting engine that allows scripts to perform HTTP client functionality, such as submitting form data or loading data from a server. All data send from the server is encapsulated in XML. Nowadays this standard is gaining fame because is used in AJAX, a web development technique for creating interactive web applications in client side.
  6. Programming games scenarios.: In the video games world is getting more and more common give the posibility to the player to customize the game. The player can create new characters with different abilities, create his own scenarios and so on. Some games offer the possibility of doing this by creating or modifying an XML file. Games such as "Age of Mithology" or "Civilization IV" has this possibility. There is one consortium (the XML Game Consortium or XGC ) which mission is create XML specifications to describe and script games engines.
  7. Geography Markup Languages: GML is an XML grammar to defined by the Open Geospatial Consortium (OGC) to express geographical features. Parameters such as coordinates, places, areas can be set using this standard. You can find one XML file that uses GML here.
  8. Web applications Until now each browser interpreted HTML in different ways. Sometimes we need to create different pieces of code for each browser. With XML we have one application that manage the data and each browser will have an stylesheet to apply the adequate style. In that way, for example, if we want that our application runs on WAP we only need to create an stylesheet to show the page in an adequate way. There is a XML based language to describe stylesheets: XSL You can find an example of using XSL here
  9. Repository: Implementing a repository is the first idea you can have due to the tree structure of a XML document. You can find a lot of examples of this applications. You can design cd catalogues, book catalogues, phone directories, inventaries ... and everything you can invent and that can be stored in a database.

You can find a lot of files written in XML in http://www.xmlpitstop.com/ListExamples/DispContentType/XML/PageNumber/1.aspx.

As you can see you can implement with XML almost everything you can imagine. All data you can use in one application can be converted in XML format.

Note:Please, if you find any broken link please inform me at ivan[at]ee.oulu.fi.

[This page is CSS2 enabled. Your browser might not fully support it]