Latest 3.x Release
This documentation covers the latest release of the legacy 3.x Fedora. Looking for another version? See all documentation.
Fedora 4 Development
Looking for Fedora's currently active development?
FOXML is a simple XML format that directly expresses the Fedora Digital Object Model. Digital objects are stored internally in a Fedora repository in the FOXML format. In addition, FOXML can be used for ingesting and exporting objects to and from Fedora repositories.
On this page:
The introduction of FOXML was motivated by several requirements: (1) simplicity, (2) optimization and performance, and (3) flexibility in evolving Fedora. Regarding simplicity, user feedback called for a conceptually easy mapping of the Fedora concepts to an XML format. Users wanted an obvious sense of how to create Fedora ingest files, especially those who are not familiar with formats such as METS. Regarding optimization and performance, the FOXML schema was designed to improve repository performance, both at ingest and during disseminations. Overall ingest performance was positively affected with the introduction of FOXML, especially in the validation phases. Regarding flexibility, establishing FOXML as the internal storage format for Fedora objects enables easier evolution of functionality in the Fedora repository, without requiring ongoing extensions to other community formats.
At the highest level, the FOXML XML schema defines elements that correspond directly to the fundamental Fedora digital object components (see recent paper on Fedora). Below is a brief sketch of these elements.
The official version of the FOXML 1.1 XML schema can be found here. A copy of this schema is also provided with the Fedora distribution. Fedora validates all Fedora objects against this schema before objects are permanently stored in the repository.
An example is worth a thousand words. Therefore, we have provided two annotated example digital objects encoded in FOXML.
- FOXML Ingest Example - An example object suitable for ingest.
- FOXML Reference Example - An example object after is has been ingested.
The Fedora repository service is designed to be able to accommodate different XML formats for encoding digital objects through its ingest and export operations, available via the Fedora management service interface (API-M) and command-line tools.
Currently, Fedora supports ingest and export of objects in the following formats: