<<

WSEAS TRANSACTIONS on COMPUTERS LULE AHMEDI and MENTOR ARIFAJ

Querying XML documents with XPath/XQuery in presence of XLink hy- perlinks

LULE AHMEDI and MENTOR ARIFAJ University of Prishtina, Computer Engineering Kodra e Diellit p.n. 10000 Prishtinë, Kosova {lule.ahmedi | mentor.arifaj}@fiek.uni-pr.edu

Abstract: Nowadays XML documents are prezented into the Web more than ever. Using XLink , a docu- ment can refer different portions of information in different documents into the Web. With XLink hyperlinks the XML documents in the Web can be investigated from querying point of view not just while browsing these docu- ments. There are few implementations regarding XLink recommendation and just two implementations regarding quering XML documents using XPath/XQuery expressions in presence of XLink hyperlinks. On the other side XPath/XQuery has many implementations and wide support from IT leaders in the world. In this paper it is shown another way of using XPath/XQuery to query XML documents in presence of hyperlinks. The paper shows a model and its implementation. To materialize the new model it is used Saxon-B processor, with which was created an ex- tention named BOTA. Prototype BOTA can be used in different web applications and easly can be integrated into Web Services in order to select something more narrow that the whole XML document. The prototype Bota espe- cially can be used in applications with RSS and Atom.

Key-Words: - XML, Querying XML, XLink hyperlinks, XML Applications, LDAP.

1. Introduction terword are mentioned issues left open after XLink rec- Today XML documents into the Web are present more ommendation specially querying XML documents in than ever before.These XML documents are not just presence of XLink hyperlinks. In order to make possi- standalone documents but using XLink hyperlinks these ble to query XML documents using XPath/XQuery ex- documents referes each other. In this architecture where pression in presence of XLink hyperlinks are proposed files refer each other querying is a necessary in order to several possible access. find right information and remains in an evolving Section tree describes the proposed model. First it was phase. Despite the fact that XLink is a W3C recom- presented that it could be used expressions of XPath mendation since 2001 there are few implementations id() function via XQuery expressions. But due to draw- [17] for it. Based on the investigations there are two backs of the approach it was followed another kind of implementations that querying XML documents in approach. The model makes aware XPath/XQuery pro- presence of XLink hyperlinks using XPath/XQuery ex- cessors for presence of XLink hyperlinks. pressions. On the other side there are wide range of im- Section four presents the implementation of the model plementations regarding XPath/XQuery and these im- using Saxon-B processor creating new prototype named plementations are in different platforms. For BOTA. XPath/XQuery could be said that there are support from And at the end in section five, we discuss about related IT leaders on the world as many of them included work and conclusion of our implementation that it is not XPath/XQuery in their database management systems a duplication of the existing implementations but a [18]. complementary implementation for query interlinking XML documents. 1.1 Structure of the paper Section two presents the current hyperlinks technolo- 1.2 Previous papers gies. On it are mentioned HTML, XPointer and XLink There is a previous paper related to the same model. as main hyperlinks technologies today on the Web. Af- The paper [22] presents the main part of the model, i.e.

ISSN: 1109-2750 1752 Issue 10, Volume 7, October 2008 WSEAS TRANSACTIONS on COMPUTERS LULE AHMEDI and MENTOR ARIFAJ

awaring XPath/XQuery processors for presence of 2. 3 XLink XLink hyperslinks. XML Linking Language (XLink) is WorldWideWeb Consorcium (W3C) recommendation since 27 June 2. technologies and query- 2001 and offers a possibility to create one way hyper- ing issue links and multi-directional hyperlinks. XML elements that are hyperlinks could be into the

