XML data can be modelled by typed functions. With the functional data model we can simulate elements and attributes both in ordered and unordered versions.
We introduce a framework for manipulating typed XML data - the language XML-lambda.