The multifocal package

[Tags: bsd3, library, program]

Library that implements a two-level transformation ( for creating bidirectional views of XML Schemas based on bidirectional lenses. It supports the specialization of generic queries as two-level transformation steps and the optimization of the generated lens data transformations.

[Skip to ReadMe]


Change logNone available
Dependenciesarray, base (==4.*), containers, haskell-src-exts (>=1.11.1), HaXml (>=1.22.5), hxt (>=9.1.5), hxt-xpath (>=9.1.1), mtl (>=1), parsec (>=3.1.2), pointless-haskell (>=0.0.8), pointless-lenses (>=0.0.9), pointless-rewrite (>=0.0.3), pretty (>=, process, syb (>=0.3) [details]
AuthorHugo Pacheco <>, Alcino Cunha <>
MaintainerHugo Pacheco <>
UploadedThu Jan 26 13:44:54 UTC 2012 by HugoPacheco
Downloads247 total (1 in last 30 days)
0 []
StatusDocs not available [build log]
All reported builds failed as of 2015-11-13 [all 6 reports]



Maintainers' corner

For package maintainers and hackage trustees

Readme for multifocal-0.0.1


This cabal package can be installed with:

$ cabal install multifocal

For a manual install, execute:

$ runhaskell Setup.lhs configure
$ runhaskell Setup.lhs build
$ runhaskell Setup.lhs install

For an example, try running the following steps:

1) generate a target XML Schema file and an optimized lens executable from the source XML Schema file imdb.xsd according to the transformation imdb.2lt.

$ multifocal -i examples/imdb.xsd -t examples/imdb.2lt -o examples/imdb2.xsd -c examples/Imdb.hs -e

2) compile the resulting file

$ ghc --make examples/Imdb.hs -o imdb

3) Migrate a source XML document into a target XML document

$ ./imdb -s examples/imdb.xml -f -o examples/imdb2.xml

4) Translate an updated target XML document back to the source

./imdb -s examples/imdb.xml -t examples/imdb2mod.xml -b -o examples/imdbmod.xml