same XML document and also could be in diferent doc- XLink or XML Linking Language is a recommendation uments into the Web. from Consorcium since 2001. But For XLink hyperlinks it could be said: there are several technolgies that are related to links into the Web. In this section there are described several • Hyperlinks are designed for use with XML hyperlinking or related technologies and further more • Hyperliks could be multi-directional are discussion about querying XML documents in the • Every XML element could be a hyperlink not just presence of XLink hyperlinks. a predefined element such as “a” element of HTML XLink offers two types of hyperlinks: 2. 1 HTML • XLink simple hyperlinks HTML or is a language • XLink extended hyperlinks basen on SGML with elements into HTML document These two types of hyperlinks support the needs for the starting with a tag “<” and are ending with tag “>”. Web from creating simple hyperlinks like HTML and to HTML offers a fixed vocabulary of elements in order to complicated and sophisticated hyperlinks structure be- describe documents in Web[6] whereas XML offers a tween documents into the Web. replacement of these fixed elements of HTML with a From the database point of view the Web with hyper- set of elements which are specified in a specific appli- links could be seen as a distributed database with hyper- cation[16]. links connecting different porcions of the database ob- HTML hiperlinks are realized in that way that an ele- jects and it could be used to realize queries into it. For ment of a document refers into whole another docu- realizing querying actual technologies are in develop- ment. After creating relations between documents ment or evolving phase [6]. HTML hiperlinks can be used to refer resources such as There needs where distributed XML documents video, figure, audio file [6]. These references are one- into the Web should be presented as an integrated doc- direction hyperlinks [3]. ument and a big XML document should be separated Using an anchor into a document, a part of the HTML into the different parts into the Web. In these cases the document could be refert from other HTM document hyperlinks are playing a significant role connecting but still you can have the whole content of the docu- XML documents and querying these documents is very ment. necessary in order to select only the wanted informa- HTML hyperlinks today are widely used in the Web tion. and also are simple to use. On the other side HTML To distinguish the type of the elements there exist a hyperlinks have some drawbacks among others [7]: type attribute and with “simple” value the XML ele- • Hyperlinks are incorporated into HTML docu- ment forms a simple XLink hyperlink whereas the type ments and cannot be saved outside the documents attribute with “extended” value within XML element • HTML hyperlinks do not offers semantic be- forms an extended XLink hyperlnk. An extended hyper- tween relations of the documents link plays a role as a container for XML sub-elements • HTML hyperlinks create links between two doc- within it in order to create the whole extended hyper- uments link. These sub-elements could be with values of the attribute type with a value “locator”, “resource”, “arc” or “title”. 2. 2 XPointer XML data into the Web could be seen from two points With XPointer could be selected more detail content of view. One is from the Web browsers and the other than XML node level. XPointer could be considert as an point is from the databases. On this paper the XML data extended form of XPath. XPointer it is used with other are seen from the database point of view and how to use recommendations like XLink for realizing hyperlings these data into different applications. between resources [15].

ISSN: 1109-2750 1753 Issue 10, Volume 7, October 2008 WSEAS TRANSACTIONS on COMPUTERS LULE AHMEDI and MENTOR ARIFAJ

2.4 Issuese after XLink be considered as non native XML sytem. Using LDAP XLink defines standard vay of creating hyperlinks into it was done the extention [1, 2] in order to query XML XML documents. But, even XLink is recommendation documents with XLink hyperlinks using XPath. since 2001there are some issuese left open and there Extention of eXist system was done based on logical aren’t any working draft or recommendation from W3C model proposed by Wolfgang May and his colegues [9]. regarding these issues. At the work of [5] are men- eXist is a native XML database written in Java and on it tioned some issues left open after XLink but here could are included many recommendations such as be mention these two: XPath/XQuery, XSL, XML Schema, XInclude [6]. • Presenting hyperlinks while reading with Web browsers 2.5 Existing approach • Realize querying XML documents in presence of In order to make possible to execute query express with XLink hyperlinks XPath/XQuery expression and for XML documents From the point of view of this paper important is issue containing XLink hyperlinks we have several ways to of querying XML documents in presence of XLink hy- follow: perlinks. It is known that XPath/XQuery realize query- • Using XInclude to merge distributed XML doc- ing withing a XML document and there are no any re- uments in a single XML document sponse from W3C how to deal with this issue with • Using distributed queries to query distributed XML documents in presence of XLink hyperlinks. XML documents XLink has few implementations these can be seen from • Using logical model described by May and his official web site [17] of W3C for XLink implementa- colegues [9] tions. Often these implementations are more oriented while browsing rather than dealing with issue of query- 2.5.1 Using XInclude ing XML documents. This fact could be describe that XInclude is a XML based technology with aims to XLink can define a powerfull platform for creating hy- merge diferent XML documents in a single document. perlinks into XML documents and are defined concepts From the perspective of querying XML documents in and mechanisems that are not used enough. But in the presence of XLink hyperlinks it is possible to use XIn- Web data are presented more and more due to change of clude in that way to bring to a single server content of the Web concept from presenting data into the Web to a distributed XML documents in a single document and distributed powerfull database with data widely distrib- to execute query expressed with XPath/XQuery expres- uteded into the Web. So, after that there is a need how sion without the need to extend XPath/XQuery and for to manipulate and how to select presented data into the XLink hyperlinks. Web. Due to wide use of HTML hyperlinks and its XInclude distinguish from XLink in that XLink has not simplicity it could be said that there was a kind of iner- specified any processing model but using attributes of- tia of use new hyperlinks defined by XLink. fers mechanisms for detecting hyperlinks, whereas XIn- XPath/XQuery has many implementations and these clude defines specific processsing model for join infor- implementations are in different platforms. There exist mations. So, for realizing the merging of XML docu- implementations with open source and commercial ments using XInclude it is necessary to have a XInclude uses. Also there are implementations into Database processor. Also, it would be necessary another proces- Management System such as SQL Server 2005, Oracle sor for execution of query expressed with and DB2 this can be concluded directly via official web XPath/XQuery expressions. If it is used this access it is site of the recommendation from W3C [18]. necessary to have two processors one for XInclude and Based on our investigation there are two systems that another for XPath/XQuery. Also there is a question how deals with querying XML documents using XPath or will function two processors together. Base on XIn- (and) XQuery in presence of XLink hyperlinks. These clude [10] recommendation, XInclude has no relation to systems are: DTD and XML Schema and this makes difficult valida- • Extention of LDAP system and tion of new XML document constructed after merging • Extention of eXist system of distributed XML documents. Lightweight Directory Access Protocol (LDAP) pre- At the end, although existence of XInclude technology sents a system that uses other data model rather than and merging possibilities of the XML documents dis- XML data model so based on this LDAP system could tributed on different servers and connected via XLink

