Abstract

XML has been used to code various types of data in a wide range of application domains, and the volume of XML data has been rapidly increasing. XML query languages provide a clue to manipulating huge amounts of XML data. XML data in each application domain have their own structures and associated semantics. Therefore, to appropriately process them, we sometimes need domain dependent functions, taking into account content characteristics. To utilize such functions in XML queries, we need extensibility because they can not be covered by built-in functions. We have developed eXtensible XML Query Language X/sup 2/ QL and its processing system, which feature user-defined foreign functions in the context of XML-QL-based query facilities. Foreign functions are implemented using general programming languages. Extensibility is based on an XML data model in which elements are modeled as stateful objects. This gives dynamic aspects (concepts of methods and processing-time properties) to elements, which have been treated as static data in general XML query languages. Our extensibility also enables user-defined aggregation functions and facilities such as sort and top-N selection. This paper explains X/sup 2/QL and its extensibility. Focus is on the data model, Java binding of foreign functions, and how to implement them. The paper also describes development of an X/sup 2/QL query processor working with XML servers.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call