Menu

Tree [5c95e0] master /
 History

HTTPS access


File Date Author Commit
 API 2013-10-04 Sebastian Schaffert Sebastian Schaffert [5c95e0] moved old Xcerpt repository to GIT
 HXML 2013-10-04 Sebastian Schaffert Sebastian Schaffert [5c95e0] moved old Xcerpt repository to GIT
 Text 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 Xcerpt 2013-10-04 Sebastian Schaffert Sebastian Schaffert [5c95e0] moved old Xcerpt repository to GIT
 debian 2013-10-04 Sebastian Schaffert Sebastian Schaffert [5c95e0] moved old Xcerpt repository to GIT
 doc 2013-10-04 Sebastian Schaffert Sebastian Schaffert [5c95e0] moved old Xcerpt repository to GIT
 test 2013-10-04 Sebastian Schaffert Sebastian Schaffert [5c95e0] moved old Xcerpt repository to GIT
 .htaccess 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 AUTHORS 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 COPYING 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 COPYRIGHT.HXML 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 COPYRIGHT.HaXml 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 INSTALL 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 Makefile 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 Observe.lhs 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 README 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 Xcerpt.hs 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 Xcerpt.py 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 XcerptCGI.hs 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 XcerptDaemon.hs 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 XcerptInteractive.hs 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 convert.hs 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 haskell-powered.png 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 haskell-powered.xcf 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 make.bat 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 restricted-xcerpt.c 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 small-lambda.gif 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT
 xcerpt-powered.png 2013-10-04 Sebastian Schaffert Sebastian Schaffert [0ef335] moved old Xcerpt repository to GIT

Read Me

What is Xcerpt?
===============

Xcerpt is a declarative, rule-based query and transformation language for XML,
inspired by logic programming. Instead of the path-based navigational approach
taken by languages like XSLT and XQuery, Xcerpt uses pattern-based, positional
queries, where a pattern is an "example" of the database containing variables
for binding content.

Xcerpt is a research project at the Teaching and Research Unit for Programming
and Modelling Languages at the Ludwig-Maximilians University Munich. The core
language is developed by Sebastian Schaffert and François Bry, but the Xcerpt
Team consists of several other researchers working on related topics.

For more information, see http://www.xcerpt.org


Positional Selection 
--------------------

Widespread query languages for XML, like XQuery and XSLT, are based on a
navigational selection, in which the user needs to specify path navigations
through the data tree. In our opinion, this approach is rather well suited for
simple queries but tends to be very complicated for more complex queries. In
contrast, Xcerpt is based on a positional selection in which a user specifies an
incomplete pattern for the data tree in which the parts that are to be selected
are represented by variables. It is our conviction that such a pattern based
selection is more suitable to querying XML data.

Rule-based Querying
-------------------

Xcerpt programs in general consist of several rules. Each rule specifies a
transformation of a data tree (or graph) into a possibly different data tree
(graph). Like in logic programming, a rule may query the result of another rule
("rule chaining" or "inference").


About this Prototype
====================

This prototype serves as a testbed for experimenting with the Xcerpt language. As the
language is still in development, aspects may change, although the core syntax is more
or less fixed.

Feel free to use this prototype for experimenting with Xcerpt yourself. However, we
discourage the use of this software in a production environment and we do not make
guarantees that future versions of this prototype will be compatible with programs 
written for the current prototype.

The prototype is written in the functional, lazily evaluating programming language
Haskell, since it provides a high abstraction while still being reasonably efficient
with respect to speed and memory. Future versions of Xcerpt may be written in e.g. C,
but there is no schedule for this currently.



Now have fun,

Sebastian Schaffert, in the name of the Xcerpt Team
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.