ISSN: 1109-2750 1754 Issue 10, Volume 7, October 2008 WSEAS TRANSACTIONS on COMPUTERS LULE AHMEDI and MENTOR ARIFAJ

hyperlinks, in the database perspective this technology pressions. The model was materialized extending eXist has several drawbacks. As a drawback could be absence a native XML database system. of a data model [6], and as another drawback could be that XInclude cannot express reciprocal relations be- 3. Model: Explicitely following hyper- tween recourses [4] and so it is not confortable in the links database environment. As XPath/XQuery is dealing with addressing elements The other drawback in the point of view of our aim is within a XML document and also XPath/XQuery has a the complicated architecture of two different processors widely support from the IT community, our primary if we use XInclude for the aim of extending goal of this paper is to demonstrate a way how to ex- XPath/XQuery and for XLinks, too. tand XPath/XQuery to query XML documents con-

nected via XLink hyperlinks. 2.5.2 Using distributed queries to query distrib- As distributed XML documents could be connected us- uted XML documents ing attribute :href defined by XLink recommenda- The term of distributed query means a query that will tion , this attribute gjeneraly it is expressed using ex- return a result from distributed XML documents. Real- pression 1. izing of distributed queries could be done in different Expression 1: xlink:href = uri-reference way such as: Further more expression 1 could be expressed into two • Bringing all data from different XML documents parts the part and the fragment part as in expression in a place where is processor and then execution of the 2. query Expression 2: uri-reference = url#fragment • Distributing the query into the locations of XML The url is Unique Recourse Locator that could be ex- documents and then return the result pressed via expression 3. It is known that functions fn:doc() and fn:put() that are Expression 3: url = sheme://host:port/path defined form XPath/XQuery recommendation brings From the expression 2, the fragment part in general data from distant server where is located XML docu- could be XPointer or other expression. In this paper the ment and makes possible execution of XPath/XQuery intention is to demonstrate the extention of expression using a processor. From paper [19] there XPath/XQuery for XLink hyperlinks, it was found the exist an implementation which use a number of XQuery first condition. processors that are located into different servers and Condition 1: fragment = xpathexpression together participating into execution of queries. This is This condition we will treat only cases where the frag- done using Extended Remote Procedure Call (XRPC) ment is XPath or in general and XQuery expressions. that is based on SOAP communication protocol that in This condition it is based on papers [1, 2] that it is used fact it is based on XML and with this brings to integra- during the extention of LDAP for query XML docu- tion of XQuery with Web Services. Using this method ments in presence of XLink hyperlinks. will lead to a complicated architechtur with distributed The extention of XPath/XQuery for XLink hyperlinks XPath/XQuery processors and these processors could could be done trying to extend id() function of XPath not be located into whole Web servers participating into with XQuery expressions. Internet. So, from the point of view of extending Expression 4: fragment = path1/id(parameter)/path2 XPath/XQuery for XLink hyperlinks we see this as a XPath id() function could be expressed using XQuery drawback. expressions like in expression 5. Expression 5: path1/id(parametri)/path2 = (for $priid 2.5.3 Using Logical model proposed by May and his in (path1) colegues: for $posid in The logical model proposed from Woflgang may and (/path2/parent::node()) his colegues [9] is an extention of XLink from the data- where base perspective of XML documents in presence of $priid/parametri=$posid/attribute::node() XLink hyperlinks. The model adds new attributes other return ($posid) thatn XLink recommendation’s attributes. With new where $priid and $posid are XQuery variables. semantic it is made possible to query XML documents Although the expression 5 could be taken into account containing XLink hyperlinks with XPath/XQuery ex- for extending XPath/XQuery and for XLinks but also it

ISSN: 1109-2750 1755 Issue 10, Volume 7, October 2008 WSEAS TRANSACTIONS on COMPUTERS LULE AHMEDI and MENTOR ARIFAJ

contains some drowbacks. Among otherse these drow- backs are: Algorithm (ProcessingXLink(S)) • Expression 5 already exists • Partial extenction, just for id() function Let S be a query expression So, if it would continue the extention basen on expres- Let B be an indicator of the presence of (@xlink:href) sion 5, it would be considert more like a simulation of // Initialize B to False something that already exist rather than a contribution B = False that ofering new approach. If ( S contains (@xlink:href) ) 3.1 XPath/XQuery processor awareness about Let S1 = S (part before @xlink:href with added XLink hyperlinks “/string(@xlink:href)” ) XML documents could be present with data model with Let S2 = S (part after @xlink:href) tree of nodes. The nodes could be child or attribute of Let B = True an XML document. With presence of XLink hyperlinks Else in XML documents the tree data model could be ex- // everything remains as in Saxon-B panded in model of oriented graph with circles. It is yet End If-Else possible for XPath/XQuery expressions to navigate be- tween nodes of the graph [6]. If ( B == True ) Definition 1: XML data model in presence of XLink Let A be the array of results from processing hyperlinks is not a tree but it is a graph with intercon- of S1,which could have 0, nected nodes of children/attributes and additional type 1 or more members with values of of arcs that allow to refere to local or distant part of @xlink:href attribute, nodes in the graph. /* Connections between XML documents distributed into Array A content could be like: the Web are realized using the xlink:href attribute. A[0]=“http://.. /file0.xml#xpathexpression[0]” Condition 2: For exectution of query expressed with A[1]=“http://..//file1.xml#xpathexrpession[1]” XPathXQuery expression for XML documents in pres- … ence of XLink hyperlinks nodes that contains href at- A[n-1]=“http://..//file(n- tribute must be presented into that query with the 1).xml#xpathexpression[n-1]” @xlink:href attribute n is the total number of members of A) Conditions 1, 2 and definition 1, present the base of or in general A[i] = uri[i]#xpathxpression[i] new model of extention of XPath/XQuery for XLink */ hyperlinks. Condition 2 is based on logical model of presenting For (i = 0, i < n, i++) XML documents with definition 1 and shows that for A[i] = A[i] & S2 connecting with documents of distant resources, it is A[i] = Separate(A[i]) used xlink:href attribute during formulation of query ProcessingXLink (A[i]) and with this the processor will follow the attribute axis End For for realizing the query. End If Condition 2 could be illustrated with expression 6. Figure 1: ProcessingXLink procedure part of the exten- Expression 6: tion of XPath/XQuery for XLink hyperlinks //xpath1/xpath2/…/xpathk[@xlink:href]/…/xpathn Part xpathk of the query in expression 6 tells the proc- Also in figure 2 it is presented the simple algorithem of essor to follow the attribute axis to proceed with proc- deviding the url part from fragment part of the value in essing the query. xlink:href attribute. To understand more the new model especially the con- dition 2 it is presented the algorithem which deals with Algorithm Separate(C) extention of XPath/XQuery processors for XLink hy- Let C be a string of the form C = url#xpathexpression perlinks based on conditions 1 and 2 and also on defini- Let U= url // first part of argument C tion 1. Let X = xpathexpression // second part of argu- ment

