<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Querying XML With Lambda Calculi</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Pavel</forename><surname>Loupal</surname></persName>
							<email>loupalp@fel.cvut.cz</email>
							<affiliation key="aff0">
								<orgName type="department">Dept. of Computer Science</orgName>
								<orgName type="institution">FEE CTU Prague</orgName>
								<address>
									<addrLine>Karlovo nám. 13</addrLine>
									<postCode>121 35</postCode>
									<settlement>Prague</settlement>
									<country key="CZ">Czech Republic</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Querying XML With Lambda Calculi</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">E6FA4560347F76991F074E5A789C8645</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T07:35+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The aim of this paper is to outline an uniform functional approach useful both for constructing query languages for XML and also for formal description of their semantics. This framework offers an alternative way to today's mainstream query languages -XPath and XQuery. With respect to the goal of the VLDB PhD Workshop it is focused more on the concept than on the complete solution.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">XML and Query Languages</head><p>No doubt XML <ref type="bibr" target="#b3">[4]</ref> is nowadays moving the world and thus not surprisingly it might be found almost everywhere. Querying XML data is the essential operation for many algorithms and therefore many researchers focus on this field. Mainstream query languages -XPath <ref type="bibr" target="#b4">[5,</ref><ref type="bibr" target="#b6">7]</ref>, used for locating nodes in an XML instance, and XQuery 1.0 <ref type="bibr" target="#b2">[3]</ref> (more or less a SQL-like language) -are the results developed by the wide community of contributors.</p><p>The XML specification itself does not define any data model for XML instances therefore successive query languages had to define a theoretical base for their syntax and semantics. XPath 1.0 is based on the XML Infoset <ref type="bibr" target="#b7">[8]</ref>, XQuery 1.0 grounds on a newly developed "XQuery 1.0 and XPath 2.0 Data Model" <ref type="bibr" target="#b11">[12]</ref>. Based upon this data model its semantics is formally described in <ref type="bibr" target="#b9">[10]</ref>.</p><p>There are various different query languages for XML -especially those used as predecessors of XQuery -e.g. Lorel <ref type="bibr" target="#b0">[1]</ref>, Quilt <ref type="bibr" target="#b5">[6]</ref> or XML-QL <ref type="bibr" target="#b8">[9]</ref>.</p><p>From our perspective one of the most interesting languages is the SXML framework. It seems to be the only framework for manipulating XML in a functional Proceedings of the VLDB2006 Ph.D. Workshop, Seoul, <ref type="bibr">Korea, 2006</ref> way. The goal of its authors is to implement some of W3C standards -XML, XPath, XSLT -in the Scheme language <ref type="bibr" target="#b10">[11]</ref>. SXML takes in account only first versions of these specifications but not the latest drafts. The main components of the project are SSAX, SXML, SXPath, and SXSLT <ref type="bibr" target="#b12">[13,</ref><ref type="bibr" target="#b13">14]</ref>.</p><p>The key idea is the usage of S-expressions. Sexpressions are known from the LISP language where there can be either single objects such as numbers, LISP atoms including the special atoms or pairs. The framework claims its fully conformant to XML specification. Regarding to <ref type="bibr" target="#b12">[13]</ref> there is a formal algorithm how to rewrite XPath queries to SXPath expressions with identical semantics. SXSLT is apparently an implementation of XSLT 1.0 semantics. Unfortunatelly from published papers it is not exactly obvious that the full XSLT standard was implemented, authors only mention their experiments with real XML documents.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Motivation</head><p>Evolution of a query language usually brings some changes in its syntax or/and the semantics. For example, the progress from XPath 1.0 to XPath 2.0 (i.e. sub-specification of XQuery 1.0) brought a new data model for XML. It was a logical and necessary step forced by requirements given for the new language. Our idea is to use such formalism (formal system) as a base for the language that is universal enough to avoid big changes when enriching the language with new constructs. Therefore the idea of a functional approach combined together with basic lambda calculi operations (lambda abstractions and lambda applications) seems to be very simple and not restrictive, rather it allows to be easily extended in the future.</p><p>Our work tries to link to the idea of the XML-λ Framework (see Section 3), explore it further and study its various aspects from different points of view. Its author already identified some issues and drawbacks of the framework. We see one of the biggest issues the missing comparison of the proposed query language with the XQuery language. The question of expressive power of these two languages is very chal-lenging because these approaches represent different formal systems and seems to be not solved yet.</p><p>To lay out more specific goals for our consecutive work we formulate the following aims: (a) Utilize the XML-λ Framework for formal description of XQuery semantics, (b) Construct a XQuery-to-XML-λ query compiler (and vice-versa) and compare expressive power of XQuery and XML-λ query languages, (c) Evaluate functional approach for various aspects related to querying XML.</p><p>3 The XML-λ Framework XML-λ framework is an idea of using functional approach together with lambda calculi <ref type="bibr" target="#b1">[2]</ref> and utilize it for querying XML data. The proposal was originally developed by Pokorný <ref type="bibr" target="#b15">[16,</ref><ref type="bibr" target="#b16">17]</ref>.</p><p>The following sections outline the theoretical base of the XML-λ Framework and the query language built upon it. In Section 3.3 we show an example of a query evaluation.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Concept</head><p>The type system is built on base B -a set containing a finite number of base types S 1 , . . . , S k (k ≥ 1). Type hierarchy is then created by following inductive definition:</p><p>Type System T . Let B is a set of primitive types S 1 . . . S n , n ≥ 1. Type System T over base B is the least set containing types given by 1.-4. Subsequently we define a regular type system T reg that extends type system T with regular constructs: Type System T reg . Let B= {String, Bool}, let N AM E be a set of names. Type System T reg is the least set containing types given by 1.-6.</p><p>1. Every member of the base B is an (primitive) type over B.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">named character data:</head><p>Let tag ∈ N AM E. Then tag : String is an (elementary) type over B, tag : is an (empty elementary) type over B.</p><p>3. Let T be a group type or named character data. Then</p><p>• zero or more: T * is a type over B.</p><p>• one or more: T + is a type over B.</p><p>• zero or one: T ? is a type over B.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">alternative:</head><p>Let T 1 and T 2 be types. Then (T 1 |T 2 ) is a type over B.</p><p>5. sequence: Let T 1 , . . . , T n be types. Then (T 1 , . . . , T n ) is a type over B.</p><p>6. named type: Let T be a type given by a step from 3.-5. Let tag ∈ N AM E. Then tag : T is a type of B.</p><p>Note here that this type system T reg is still suitable to describe types not only in a concrete data structure (in our case tree structure) but for all data that might be tagged with name -for example data accordant to the relational model.</p><p>Having the T reg type system we have to extend it to be able to work with XML data. We build the type system T E induced by T reg . Key idea is to define abstract elements that are particular XML elements with some content and also define a set containing all abstract elements within an XML instance -E .</p><p>Type System T E . Let T reg over base B be a type system from definition 3.1 and E is the set of abstract elements. Then type system T E induced by T reg is the least set containing type given by this rule:</p><formula xml:id="formula_0">• Let tag : T ∈ T reg . Then T AG : T is a member of T E .</formula><p>(Replacement of all tags in tag : T by upper case version)</p><p>Note one remark: we can see the type system T E as function container that adds functions for extracting data values from elements (via abstractions and projections) with two ways</p><formula xml:id="formula_1">• simple element: if tag : String ∈ T reg , then (E → tag : String) ∈ T E • compound element: if tag : T ∈ T reg , then (E → T ) ∈ T E</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">XML-λ Query Language</head><p>A typical query has a main (body) part -an expression to be evaluated over data -and a constructor part that wraps query result and forms the XML output. XML-λ's Query Language (XLQL) is based on λ-terms defined over the type system T E . Main constructs of the language are variables, constants, tuples, use of projections and λ-calculus operations -abstractions and applications. Tagged terms might be used for declaring functions. Syntax of this language is similar to λ-calculus expression thus queries are structured as λ-expresions, i.e. λ . . . (λ . . . (expression) . . .). In addition, there are also typical constructs such as logical connectives, constants or comparison predicates.</p><p>XML-λ Query Language is inductively defined as the least set containing all terms created by application of following rules:</p><p>Let T, T 1 , . . . , T n , n ≥ 1 be members of T . Then Simple implementation of this language is available in <ref type="bibr" target="#b17">[18]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">Example of a Query</head><p>Following example should give more detailed view to an evaluation of a XML-λ query. Let us consider the DTD and a conforming XML instance as shown in Figure <ref type="figure" target="#fig_0">1</ref> and Figure <ref type="figure" target="#fig_1">2</ref> and a query that will return first names of all authors mentioned in the document. Solution First we specify a set E of all abstract elements contained in XML instance as follows (note that subscripts are here only to distinguish abstract elements of the same type):  Evaluation of this query takes place in following way: this query is composed of one high-level λ-term and contains two variables called a and f . Navigation over the structure of elements is implemented as continuous λ-applications combined with projections (performed by element name). When evaluating the value of the query first the value of a is evaluated (note that /book/author(a) is syntactically equivalent to author(book(a))). This term is evaluated using sequent application of book and author functions. Then the variable a contains an abstract element of type author. We apply to this element function author that returns a n-tuple of elements from E. Last step is projection from this n-tuple into the first component. The result of this operation is a particular abstract element.</p><formula xml:id="formula_2">&lt;!ELEMENT book (author+, title, price)&gt; &lt;!ELEMENT author (first, last)&gt; &lt;!ELEMENT first (#PCDATA)&gt; &lt;!ELEMENT last (#PCDATA)&gt; &lt;!ELEMENT title (#PCDATA)&gt; &lt;!ELEMENT price (#PCDATA)&gt;</formula><formula xml:id="formula_3">E = {book, author 1 , f irst 1 , last</formula><p>Hereby we receive the output (without enveloping elements): Jaroslav, Karel.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4">Utilizing the Functional Approach</head><p>In the previous sections we describe a query language based on the XML-λ Framework. It uses functions as a data model for XML documents and lambda calculi abstractions and applications for development of a query language suitable for querying XML.</p><p>Beside that we can also use this data model for different purposes. Due to universality of the λ-calculus, we can construct a language for modifying XML data. Generally it means performing changes (additions/removals) in the set E of abstract elements for a particular XML instance and eventual changes in the type system T E . With this approach we can also be able to express integrity constraints for XML data. This research direction however lays out of scope of this paper.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Relationship Between XQuery and XML-λ</head><p>XQuery <ref type="bibr" target="#b2">[3]</ref> is a mainstream language for querying XML. The language uses expressions as its fundamental constructs. Basic expressions are literals and variables, for navigating in XML documents it uses XPath expressions. Related specification <ref type="bibr" target="#b14">[15]</ref> contains an extensive list of predefined numeric, arithmetic, string or date-time functions. One important type of expression are the FLWOR expressions. FLWOR is a shortcut for For, Let, Where, Order-By, Return statements that are used in the same way as in imperative languages. This type of expression is sometimes compared to SQL SELECT statement known from relational databases.</p><p>The goal of our research is to explore the relationship between XQuery and XML-λ. Thus, in XQuery we can write a query returning all first names in our bibliography database in following way: We want to show that all queries in XQuery can be rewritten into XML-λ and vice-versa. This claim should be backed by formal description of denotational and operational semantics of both languages and by finding a transformation between semantic subtrees of all language constructs.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Future Work</head><p>Future work should lead into a successful completion of the dissertation thesis. Therefore we need to define concrete tasks and formulate consecutive experiments.</p><p>The proposed dissertation thesis investigates an utilization of the λ-calculus based framework for description of query language semantics. We plan to formulate both denotational and structured operational semantics of the XQuery language. Having this formalism available we will compare the expressive power of these languages and further study their properties. Our primary aim is to define the existing semantics of XQuery in a functional way as a base for ongoing experiments and then compare their expressive power by finding transformations between queries in XQuery and XML-λ.</p><p>There are two concrete ongoing tasks -specification of XQuery semantics by using the XML-λ Framework and consecutive construction of transformation engine for converting XQuery and XML-λ queries.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Specification of XQuery Semantics Using λ-calculus</head><p>The functional approach applied in XML-λ might be used not only for constructing a query language but also for a different purpose -description of semantics of various query languages. Within our research we want to describe the semantics of the mainstream XML query language XQuery with help of the functional approach based on λ-calculus -XML-λ. Taking into account the type system used we expect the semantics to be easier to express in comparison with existing W3C semantics. With respect to the scope of the XQuery semantics specification this topic represents a complex theoretical research.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Bi-directional Transformation of XQuery and XML-λ Queries</head><p>Expression of the XQuery semantics with help of λ-calculus gives us an opportunity to compare expressive power of XQuery and XML-λ. Because of the fact that the semantics of XML-λ query language is closely related to its syntax we can propose a method for conversion of queries based on language's semantics. The result of this aim is to have a transformation engine and its implementation for converting XQuery queries in XML-λ and vice-versa available. The conversion process is generally a transformation of an input semantic tree in one language to an output semantic tree in the other language.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusion</head><p>This paper outlines a framework for querying XML data based on a functional approach combined with lambda calculi operations. The functional approach is not common nowadays but offers a universal way that might be used as a base for constructing various query languages for XML. Beside that it can be also used for specifying semantics of these languages. Having the semantics formalized with the same tool we can compare their expressive power and evaluate their relationship.</p><p>For consecutive work to lead into a dissertation thesis we plan to describe semantics of XQuery using the functional framework. With this formalism we can construct a XQuery-to-XML-λ compiler (and viceversa) by transformation of respective semantic trees. These transformations describe relationships between various language constructs. With knowledge of these relationships we can then compare XQuery's expressive power with a query language based on lambda calculi.</p><p>The main contribution of the thesis should be seen in using functional approach for description of XQuery semantics and for evaluation of properties of lambda calculi based framework and its suitability for querying XML.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: A Document Type Definition Example</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: An XML instance Upon this base we construct type system T E of functions based by given XML schema (in our case DTD). See the list of types available: BOOK : (AU T HOR+, T IT LE, P RICE), AU T HOR : (F IRST, LAST ), F IRST : String, LAST : String, T IT LE : String, P RICE : String Now, let us have a look at the following simple query solving our example: λf (/book/author(a) and a/f irst = f )</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head></head><label></label><figDesc>&lt;result&gt; { for $x in doc("bib.xml")/book/author return ( &lt;fname&gt; {$x/first/text()} &lt;/fname&gt;) } &lt;/result&gt; A query with the same semantics but written in XML-λ has (of course) different syntax as shown below: xmldata("bib.xml") lambda fname f (/book/author(a) and a/first = f) Both queries however return the same result: &lt;result&gt; &lt;fname&gt; Jaroslav &lt;/fname&gt; &lt;fname&gt; Karel &lt;/fname&gt; &lt;/result&gt;</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>1. variable: each variable of type T is a term of type T 2. constant: each constant (member of F) of type T is a term of type T 3. application: if M is a term of type ((T 1 , . . . , T n ) → T ) and N 1 , . . . , N n are (in the same order) types T 1 , . . . , T n , then M (N 1 , . . . , N n ) is a term of type T 4. λ-abstraction: if x 1 , . . . , x n are distinct variables of types T 1 , . . . , T n and M is a term of type T , then λx 1 , . . . , x n (M ) is a term of type ((T 1 , . . . , T n ) → T ) 5. n-tuple: if N 1 , . . . , N n are terms of types T 1 , . . . , T n , then (N 1 , . . . , N n ) is a term of type (T 1 , . . . , T n ) 6. projection: if (N 1 , . . . , N n ) is a term of type (T 1 , . . . , T</figDesc><table /><note>n ), then N 1 , . . . , N n are terms of types T 1 , . . . , T n 7. tagged term: if N is a term of type N AM E and M is a term of type T then N : T is a term of type (E → T ).</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head></head><label></label><figDesc>1 , author 2 , f irst 2 , last 2 , name, price}</figDesc><table><row><cell>&lt;book&gt;</cell></row><row><cell>&lt;author&gt;</cell></row><row><cell>&lt;first&gt; Jaroslav &lt;/first&gt;</cell></row><row><cell>&lt;last&gt; Pokorny &lt;/last&gt;</cell></row><row><cell>&lt;/author&gt;</cell></row><row><cell>&lt;author&gt;</cell></row><row><cell>&lt;first&gt; Karel &lt;/first&gt;</cell></row><row><cell>&lt;last&gt; Richta &lt;/last&gt;</cell></row><row><cell>&lt;/author&gt;</cell></row><row><cell>&lt;title&gt; XML Technology &lt;/name&gt;</cell></row><row><cell>&lt;price&gt; 155.00 &lt;/price&gt;</cell></row><row><cell>&lt;/book&gt;</cell></row></table></figure>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Acknowledgements</head><p>This research has been partially supported by M ŠMT under research program MSM 6840770014.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">The Lorel query language for semistructured data</title>
		<author>
			<persName><forename type="first">S</forename><surname>Abiteboul</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Quass</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mchugh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Widom</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">L</forename><surname>Wiener</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal on Digital Libraries</title>
		<imprint>
			<biblScope unit="page" from="68" to="88" />
			<date type="published" when="1997">1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Lambda calculi with types</title>
		<author>
			<persName><forename type="first">H</forename><surname>Barendregt</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Background: Mathematical Structures) and 2 (Background: Computational Structures</title>
				<editor>
			<persName><surname>Abramsky</surname></persName>
		</editor>
		<editor>
			<persName><surname>Gabbay</surname></persName>
		</editor>
		<editor>
			<persName><surname>Maibaum</surname></persName>
		</editor>
		<meeting><address><addrLine>Clarendon</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1992">1992</date>
			<biblScope unit="volume">1</biblScope>
		</imprint>
	</monogr>
	<note>Handbook of Logic in Computer Science</note>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">XQuery 1.0: An XML Query Language</title>
		<author>
			<persName><forename type="first">S</forename><surname>Boag</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Chamberlin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">F</forename><surname>Fernández</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Florescu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Robie</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Simeon</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/xquery/" />
		<imprint>
			<date type="published" when="2005-09">September 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">Extensible markup language</title>
		<author>
			<persName><forename type="first">T</forename><surname>Bray</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Yergeau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Cowan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Paoli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">M</forename><surname>Sperberg-Mcqueen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Maler</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/2004/REC-xml11-20040204/" />
		<imprint>
			<date type="published" when="2004-02">February 2004</date>
			<biblScope unit="volume">1</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">XML Path Language (XPath) 2</title>
		<author>
			<persName><forename type="first">D</forename><surname>Chamberlin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Berglund</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">A</forename><surname>Scott Boag</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/xpath20/" />
		<imprint>
			<date type="published" when="2005-09">September 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Quilt: An XML query language for heterogeneous data sources</title>
		<author>
			<persName><forename type="first">D</forename><surname>Chamberlin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Robie</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Florescu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">WebDB, Lecture Notes in Computer Science</title>
		<imprint>
			<date type="published" when="1997">1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m" type="main">XML Path Language (XPath) 1.0</title>
		<author>
			<persName><forename type="first">J</forename><surname>Clark</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Derose</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/xpath" />
		<imprint>
			<date type="published" when="1999-11">November 1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">XML information set</title>
		<author>
			<persName><forename type="first">J</forename><surname>Cowan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Tobin</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/" />
		<imprint>
			<date type="published" when="2004-04">April 2004</date>
		</imprint>
	</monogr>
	<note>second edition</note>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">XML-QL: A query language for XML</title>
		<author>
			<persName><forename type="first">A</forename><surname>Deutsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">F</forename><surname>Fernandez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Florescu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">Y</forename><surname>Levy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Suciu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The Query Language Workshop (QL)</title>
				<meeting><address><addrLine>Cambridge, MA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">XQuery 1.0 and XPath 2.0 formal semantics</title>
		<author>
			<persName><forename type="first">D</forename><surname>Draper</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Fankhauser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Fernández</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Malhotra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Rose</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Rys</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Siméon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Wadler</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/xquery-semantics/" />
		<imprint>
			<date type="published" when="2005-09">September 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m" type="main">The Scheme Programming Language</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">K</forename><surname>Dybvig</surname></persName>
		</author>
		<ptr target="http://www.scheme.com/tspl3/" />
		<imprint>
			<date type="published" when="2003">2003</date>
			<publisher>The MIT Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">XQuery 1.0 and XPath 2.0 Data Model</title>
		<author>
			<persName><forename type="first">M</forename><surname>Fernández</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Malhotra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Marsh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Nagy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Walsh</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/xpath-datamodel/" />
		<imprint>
			<date type="published" when="2005-09">September 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">SXML specification</title>
		<author>
			<persName><forename type="first">O</forename><surname>Kiselyov</surname></persName>
		</author>
		<ptr target="http://okmij.org/ftp/Scheme/SXML.html" />
		<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">SXPath: XPath made functional</title>
		<author>
			<persName><forename type="first">K</forename><surname>Lisovsky</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Lisp Conference ILC 2003</title>
				<meeting><address><addrLine>New York, US</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003-10">October 2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<title level="m" type="main">XQuery 1.0 and XPath 2.0 Functions and Operators</title>
		<author>
			<persName><forename type="first">A</forename><surname>Malhotra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Melton</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Walsh</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/xpath-functions/" />
		<imprint>
			<date type="published" when="2005-09">September 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">XML functionally</title>
		<author>
			<persName><forename type="first">J</forename><surname>Pokorný</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of IDEAS2000</title>
				<editor>
			<persName><forename type="first">B</forename><forename type="middle">C</forename><surname>Desai</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Y</forename><surname>Kioki</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Toyama</surname></persName>
		</editor>
		<meeting>IDEAS2000</meeting>
		<imprint>
			<publisher>IEEE Comp. Society</publisher>
			<date type="published" when="2000">2000</date>
			<biblScope unit="page" from="266" to="274" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">XML-λ: an extendible framework for manipulating XML data</title>
		<author>
			<persName><forename type="first">J</forename><surname>Pokorný</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of BIS 2002</title>
				<meeting>BIS 2002<address><addrLine>Poznan</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<monogr>
		<title level="m" type="main">Implementation of the XML lambda language</title>
		<author>
			<persName><forename type="first">P</forename><surname>Šárek</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
			<pubPlace>Prague</pubPlace>
		</imprint>
		<respStmt>
			<orgName>Dept. of Software Engineering, Charles University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Master&apos;s thesis</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
