13.07.2015 Views

WWW/Internet - Portal do Software Público Brasileiro

WWW/Internet - Portal do Software Público Brasileiro

WWW/Internet - Portal do Software Público Brasileiro

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ISBN: 978-972-8939-25-0 © 2010 IADISmay become prohibitive. A possible solution would be the use of XQuery [XQuery, 2007] or XPath [XPath,1999] for recovering information structured on XML. The first one consists of a query language for XMLdata, just like SQL is for relational data, while the second one allows exploring the nodes of the tree basedstructure of XML <strong>do</strong>cuments. According to [Harold et. al., 2004], XPath is a language to capture nodes andnodes groups of this tree. However, as we will discuss in Section 2, these languages appear to be insufficientwhen interconnected XML data are queried. It demands, therefore, a language whose properties arespecialized on the treatment of this link network. In Section 6, we will investigate the solutions created withthis purpose. Nevertheless, we will show that the deficiencies and restrictions presented by them justify thecreation of the language proposed in this paper.In this paper, we propose XLPath (XML Linking Path Language), a language that is based on queryexpressions, is similar to XPath, and has been designed for navigating in an extended link network of XML<strong>do</strong>cuments. This language allows the elements that compose the networks to be accessed according torefining criteria defined by users. This paper is organized as follows. In Section 2, the concepts aboutextended links and the limitations of XQuery and XPath to manipulate these links are presented. Thespecification of XLPath language is presented in Section 3 and its processor is detailed in Section 4. A casestudy based on a XBRL <strong>do</strong>cument is discussed in Section 5. In Section 6, corelated studies are evaluatedregarding their limitations and advantages. At last, this paper conclusion is in Section 7.2. EXTENDED LINKS AND ACTUAL BOTTLENECKSIn this section, we will discuss concepts inherent to extended links, showing an example, Figure 1, which willbe used through the whole paper to explain XLPath. It will also be discussed the restrictions that happen incurrent W3C [W3C, 2010] standard languages to the navigation and query in XML <strong>do</strong>cuments.XLink provides two types of links. The first one, the simple type, may be considered as a simplificationof the extended link. A simple link associates exactly two resources, one local and one remote, with an arcgoing from the former to the latter. The second type corresponds to the extended links, which allow theconnections creation: (i) outbound – in which the source resource is local and the destiny resource is remote;(ii) inbound – when the source resource is remote and the destiny resource is local; and, (iii) third-party –when both, source and destiny, are remote. In this case, separated <strong>do</strong>cuments are created, called linkbases, inwhich the links are grouped. Using extended links it is possible to associate an arbitrary number of resources.In order to provide such flexibility, the structure of extended links contains elements that: (1) point to remoteresources through an URI – xlink:type=”locator”; (2) consist of local resources - xlink:type=”resource”, usedfor encapsulating information inside the link; (3) define arc traversing rules - xlink:type=”arc”. An arcconnects two resources and provides information about the link traversing, such as the navigation directionand the application behavior regarding the traversing; and (4) provides descriptive information regarding thelink - xlink:type=”title”. In this paper, the terms locator, resource, arc and title refer to the homonym typesub-elements.Figure 1 illustrates a code excerpt for an extended link of the type third-party. This code was extractedfrom the XBRL taxonomy of project COREP [COREP, 2005], an initiative of CEBS (Committe of EuropeanBanking Supervisors) to provide a framework of financial reports for some institutions from European Union.In this code, locators were declared to refer the elements d-ba_BankingActivitiesDomain, d-ba_TotalBankingActivities and d-ba_TotalBankingActivitiesSubjectBIA, found in the scheme d-ba-2006-07-01.xsd. In addition, arcs are used to establish relationships of the type <strong>do</strong>main-member between theseelements. In virtue of the increasing usage of XML as a mean for storing data, query languages carry out abase role, allowing access to data and metadata that compose the semi-structured data files. However manylanguages with this purpose exist, as XQL [Robie et al., 1999] and XML-QL [Deutsch et al., 1998], thelanguages constructed by W3C, XQuery and XPath, attend the main needs of access to databases and XML<strong>do</strong>cuments. The main use of XQuery is the performance of queries to data stored in native XML data bases.The XPath use query expressions called location path, which determine a navigation path between the<strong>do</strong>cument parts, called nodes, exploring the relationships characteristic of the tree formed by these nodes (e.g. parent, child, sibling). In extended links case, once they are XML base data, it is possible to explore themunder the nodes tree perspective through XPath. Figure 2 shows a simplified nodes tree (without theattributes) that characterizes the extended link of Figure 1.90

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!