ISSN: 1109-2750 1756 Issue 10, Volume 7, October 2008 WSEAS TRANSACTIONS on COMPUTERS LULE AHMEDI and MENTOR ARIFAJ

return X presence of XLink hyperlinks. like url = http://localhost/Mondial- Distributed//countries.xml#//countries/country[@car_c ode='MK']" xmlns:xsi="http://www.w3.org/2001/XMLSchema- ode='YU']" borderlength="287"/> Albania 3249136 1.34 Greece 49.2 410055 16 emerging democracy The new proposed model and the algorithem will be Greeks XML database [11] with different XML documents Albanian Muslim Expression 7: Query Mondial database to find all Al- Roman banian cities. The query based on contions1 , 2 and de- Catholic finition 1 is: Albanian S=“http://localhost/Mondial- Orthodox Distributed/countries.xml# Expression 8: S1 = aim that the query S1 to return the values of the attrib- ute in the attribute notes that query takes into account.

ISSN: 1109-2750 1757 Issue 10, Volume 7, October 2008 WSEAS TRANSACTIONS on COMPUTERS LULE AHMEDI and MENTOR ARIFAJ

Remain part of the query S is given with the expression xmlns:xlink="http://www.w3.org/1999/xlink" 9. xmlns:dbxlink="http://dbis.informatik.uni- Expression 9: S2=”/name” goettingen.de/linxis">Durres In presence of attribute xlink:href the B indicator from Vlore into A[n] array. The array will contain zero, one or Elbasan Distributed/Cities/cities-AL.xml#//cities/city” Korce Expression 12: A[0] = http://localhost/Mondial- Figure 3: Result from execution of query from expres- Distributed/Cities/cities-AL.xml#//cities/city/name sion 7 Now the processing will continue with the algorithem Separate shown in figure 2 which is called from the al- gorithm ProcessingXLink from figure 1. The recursive form of the algorithem expressed in fig- With the algorithem Separate will have the result in ex- ure 1 makes possible execution of the expression of the pression 13. query in more general form like in expression 14. Expression 13: A[0]=”//cities/city/name” Expression 14: Query expressed with expression 13 will be executed in //xpath1/xpath2/…/xpathk[@xlink:href]/…/xpathl[@xli the cities-AL.xml and as there are no attribute nk:href]/ @xlink:href there will be the query in a XML document …/xpathm[@xlink:href]/…/xpathn just like XPath/XQuery without XLink hyperlinks. The From the mean that an XML document can refer to an- result of the expression 13 is shown in figure 3. other XML document and these refered XML docu- ments can refer to other XML documents, the xpathk and xpathl could be in different XML documents that Tirane logical model Shkoder querying that are so called “pathological cases”. These

ISSN: 1109-2750 1758 Issue 10, Volume 7, October 2008 WSEAS TRANSACTIONS on COMPUTERS LULE AHMEDI and MENTOR ARIFAJ

• Link bombs • Oscillators • Infinite horizont grow It is expected to be treated these pathological cases from the new proposed model of extending XPath/XQuery for XLink hyperlinks. A detail treated of these cases it is not yet done and it can be seen as a fu- ture work.

