I. Extensible Markup Language (XML)
1.2 XML Data Model and Syntax
1.3 Document Type Definition, DTD
1.4 Extensible Stylesheet Language (XSL)
II. The Web Query Language (WQL)
2.1 Data Model
2.2 WQL Query Structures
2.3 Structuring the Output in WQL
III. XML Query Language (XML-QL)
3.1 Data Model and Syntax
3.2 Types of Queries
IV. Implementation of WQL Queries with Relational Output
4.1 Structure and Syntax applied for implementation
4.2 Query examples
4.3 Transforming a WQL Query with Relational Output to XML-QL
VI. Structured WQL Output Implementation
5.1 Transforming WQL Query to XML-QL
5.2 Merging Structured Output
5.3 Implementation of Merge in Structuring tree
VII. Displaying The Result of a WQL query
6.1 Reformatting Output for display
6.2 Generating Stylesheet (XSL) File
This thesis discusses querying web documents written in XML (Extensible Markup Language), the relatively new web standard for data and database documents. We use the application of WQL (Web Query Language) for queries. Implementation is built over the XML-QL (XML query language) query engine. Formatting techniques are applied to display resulting XML document with the web browser MSIE5+ (Microsoft Internet Explorer 5 or greater). For now, the current version of MSIE is 5.5. Two programs are written in C programming language. The first converts WQL queries to XML-QL for running them in UNIX environment. The second transforms XML-QL output and generates stylesheet to display the resulting XML document.
We begin with an overview of XML, and show why XML, its extensions, and like languages tend to replace HTML in web documents . We give a brief description of XML Data model and some details of XML components: DTD, Document Type Definition, and XSL, Extensible Stylesheet Language. Next, we describe WQL Data Model, as the combination of a tree representation and predicates, and show WQL query and output structures. XML-QL tools are chosen for executing WQL queries. Therefore, a brief explanation of XML-QL Data Model, syntax and query structures are given then.
The last three chapters include implementation of WQL queries, formatting, and displaying results. We start with observation of implementation of WQL queries with flat, relational, output. We give a transformation algorithm to run WQL queries over the XML-QL engine, where WQL queries, at first, have to be converted to XML-QL queries. Next, we discuss implementation of WQL queries with a structured output. In addition to transformation, we apply merging techniques for resulting XML document. A merge algorithm is represented then. Finally, we give the algorithm and examples of implementation of displaying XML output document (WQL query result), that is generation an XSL stylesheet.
We conclude with a discussion of possible future work on WQL applications, which use XML-QL or other XML query tools.