1 Introduction
Note:
For new functionality information, see What's New guide.With the current version of XML Export, an application can access documents through a C, Java, or .NET API. Included with XML Export is the powerful Flexiondoc schema.
There may be references to other Outside In Technology SDKs within this manual. To obtain complete documentation for any other Outside In product, see Middleware documentation page and click Outside In Technology link below.
This chapter includes the following sections:
1.1 What Does This Technology Do?
XML Export can normalize all of a document's content to the Flexiondoc schema, provided in the form of a DTD and an XML schema.
Note:
All XML Export output formats are UTF-8 encoded Unicode text.
1.1.1 Flexiondoc Schema
The Flexiondoc schema is designed to provide extremely dense, rich XML versions of input documents, enabling powerful applications such as document assembly, portals and content management systems.
Here are some of the schema's primary features:
-
Translation of documents to XML, with all characters translated to Unicode
-
A common interface to more than 600 file formats
-
Access to document properties
-
Support for word processor, spreadsheet, graphic, and archive formats
-
Support for embeddings
-
Special tags are created for hyperlinks, bookmarks, and sub-documents
1.2 Architectural Overview
The basic architecture of Outside In technologies is the same across all supported platforms:
Filter/Module | Description |
---|---|
Input Filter |
The input filters form the base of the architecture. Each one reads a specific file format or set of related formats and sends the data to OIT through a standard set of function calls. There are more than 150 of these filters that read more than 600 distinct file formats. Filters are loaded on demand by the data access module. |
Export Filter |
Architecturally similar to input filters, export filters know how to write out a specific format based on information coming from the chunker module. The export filters generate XML. |
Export |
The Export module implements the export API and understands how to load and run individual export filters. |
Data Access |
The Data Access module implements a generic API for access to files. It understands how to identify and load the correct filter for all the supported file formats. The module delivers to the developer a generic handle to the requested file, which can then be used to run more specialized processes, such as the Export process. |
Schema |
Schemas provide a means for defining the structure, content and semantics of XML documents. XML Export ships with the Flexiondoc schema. Schemas can be presented in the form of a DTD (Document Type Definition) or XML Schema (schema). The Flexiondoc schema is provided in both forms. |
1.3 Definition of Terms
The following terms are used in this documentation.
Term | Definition |
---|---|
Developer |
Someone integrating this technology into another technology or application. Most likely this is you, the reader. |
Source File |
The file the developer wishes to export. |
Output File |
The file being written: FlexionDoc, XML, GIF, JPEG, and PNG. |
Data Access Module |
The core of Outside In Data Access, in the SCCDA library. |
Data Access Submodule (also referred to as "Submodule") |
This refers to any of the Outside In Data Access modules, including SCCEX (Export), but excluding SCCDA (Data Access). |
Document Handle (also referred to as " |
A Document Handle is created when a file is opened using Data Access (see Data Access Common Functions). Each Document Handle may have any number of Subhandles. |
Subhandle (also referred to as " |
Any of the handles created by a Submodule's |
1.4 Directory Structure
Each Outside In product has an sdk directory, under which there is a subdirectory for each platform on which the product ships (for example, xx/sdk/xx_win-x86-32_sdk). Under each of these directories are the following two subdirectories:
-
redist - Contains only the files that the customer is allowed to redistribute. These include all the compiled modules, filter support files, .xsd and .dtd files, cmmap000.bin, and third-party libraries, like freetype.
-
sdk - Contains the other subdirectories that used to be at the root-level of an sdk (common, lib (windows only), resource, samplefiles, and samplecode (previously samples). In addition, one new subdirectory has been added, demo, that holds all of the compiled sample apps and other files that are needed to demo the products. These are files that the customer should not redistribute (.cfg files, exportmaps, etc.).
In the root platform directory (for example, xx/sdk/xx_win-x86-32_sdk), there are two files:
-
README - Explains the contents of the sdk, and that makedemo must be run in order to use the sample applications.
-
makedemo (either .bat or .sh – platform-based) - This script will either copy (on Windows) or Symlink (on Unix) the contents of …/redist into …/sdk/demo, so that sample applications can then be run out of the demo directory.
1.4.1 Installing Multiple SDKs
If you load more than one OIT SDK, you must copy files from the secondary installations into the top-level OIT SDK directory as follows:
-
redist – copy all binaries into this directory.
-
sdk – this directory has several subdirectories: common, demo, lib, resource, samplecode, samplefiles. In each case, copy all of the files from the secondary installation into the top-level OIT SDK subdirectory of the same name. If the top-level OIT SDK directory lacks any directories found in the directory being copied from, just copy those directories over.