4. Implementation of the model In order to materialize the new data model that extends Figure 4: Prototype BOTA XPath/XQuery for XLink hyperlinks, it is used well- known processor Saxon-B[13]. Saxon-B is an open 5. Further work and conclusion source processor written from company Saxonica which In the previous chapters are given the description of the offers and a commercial version named Saxon-SA, too. model and implementation for query XML documents This processor is realized in Java and using IKVM with XPath/XQuery expressions in presence of XLink .NET [8] tool it is possible to use Saxon in Microsoft hyperlinks. .NET and Mono. Saxon-B is on of pioneer implementa- tion of XSLT 2.0, XPath 2.0 and XQuery 1.0[23] and 5.1 Related work now it could be finding with version Saxon 9.1. Differ- It is said that new model it is based on conditions 1, 2 ence between Saxon-B and Saxon-SA is that Saxon-SA and definition 1. Condition 1 makes limitation of use of is a schema awareness processor and more detail fea- XPath query instead XPointer and other expressions tures of these versions could be found in official web that could be used in fragment part of the uri expression site of the Saxonica [14]. during creation of hyperlinks. Condition 2 makes the Saxon-B it is known as in-memory processor that awareness of the XPath/XQuery processors for the means that for query XML document first the document presence of XLink hyperlinks. The extention of the it is loaded in memory and then executes the query. XPath/XQuery processors is given with algorithm in Like Saxon-B are Xalon and Galax processors, too. figure 1. Another feature of Saxon-B is that it is in group of pro- Based on investigations there are already two imple- cessors that do not require being in server, it means mentations that extend XPath/XQuery to process and non-server based processor [6] and it could be used to XLink hyperlinks in XML documents. query XML files in a stand alone computer or in the On implementation is extension of LDAP system [1, 2] Web. As a stand alone processor Saxon-B can be used to execute XPath queries in XML documents in pres- easily in different applications. ence of XLink hyperlinks. For this extention it is said that XPath queries are mapped to the data model that 4.1 Extention of Saxon-B uses LDAP. The data model used for LDAP is non Realizing extention of Saxon-B to support XML data model. This extention is important that XPath/XQuery expressions and for XLink hyperlinks it makes possible access and query of XML files into dif- is used the source code of saxon-recources9-0-0-1[13] ferent locations like in servers of an organization or version. Extention is done based on conditiona 1, 2 and servers into Internet. The difference between model definition 1. The code is added into Saxon-B based on used for extention of LDAP and new model is clear. algorithem in figures 1 and 2. The new model is an XML based data model whereas The extention of Saxon-B it is named BOTA (from Al- LDAP as it is said uses other data model than XML. banian means “World”) and this prototype was realized The model proposed from Wolfgang May and his cole- using NetBeans 6.0.1[12]. gues [9] it is based on XML data model. In they model Where it is used from application prototype BOTA they extend XLink with new semantics with new attrib- looks like in figure 4. utes that makes possible for processors to follow XLink hyperlinks during processing the XML documents. They materialize their model extending eXist an XML database system. As both extentions are native XML,

ISSN: 1109-2750 1759 Issue 10, Volume 7, October 2008 WSEAS TRANSACTIONS on COMPUTERS LULE AHMEDI and MENTOR ARIFAJ

the differences can be seen in the way how thay follow is possible to use prototype BOTA for RSS [20], to se- hyperlinks and where to use their implementations. lect hyperlinks with a criteria and not the whole content. New model proposed in section 3, followes hyperlinks Although it is easy to say, the prototype BOTA can be explicitly whereas the other model follows hyperlinks used on future search engines in the Web. implicitly via the added attributes. Also the differences can be seen on the implementations. Extended eXist can 5.3 Conclusion be used on XML database systems whereas BOTA can The contribution of the extention described in this pa- be used in Web applications. pery will be summarized as follows: • There is a new model for extending 5.2 Futur works XPath/XQuery for XLink hyperlinks and is an alterna- The prototype BOTA has just came out and to achieve tive model of existing models the finel goal i.e. using prototype BOTA in the real • An implementation with extention of Saxon-B Web applications it will need to consider some future processor, the extended processor is named BOTA works. • Except Saxon-B there are many implementations These works can be categories in of XPath/XQuery that could follow the new model in • technical works order to support and XLink hyperlinks during query • future works XML documents with XPath/XQuery expressions. Even the XLink recommendation is since 2001, from 5.2.1 Technical works the prespective of database and applications the rec- In this category of works are works that are related al- ommendation is in evolving phase. most directly to the prototype BOTA. XML documents can be every where into the Web and As on of the works could be seen the feasibility of the with XLink hyperlinks can create relations between prototype BOTA in the realy Web. In the illustrated these documents in order to refer meaning content examples in the session 3 it could be seen that the pre- without the need to create redundant data where the liminary tests for the prototype BOTA is done using same data can be found into the Web. These hyperlinks XML documents distributed into a local networks, whe- in case of querying XML documents can tell processors reas testing the feasibility of the Bota into Web remains the way where should be find another XML document as a nearess technical work. to continue the process of querying. Furthermore the tests are done using XLink simple hy- Except two already mentioned models the paper pre- perlinks and as a planned test could be done using sents one new approach of extending XPath/XQuery for XLink extended hyperlinks, it is clear that the proposed XLink hyperlinks. The model is so formulated that the model could be changed or could be more extended query should contain the attribute @xlink:href with the while taking into account and extended XLink hyper- nodes that contain the attributes in order to aware the links. processor for the presence of XLink hyperlinks. Also as a technical work are considered treating the pa- Based on preliminary tests the prototype and the model thological cases. As the oriented graph data model can it is shown that is functional and could be considered contain cycles between nodes it is desirable that the for the technical and future works in order to achive the prototype BOTA to detect these cycles and to inform maturity and it use into the Web. the applications that the formulated query enters into a cycle between two or more nodes. References:

