# Okapi Framework - Filters ## IDML Filter (ALPHA)
- Overview - Processing Details - Parameters |
Filters | Developer's Guide | Okapi Framework

If you are using an Okapi Tool after the M9 release, you should be using the wiki online help:
http://www.opentag.com/okapi/wiki/index.php?title=IDML_Filter

## Overview

The IDML Filter is an Okapi component that implements the `IFilter` interface for Adobe InDesign IDML documents. The filter is implemented in the class `net.sf.okapi.filters.idml.IDMLFilter` of the Okapi library.

This first filter is actually a wrapper that internally calls a second filter: The IDMLContentFilter is an Okapi component that implements the `IFilter` interface for raw IDML XML files. That filter is implement in the class `net.sf.okapi.filters.idml.IDMLContentFilter` of the Okapi library.

This way you can process normal IDML documents, or directly the raw Story XML documents if needed.

## Processing Details

### Encodings

The input encoding is automatically detected.

Any user-specified encoding is ignored by these filters. they always use UTF-8.

### Line-Breaks

The type of line-breaks of the output is always set to a simple linefeed (LF).

### Sub-Documents

An IDML documents is a ZIP package called UCF (Universal Container Format) and is made of many different documents inside. For example each story of the document is stored in a separate story file in the `Stories` sub-folder of the package.

All the different embedded files are treated as sub-documents by the filter. This means that, for example, when represented in XLIFF, a single IDML extracted to a single XLIFF document can be made up of many `<file>` elements.

## Parameters

TODO