# Architectural Overview

The general architecture of the KeyView XML conversion technology is the same across all supported platforms and is illustrated in the following diagram:

XML Export Architecture

Each component is described in the following table.

Architectural Components

Component | Description
--- | ---
Developer's Application | The developer's application interfaces directly with the XML Export API through either a C or Java implementation.
File Extraction API | The File Extraction API opens a file and extracts the file's subfiles so that the subfiles are available for conversion. See Use the File Extraction API.
XML Export API | The XML Export API exposes the functionality of XML Export and controls all other XML Export modules during the conversion process.
Format Detection Module | The format detection module determines the file type of the source file, which enables the XML Export interface to load the appropriate structured access layer module and document reader. See File Format Detection.
Structured Access Layer | The structured access layer contains three modules: one for word processing, one for spreadsheets, and one for presentations and graphics. Information from the format detection module determines which access layer module operates at this stage of the conversion. The structured access layer performs the following: Loads the appropriate document reader. Processes the data stream from the document reader. Determines table of contents entries. Sends the stream to the appropriate XML writer. Accepts the XML stream from the XML writer. Generates the XML output file with a table of contents, metadata, and the document's contents, and sends it to the XML Export interface.
Document Reader | Each document reader reads a specific file format and sends a text stream of the document to the structured access layer. Word processing readers return a token stream to the structured access layer. A token stream contains the document contents and messages (tokens) that precede the content and identify the type of information that follows them. Each reader is loaded as required by the structured access layer. See Document Readers and Writers for a complete list of document readers.
HTML Writers | Each XML writer accepts a text stream or token stream from the structured access layer and generates an equivalent XML stream that is sent back to the structured access layer. The structured access layer then generates the output file. See Document Readers and Writers for a list of format writers.

_FT_HTML5_bannerTitle.htm