5.2.2 Future works [1] L. Ahmedi, Global Access to Interlinked XML Data As the prototype BOTA it is built using Saxon-B proc- Using LDAP and Ontologies, PhD dissertation from essor, the processor which is easly adoptable in differ- Albert-Ludwigs, Freiburg, 2001 ent Web applications and as the initial tests shows that [2] L. Ahmedi, Making XPath Reach for the WebWide the prototype is functional, BOTA can be used to be Links, SAC’05 Santa Fe, New Mexico, USA, ACM integrated into Web applications and Web Services 1581139640/05/0003, 2005 [21]. In Web, BOTA will make possible to select some- [3] F. Bry and M. Eckert, Processing Link Structures thing narrow that the content of the XML document. It and Linkbases in the Web’s Open World Linking,

ISSN: 1109-2750 1760 Issue 10, Volume 7, October 2008 WSEAS TRANSACTIONS on COMPUTERS LULE AHMEDI and MENTOR ARIFAJ

HT’05, Salzburg, Austria. ACM 1595931686/05/0009, [13] Saxon-B source code web site: 2005 http://saxon.sourceforge.net/ [4] E. Behrends, Evaluation of Queries on Linked Dis- [14] Saxonica: http://www.saxonica.com/ tributed XML Data, PhD dissertation from Mathemati- [15] J. Simpson, XPath and XPointer, O’Reilly, ISBN:0- cal-Natural Science of George-August, University of 596-0029-2, 2002 Gottingen, 2006 [16] E. Wilde, D. Lowe. XPath, XLink, XPointer, and [5] M. Eckert, Processing Hypertext Links after XLink, XML: A Practical Guide to Web Hyperlinking and Project Work within the frames of the Advanced Practi- , Addison Wesley, ISBN: 0-201-703440, cal Work, Institute of Informatics, University of Lud- 2002 wig Maximilians, Munchen, 2004 [17] W3C XLink implementation’s web site: [6] O. Fritzen. Modeling and Querying of Distributed http://www.w3.org/XML/Linking XML Data in Presence of 3rd Party Links, PhD disserta- [18] W3C XPath/XQuery implementation’s web site: tion from Mathematical-Natural Science of George- http://www.w3.org/XML/Query/ August, University of Gottingen, 2007 [19] Y. Zhang and P. Boncz, XRPC: Interoperable and [7] K. Gwiazda and P. Kazienko, Information Systems Efficient Distributed XQuery, VLDB’07, Vienna, Aus- Architecture and Technology ISAT 2001. Proceedings tria, ACM, 2007 of the 23rd Inernational Scientific School. Grzench A., [20] G. Vossen, S. Hagemann, Unleashing Web 2.0: Wilimowska Z. (eds), Wrclow, pp. 132-139, 2001 From Concepts to Creativity, Morgan Kaufmann, 2007 [8] IKVM.NET, Java into Microsoft .NET and Mono, [21] Alonso, G., F. Casati, H. Kuno, V. Machiraju: Web http://www.ikvm.net/. Services. Concepts, Architectures and [9] W. May, E. Behrends and O. Fritzen. Integrating Applications. Springer Verlag, Berlin, 2004 and Querying Distributed XML Data via XLink, Infor- [22] L. Ahmedi and M. Arifaj, Processing mation Systems, to appear, 2008 XPath/XQuery to be Aware of XLink Hyperlinks, Pro- [10] J. Marsh and D. Orchard, XML Inclusions (XIn- ceedings of the 2nd EUROPEAN COMPUTING CON- clude) Version 1.0, W3C Recommendation 20 Decem- FERENCE (ECC’08), ISBN: 978-960-474-002-4, pp. ber 2004. 217-221, Malta, September 2008 [11] Mondial database, http://www.dbis.informatik.uni- [23] M. Kay. XPath(tm) 2.0 Programmer’s Reference, goettingen.de/ Mondial/#XML eISBN: 0-764-57756-5, Wiley Publishing, Inc., 2004 [12] NetBeans 6.0.1, www.netbeans.org

ISSN: 1109-2750 1761 Issue 10, Volume 7, October 2008