You are here

Introduction

15 January, 2016 - 09:45

Nowadays, exchanging information plays a crucial role in both human communication and business tasks realization. More and more often, this process is performed with usage of computer systems. However, their variety, resulting from differences in time of their creation, exploited tools and platforms, enforces a necessity to their integration to achieve effective co-operation of business entities. Unfortunately, such computer systems contain data in incompatible formats and large amounts of information must be converted. Moreover, in the newly created software, an idea of outsourcing of functionality can be observed, what entails a need for an access to the same data by different applications. Cooperation of sales systems with one invoice system is a great example of such situation.

The aforementioned systems collaboration requires standardization of the exchanged data. The XML language is one of the most popular standards used for this purpose. XML data is stored in a plain text format independent from a software and hardware, making a process of creating data that is intended to be shared by different applications, easier.

XML is the meta-language for structured data description. There are no mandatory objects defined, only a set of rules of their creation. This is a reason why there are many fields of XML usage. For example it is used in financial and economic institutions of European Union. Furthermore, text editors, like MS Word (Rice, 2006), allow for saving documents in XML format, which is utilized in many companies to write their internal documentation and in social life for exchanging documents between citizens and offices.

For these reasons, knowledge concerning rules of constructing XML documents, ability to analyse their content and ways of their storage seems to be worth acquiring.

XML document consists of data described in accordance with the defined XML format and has to meet specified conditions to be regarded as correct. XML document can be analyzed on various levels of abstraction (Bray&Paoli&Sperberg-McQueen, 1998). On the highest level, a document is a tree with at least one, root element consisting of pair of tags - opening <tag> and closing </tag>. Other elements must be located inside the root. Between tags, contents can be placed. Element can be an empty one, which is marked by one tag in form of <empty_element/>.

Further analysis shows that XML document can be treated as a combination of tags and text data. The task of tags is to define can be considered in two terms:

  • document is complete enough to be interpreted by a web browser,
  • document has proper syntax structure.

Creating XML document can be realized with usage of any text editor but more conveniently is to utilize tools dedicated to manage XML files. Among them, for example, there can be enumerated (O’REILLY xml.com):

They differ in various features - some of them have to be paid for and others are free, some of them are difficult in use, and other are easy to exploit. But none of them allows for organizing complete teaching process. Therefore, the possibility of constructing such comprehensive procedure in the MOODLE environment was considered. The goal of the research was to provide the complete tool supporting educational process of XML data management.

Solution of this problem was carried out in accordance with the principles of the major methodologies for software development, taking into consideration the scope of the problem being solved. The particular steps of project development covered:

  • formulating the goal and assumptions of the research,
  • analyzing the field of research and dividing the general knowledge about XML
  • language into groups of issues,
  • specifying the desired functionality in scope of XML data management,
  • developing the algorithms covering given functionality,
  • selecting the technologies needed to achieve the desired results and implementing the appropriate mechanisms.

Thanks to the ability to split the issues concerning the XML language into the smaller subgroups, the principles of Agile software development (Martin, 2002) were applied during the project realization. The effects of each iteration were demonstrated to potential users and their remarks were taken into consideration in subsequent steps. Preliminary results obtained during the research confirmed initial assumptions regarding usability of the elaborated mechanisms, so their evaluation for a wide group of beneficiaries is planned as a future work.

A documentation of work progress and obtained results presented in a chapter has the following structure. The first part includes general information about the MOODLE platform and XML language (Introduction, The MOODLE platform). The second part part, including Defining a structure of an XML document template and Validating solution correctness,presents the original solutions allowing for creation and analysis of XML documents. Point 4.3 describes synonyms defining tools, enhancing flexibility of these mechanisms usage. These issues are also discussed in The synonym block, where the activity of a specially designed block structure is explained. This section provides the mechanisms for creating the individual educational path (point 5) as well.

The third section describes more advanced mechanisms for the XML activity, including both DTDs and XML Schemas. Besides, the mechanisms for XML usage in relational databases are described in the 7th point of the chapter. In the conclusion, the obtained results are summarized and directions for future work are formulated.